Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to authenticate with Tumblr #349

Closed
Pleochism opened this issue Sep 18, 2022 · 8 comments
Closed

Unable to authenticate with Tumblr #349

Pleochism opened this issue Sep 18, 2022 · 8 comments
Labels
bug Something isn't working

Comments

@Pleochism
Copy link

Pleochism commented Sep 18, 2022

Describe the bug
When doing a Tumblr authentication, after logging in successfully and closing the popup, the UI does not indicate that login has succeeded. Any blogs that require authentication continue to say so.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Settings > Connection
  2. Click on '"Authenticate" next to Tumblr
  3. Log in by typing in a username and password
  4. Wait for the login to succeed
  5. Close popup

Expected behavior
I expect the UI to change to say "Logged in as XXX" and for blogs that require authentication to work.

Screenshots

Desktop (please complete the following information):

  • TumblThree version: 2.8.10
  • OS: Windows 10 Professional
  • Browser: Firefox
  • Version: 104.0.2

Additional context
I ran the app from the source code and traced the error to line 328 of LoginService.cs, called from line 1147 in SettingsViewModel.cs. The variable is null, which it returns, and thus the subsequent check for "are you logged in" fails.

This is what the ___INITIAL_STATE___ value looks like in the returned document (some tokens redacted):

{"cookieBootstrap":{},"routeSet":"main","routeUsesPalette":false,"routeHidesLowerRightContent":false,"routeName":"landing-page","isInitialRequestPeepr":false,"isInitialRequestSSRModal":false,"viewport-monitor":{"height":800,"width":1280},"chunkNames":["landing-page"],"queries":{"mutations":[],"queries":[]},"csrfToken":"[redacted]","apiUrl":"https:\u002F\u002Fwww.tumblr.com\u002Fapi","apiFetchStore":{"API_TOKEN":"[redacted]","extraHeaders":"{}"},"cspNonce":"[redacted]","languageData":{"code":"en_US","data":{},"timeZone":"Africa\u002FJohannesburg"},"configRef":{"saberKey":"[redacted]","saberEndpoint":"https:\u002F\u002Fsaber.srvcs.tumblr.com","cslEndpoint":"https:\u002F\u002Fwww.tumblr.com\u002Fservices\u002Fcslog","cslCookie":"anon_id=","cslPerformanceHeaders":"x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type","searchFilterDef":"top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio","fanPlacementId":"","nsfwScoreThreshold":"0.250000","displayIoMaxAdCount":"1","displayIoMaxAdLoadingCount":"1","displayIoPlacementId":"6188","displayIoTestPlacementId":"6189","displayIoInterscrollerDisplayTestPlacementId":"6993","displayIoInterscrollerVideoTestPlacementId":"6905","displayIoHeadlineVideoPlacementId":"7815","displayIoHeadlineVideoTestPlacementId":"7813","takeoverLogoUrl":"","flags":"w8F24LEB+WAAvl7lQ9T6szfzYxo=","lsFlushSize":"20","lsFlushTime":"30","lsPerfFlushSize":"20","lsPerfFlushTime":"30","autoTruncatePosts":"1"},"reportingInfo":{"host":"","token":"[redacted]"},"analyticsInfo":{"kraken":{"basePage":"SignupLogin","routeSet":"main","krakenBaseUrl":"","sessionId":"[redacted]","clientDetails":{"platform":"Redpop","os_name":"Windows","os_version":"10","language":"en_US","build_version":"4a494f0ffb3ae34f7f39bc0df53f14782570108c","form_factor":"Desktop","model":"","connection":"","carrier":"","browser_name":"Chrome","browser_version":"103.0.0.0"},"configRef":{"saberKey":"[redacted]","saberEndpoint":"https:\u002F\u002Fsaber.srvcs.tumblr.com","cslEndpoint":"https:\u002F\u002Fwww.tumblr.com\u002Fservices\u002Fcslog","cslCookie":"anon_id=","cslPerformanceHeaders":"x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type","searchFilterDef":"top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio","fanPlacementId":"","nsfwScoreThreshold":"0.250000","displayIoMaxAdCount":"1","displayIoMaxAdLoadingCount":"1","displayIoPlacementId":"6188","displayIoTestPlacementId":"6189","displayIoInterscrollerDisplayTestPlacementId":"6993","displayIoInterscrollerVideoTestPlacementId":"6905","displayIoHeadlineVideoPlacementId":"7815","displayIoHeadlineVideoTestPlacementId":"7813","takeoverLogoUrl":"","flags":"w8F24LEB+WAAvl7lQ9T6szfzYxo=","lsFlushSize":"20","lsFlushTime":"30","lsPerfFlushSize":"20","lsPerfFlushTime":"30","autoTruncatePosts":"1"}}},"tumblelogAuthToken":undefined,"adPlacementConfiguration":{"signature":"dda1b75c6949ab2b","placements":{"teadsHydraSource":{"adSource":"teads","adPlacementId":"92179","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsTestHydraSource":{"adSource":"teads","adPlacementId":"61820","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"flurryHydraSource":{"adSource":"flurry","adPlacementId":"fb98eb47-264a-4517-ac94-a3be4fe186f3","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"oneMobileHydraSource":{"adSource":"one_mobile","adPlacementId":"tumblr_300x250__tier_2","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"iponwebMrecHydraSource":{"adSource":"iponweb","adPlacementId":"","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsDashboardTop":{"adSource":"teads","adPlacementId":"92179","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsDashboard":{"adSource":"teads","adPlacementId":"118034","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"googleNativeDashboardHydraSource":{"adSource":"google_native","adPlacementId":"\u002F22749103964\u002Fca-pub-3245570501173456-tag","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"googleRewardedPremiumHydraSource":{"adSource":"google_rewarded","adPlacementId":"\u002F22749103964\u002Frewarded-ad-web","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1}}},"privacy":[],"endlessScrollingDisabled":undefined,"bestStuffFirstDisabled":undefined,"colorizedTags":undefined,"autoTruncatingPosts":true,"timestamps":undefined,"communityLabelVisibilitySetting":undefined,"labsSettings":[],"wwwBaseUrl":undefined,"isLoggedIn":{"isPartiallyRegistered":false,"isLoggedIn":false,"isAdmin":undefined},"recaptchaV3PublicKey":{"value":"6Ld2ca0UAAAAAKzttOGcjomH-5rBIJesbQrCZtfB"},"obfuscatedFeatures":"[redacted]","browserInfo":{"userAgent":{"ua":"Mozilla\u002F5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\u002F537.36 (KHTML, like Gecko) Chrome\u002F103.0.0.0 Safari\u002F537.36","browser":{"name":"Chrome","version":"103.0.0.0","major":"103"},"engine":{"name":"Blink","version":"103.0.0.0"},"os":{"name":"Windows","version":"10"},"device":{"vendor":undefined,"model":undefined,"type":undefined},"cpu":{"architecture":"amd64"}},"deviceType":"desktop","isSupported":true,"isCrawler":false},"sessionInfo":{"id":"[redacted]"},"cssMapUrl":"https:\u002F\u002Fassets.tumblr.com\u002Fpop\u002Fcssmap-e06c6cbb.json"}

And this is the full page content, including the above:


<!doctype html>
<html lang="en-US">
  <head>
    <meta data-rh="" charSet="utf-8"/><meta data-rh="" name="viewport" content="width=device-width, initial-scale=1"/><meta data-rh="" name="msapplication-TileColor" content="#001936"/><meta data-rh="" name="msapplication-TileImage" content="https://assets.tumblr.com/pop/manifest/mstile-150x150-b040e390.png"/><link data-rh="" rel="shortcut icon" href="https://assets.tumblr.com/pop/manifest/favicon-0e3d244a.ico" type="image/x-icon"/><link data-rh="" rel="icon" href="https://assets.tumblr.com/pop/manifest/favicon-cfddd25f.svg" type="image/svg+xml" sizes="any"/><link data-rh="" rel="mask-icon" href="https://assets.tumblr.com/pop/manifest/safari-pinned-tab-ad5440dd.svg" color="#001935"/><link data-rh="" rel="apple-touch-icon" sizes="180x180" href="https://assets.tumblr.com/pop/manifest/apple-touch-icon-873b11b4.png"/><title data-rh="">Tumblr</title><meta data-rh="" name="description" content="Pure hellsite effervescence. Home of Reblogs. All the art you never knew you needed. Your new fandom communities. Add to it or scroll through and soak it up."/><meta data-rh="" name="keywords" content="tumblelog, blog, tumblog, tumbler, tumblr, tlog, microblog"/><meta data-rh="" name="twitter:card" content="app"/><meta data-rh="" name="twitter:site" content="@tumblr"/><meta data-rh="" name="twitter:app:id:iphone" content="305343404"/><meta data-rh="" name="twitter:app:id:ipad" content="305343404"/><meta data-rh="" name="twitter:app:id:googleplay" content="com.tumblr"/><meta data-rh="" property="og:title" content="Tumblr"/><meta data-rh="" property="og:description" content="Pure hellsite effervescence. Home of Reblogs. All the art you never knew you needed. Your new fandom communities. Add to it or scroll through and soak it up."/><meta data-rh="" property="og:site_name" content="Tumblr"/><meta data-rh="" property="og:type" content="website"/><meta data-rh="" name="theme-color" content="rgb(0, 25, 53)"/>
    <link rel="preload" type ="font/woff2" href="https://assets.tumblr.com/pop/src/assets/fonts/favorit/favorit-medium-fbc7316f.woff2" as="font" crossorigin />
    <link rel="preload" type ="font/woff2" href="https://assets.tumblr.com/pop/src/assets/fonts/favorit/favorit-85-cf2f6136.woff2" as="font" crossorigin />
    <link rel="preconnect" href="https://64.media.tumblr.com" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/css/main-6596cff7.css" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/8236-dd590cc5.css" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/9347-b6a39df9.css" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/554-7642957f.css" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/2039-7f3a7f81.css" />
    <link rel="stylesheet" type="text/css" href="https://assets.tumblr.com/pop/landing-page-12aa89d9.css" />
    <link rel="manifest" href="https://assets.tumblr.com/pop/manifest/manifest-f4317ada.json" />
    <script type="text/javascript" async  nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI=">window.__tcfapi=function(){let e=[].slice.call(arguments),t=e[0],n=e[2];"ping"===t?"function"==typeof n&&n({gdprApplies:!1,cmpLoaded:!1,cmpStatus:"stub",displayStatus:"disabled",apiVersion:"2"}):"getTCData"!==t&&"addEventListener"!==t||"function"==typeof n&&n({gdprApplies:!1,tcfPolicyVersion:2,cmpId:258,cmpVersion:1},!0)},window.addEventListener("message",(function(e){let t="string"==typeof e.data,n={};try{n=t?JSON.parse(e.data):e.data}catch(e){}let a=n.__tcfapiCall;a&&window.__tcfapi(a.command,a.version,(function(n,c){let s={__tcfapiReturn:{returnValue:n,success:c,callId:a.callId}};t&&(s=JSON.stringify(s)),e&&e.source&&e.source.postMessage&&e.source.postMessage(s,"*")}),a.parameter)}),!1),document.addEventListener("DOMContentLoaded",(function(){!function(){const e=document.createElement("iframe");e.style.cssText="display:none",e.name="__tcfapiLocator",document.body.appendChild(e)}()}));</script>
    
      <script nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI=">
        (function() {
          var isModern = typeof Array.prototype.at === "function";
          if (isModern) {
            document.write(
'              <script src="https://assets.tumblr.com/pop/js/modern/runtime-4222bfd8.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/vendor-e950af67.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/main-bc8433cb.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/2470-397fb0d6.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/8236-6e1d8bf4.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/4051-90da7187.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/9347-3ed0db8e.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/8305-4153b5cd.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/8396-0ce5ba32.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/554-9e26d25f.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/2154-cf4f52c8.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/2039-e47d4749.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/5379-fd38ab4d.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/277-65026c89.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/modern/landing-page-4e75a744.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>');
          } else {
            document.write(
'              <script src="https://assets.tumblr.com/pop/js/fallback/runtime-76c267bc.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/vendor-32fc552f.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/main-0d95b214.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/2470-343ed618.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/8236-d8a1ea98.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/4051-5ef42ec0.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/9202-3f7dc2a1.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/9347-d08340de.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/6560-344d30ed.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/554-0c665bb0.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/2154-c84c2c32.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/2039-efc41cfa.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/5379-ac5550f0.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/277-869d98e0.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>'+
'              <script src="https://assets.tumblr.com/pop/js/fallback/landing-page-af685cd3.js" defer crossorigin="anonymous" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="></scr' + 'ipt>');
          }
        })();
      </script>
  </head>
  <body id="tumblr" class="palette--trueBlue">
    <div id="root"><style>:root {
    --black: 0, 0, 0;
    --white: 255, 255, 255;
    --white-on-dark: 255, 255, 255;
    --navy: 0, 25, 53;
    --red: 255, 73, 48;
    --orange: 255, 138, 0;
    --yellow: 232, 215, 56;
    --green: 0, 207, 53;
    --blue: 0, 184, 255;
    --purple: 124, 92, 255;
    --pink: 255, 98, 206;

    --accent: 0, 184, 255;
    --secondary-accent: 229, 231, 234;
    --follow: 243, 248, 251;

    --color-title: rgb(var(--white-on-dark));
    --color-text: rgb(var(--white-on-dark));
    --color-subtext: rgb(var(--white-on-dark));
    --color-primary-link: rgb(var(--accent));
    --color-bluespace-background: rgb(var(--navy));
    --color-bluespace-card-background: rgba(var(--white-on-dark), 0.07);
    --color-modal-close-button: rgb(var(--navy));
    --color-modal-close-button-background: rgb(var(--white-on-dark));

    --font-family: 
    "Favorit",
    "Helvetica Neue",
    "HelveticaNeue",
    Helvetica,
    Arial,
    sans-serif
  ;

    --border-radius-small: 3px;
  }
</style><div id="base-container"><div class="Ty83o adsbygoogle" id="adBanner"></div><div class="EmpUU"><div class="P7XUh"><section id="Get started" class="thwmc"><div class="ppIFU"><div class="i7U68"><div class="wA_I7" aria-hidden="true"></div><div class="KQFN5"><div class="JdsBc"><div class="oKzFS"><a href="/" aria-label="Tumblr"><svg xmlns="http://www.w3.org/2000/svg" height="56" width="274" class="XnmP8" role="presentation"><use href="#managed-icon__logo-tumblr"></use></svg></a></div><section class="MGngl"><header class="h1rLz"></header><div class="Fygd5"><form action="" method="post"><div class="NqEjV"><input type="text" class="gj_Aq" name="email" aria-label="email" placeholder="Email" autoComplete="email" value="" autofocus=""/></div><div class="NqEjV"><input type="password" class="gj_Aq" name="password" aria-label="password" placeholder="Password" autoComplete="current-password" value=""/></div><div class="wTMi1">By clicking log in, or continuing with the other options below, you agree to Tumblr’s <a href="/policy/terms-of-service" target="_blank" rel="noopener noreferrer">Terms of Service</a> and have read the <a href="/policy/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy</a></div><button class="TRX6J CxLjL qjTo7 CguuB yC5pj" aria-label="Log in" style="--button-text:#000000;--button-bg:#00b8ff;border-color:rgba(var(--black), 0.40)" type="submit"><span class="EvhBA" tabindex="-1">Log in</span></button></form><a class="i9WPo" href="/forgot_password">Forgot your password?</a><div class="QnWzN"><div class="gqith pWa_V"></div>or<div class="gqith YJ2v4"></div></div><a href="/auth/google?isRegister=false&amp;redirectTo=/settings/account" class="Z8Ux2 qjTo7 CguuB QXFvZ" data-testid="google-login-button" style="--button-text:#000000;--button-bg:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="23" role="presentation"><use href="#managed-icon__google-logo"></use></svg><div class="FOMdK">Continue with Google</div></a><a href="/auth/apple?isRegister=false&amp;redirectTo=/settings/account" class="Z8Ux2 qjTo7 CguuB QXFvZ" data-testid="apple-login-button" style="--button-text:#000000;--button-bg:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="23" role="presentation"><use href="#managed-icon__apple-logo"></use></svg><div class="SiQEE">Continue with Apple</div></a><div class="BayF6">New to Tumblr? <a href="/register?source=new_to_tumblr">Sign up!</a></div></div></section></div><div class="pjd4J"><div><footer role="contentinfo"><ul class="dcVg0"><li><a href="/policy" target="_blank" rel="noopener noreferrer">Terms</a></li><li><a href="/privacy_policy" target="_blank" rel="noopener noreferrer">Privacy</a></li><li><a href="/jobs" target="_blank" rel="noopener noreferrer">Jobs</a></li><li><a href="/support" target="_blank" rel="noopener noreferrer">Support</a></li></ul></footer></div></div></div></div></div></section></div><div class="C38Rc hvZ5A"><header class="_3kR_"><div class="rllUD"><div class="QOMh2"><a href="/" aria-label="Home"><div class="FQkf4" style="width:20px;height:33px"><div class="FP6oS"></div><svg xmlns="http://www.w3.org/2000/svg" height="33" width="20" class="GjGsN" role="presentation" style="--icon-color-primary:RGB(var(--white-on-dark))"><use href="#managed-icon__logo-t"></use></svg></div></a></div><div class="Mw2UR nzmrE"><span data-testid="controlled-popover-wrapper" class="BPf9u"><span class="BPf9u"><form method="GET" action="/search" role="search" class="aogHd"><div class="oPa7v"><div class="Z3WPg"><svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" role="presentation"><use href="#managed-icon__search"></use></svg></div><input type="text" name="q" autoComplete="off" value="" aria-label="Search" class="NaqPB" placeholder="Search Tumblr" autoCapitalize="on"/></div></form></span></span></div></div><div class="uuWZ2 yTPpj"><a href="/register?source=login_register_header&amp;redirect_to=%2Fsettings%2Faccount" style="--button-text:#000000;--button-bg:#00b8ff" class="Z8Ux2 qjTo7 IMvK3">Sign up</a></div></header></div></div><div></div><div></div><aside id="managed-icon-repository" style="width:0;height:0;overflow:hidden"><svg id="managed-icon__logo-tumblr" fill="var(--icon-color-primary, #ffffff)" viewBox="0 0 400 81.897">
	<path d="M17.241 1.571c0 6.328-6.682 15.885-13.371 19.123L0 22.568v13.639h10.177l.321 15.302c.528 25.205 4.083 29.417 25.493 30.206l10.561.39v-17.45h-5.643c-9.171 0-9.875-1.163-9.875-16.34V36.207H45.69V19.828H31.034V0h-6.896c-6.097 0-6.897.182-6.897 1.571m219.828 5.326v6.896h8.621v68.104h18.965v-2.156c0-2.617-.019-2.616 3.996-.248 5.368 3.167 17.807 3.327 23.979.307 10.27-5.025 13.836-12.594 13.836-29.369 0-21.321-7.683-30.677-25.1-30.566-5.257.034-8.013.638-13.478 2.956-1.394.591-1.509-.25-1.509-11.091V0h-29.31v6.897m71.552 0v6.896h8.62v54.31h-6.896v13.794h34.483V68.103h-7.759V0h-28.448v6.897M53.606 42.457c.348 25.726 1.055 28.895 7.717 34.597 7.88 6.745 25.797 6.506 33.194-.443l2.035-1.912v7.198h23.276V68.103h-6.035V19.828H86.207v14.655h7.759v11.292c0 15.732-2.335 19.742-11.493 19.742-7.195 0-7.473-.932-7.473-25.116V19.828H53.3l.306 22.629M125 27.155v7.328h8.621v33.62h-6.897v13.794h33.621V68.103h-6.897V56.869c0-15.754 1.962-19.662 10.272-20.46 7.808-.751 8.694 1.07 8.694 17.862v13.832h-6.897v13.794H200V68.103h-6.897V55.992c0-9.14.321-12.733 1.308-14.641 2.687-5.195 10.458-6.804 14.808-3.066l2.419 2.079.275 13.87.275 13.869h-7.016v13.794h33.621V68.103h-6.896V53.547c0-17.777-1.01-21.846-6.873-27.709-8.058-8.057-24.92-8.285-33.229-.448l-2.956 2.787-1.963-2.133c-7.299-7.936-23.087-8.407-33.49-.999l-2.524 1.797v-7.014H125v7.327m225 0v7.328h7.759v33.62h-6.897v13.794h33.621V68.103h-7.13l.412-10.678c.613-15.922 3.54-19.494 15.972-19.494H400V19.828h-6.062c-6.77 0-11.229 1.486-14.843 4.948l-2.371 2.271v-7.219H350v7.327m-68.546 10.059c6.507 5.119 6.487 23.55-.031 27.821-8.395 5.5-16.643-2.8-15.712-15.812.828-11.573 8.681-17.564 15.743-12.009" />
</svg>

<svg id="managed-icon__google-logo" viewBox="10 8 26 30">
	<g fill="none">
		<path fill="#4285F4"
			d="M31.64 23.205c0-.639-.057-1.252-.164-1.841H23v3.481h4.844a4.14 4.14 0 01-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615z" />
		<path fill="#34A853"
			d="M23 32c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711h-3.007v2.332A8.997 8.997 0 0023 32z" />
		<path fill="#FBBC05"
			d="M17.964 24.71a5.41 5.41 0 01-.282-1.71c0-.593.102-1.17.282-1.71v-2.332h-3.007A8.996 8.996 0 0014 23c0 1.452.348 2.827.957 4.042l3.007-2.332z" />
		<path fill="#EA4335"
			d="M23 17.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C27.463 14.891 25.426 14 23 14a8.997 8.997 0 00-8.043 4.958l3.007 2.332c.708-2.127 2.692-3.71 5.036-3.71z" />
	</g>
</svg>

<svg id="managed-icon__apple-logo" viewBox="0 0 39 44">
	<g fill="none">
		<path fill="none" d="M0 0h39v44H0z" />
		<path fill="var(--icon-color-primary, #000)" d="M19.82 13.138c1.083 0 2.44-.732 3.25-1.708.732-.885 1.266-2.121 1.266-3.357 0-.168-.015-.336-.046-.473-1.205.046-2.655.809-3.524 1.83-.687.779-1.313 2-1.313 3.25 0 .184.031.367.046.428.077.015.199.03.32.03zM16.005 31.6c1.48 0 2.136-.992 3.983-.992 1.876 0 2.288.961 3.936.961 1.617 0 2.7-1.495 3.723-2.96 1.144-1.678 1.617-3.326 1.648-3.402-.107-.03-3.205-1.297-3.205-4.852 0-3.082 2.442-4.47 2.579-4.577-1.617-2.32-4.074-2.38-4.745-2.38-1.816 0-3.296 1.098-4.226 1.098-1.007 0-2.335-1.037-3.906-1.037-2.99 0-6.027 2.472-6.027 7.14 0 2.9 1.13 5.966 2.517 7.95 1.19 1.678 2.228 3.051 3.723 3.051z" />
	</g>
</svg>

<svg id="managed-icon__logo-t" viewBox="0 0 21 36.8">
  <path fill="var(--icon-color-background, transparent)" d="m-1.4238-1.1035v39.006h23.939v-39.006h-23.939zm9.6016 1.1035h5.7891v9.3535h6.7578v6.8574h-6.7559v9.4844c0 2.843 1.447 3.8262 3.752 3.8262h3.2715l0.007812 7.2285h-6.1992c-5.577 0-9.7344-2.8445-9.7344-9.6465v-10.893h-5.0664v-5.9004c5.576-1.434 7.9097-6.1906 8.1777-10.311z" />
	<path fill="var(--icon-color-primary, currentcolor)" d="M21 36.75h-6.2c-5.577 0-9.733-2.844-9.733-9.646V16.21H0v-5.9C5.576 8.876 7.909 4.12 8.177 0h5.79v9.354h6.757v6.856h-6.756v9.486c0 2.843 1.448 3.826 3.753 3.826h3.271L21 36.75z" />
</svg>

<svg id="managed-icon__search" fill="var(--icon-color-primary, #24282b)" viewBox="0 0 14 14">
  <path
    d="M1.676 5.7c0-2.2 1.873-4 4.042-4 2.268 0 4.043 1.8 4.043 4s-1.775 4-4.043 4c-2.169 0-4.042-1.8-4.042-4zm11.732 6.4L10.352 9c.69-.9 1.085-2.1 1.085-3.3 0-3.1-2.564-5.7-5.719-5.7C2.563 0 0 2.6 0 5.7s2.563 5.7 5.718 5.7c1.085 0 2.17-.4 3.057-.9l3.253 3.2c.197.2.493.3.789.3.296 0 .591-.1.789-.3.197-.2.394-.5.394-.8 0-.3-.296-.5-.592-.8z" />
</svg>
</aside><div id="glass-container"></div></div></div>

    <script type="text/javascript" nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI=">
      window['___INITIAL_STATE___'] = {"cookieBootstrap":{},"routeSet":"main","routeUsesPalette":false,"routeHidesLowerRightContent":false,"routeName":"landing-page","isInitialRequestPeepr":false,"isInitialRequestSSRModal":false,"viewport-monitor":{"height":800,"width":1280},"chunkNames":["landing-page"],"queries":{"mutations":[],"queries":[]},"csrfToken":"[redacted]","apiUrl":"https:\u002F\u002Fwww.tumblr.com\u002Fapi","apiFetchStore":{"API_TOKEN":"[redacted]","extraHeaders":"{}"},"cspNonce":"[redacted]","languageData":{"code":"en_US","data":{},"timeZone":"Africa\u002FJohannesburg"},"configRef":{"saberKey":"[redacted]","saberEndpoint":"https:\u002F\u002Fsaber.srvcs.tumblr.com","cslEndpoint":"https:\u002F\u002Fwww.tumblr.com\u002Fservices\u002Fcslog","cslCookie":"anon_id=","cslPerformanceHeaders":"x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type","searchFilterDef":"top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio","fanPlacementId":"","nsfwScoreThreshold":"0.250000","displayIoMaxAdCount":"1","displayIoMaxAdLoadingCount":"1","displayIoPlacementId":"6188","displayIoTestPlacementId":"6189","displayIoInterscrollerDisplayTestPlacementId":"6993","displayIoInterscrollerVideoTestPlacementId":"6905","displayIoHeadlineVideoPlacementId":"7815","displayIoHeadlineVideoTestPlacementId":"7813","takeoverLogoUrl":"","flags":"w8F24LEB+WAAvl7lQ9T6szfzYxo=","lsFlushSize":"20","lsFlushTime":"30","lsPerfFlushSize":"20","lsPerfFlushTime":"30","autoTruncatePosts":"1"},"reportingInfo":{"host":"","token":"[redacted]"},"analyticsInfo":{"kraken":{"basePage":"SignupLogin","routeSet":"main","krakenBaseUrl":"","sessionId":"[redacted]","clientDetails":{"platform":"Redpop","os_name":"Windows","os_version":"10","language":"en_US","build_version":"4a494f0ffb3ae34f7f39bc0df53f14782570108c","form_factor":"Desktop","model":"","connection":"","carrier":"","browser_name":"Chrome","browser_version":"103.0.0.0"},"configRef":{"saberKey":"[redacted]","saberEndpoint":"https:\u002F\u002Fsaber.srvcs.tumblr.com","cslEndpoint":"https:\u002F\u002Fwww.tumblr.com\u002Fservices\u002Fcslog","cslCookie":"anon_id=","cslPerformanceHeaders":"x-cache,Via,x-backend-time,x-app-node-time,x-rid,Age,Last-Modified,Content-Type","searchFilterDef":"top|recent|tagged|gif|tumblrs|photo|text|video|quote|chat|audio","fanPlacementId":"","nsfwScoreThreshold":"0.250000","displayIoMaxAdCount":"1","displayIoMaxAdLoadingCount":"1","displayIoPlacementId":"6188","displayIoTestPlacementId":"6189","displayIoInterscrollerDisplayTestPlacementId":"6993","displayIoInterscrollerVideoTestPlacementId":"6905","displayIoHeadlineVideoPlacementId":"7815","displayIoHeadlineVideoTestPlacementId":"7813","takeoverLogoUrl":"","flags":"w8F24LEB+WAAvl7lQ9T6szfzYxo=","lsFlushSize":"20","lsFlushTime":"30","lsPerfFlushSize":"20","lsPerfFlushTime":"30","autoTruncatePosts":"1"}}},"tumblelogAuthToken":undefined,"adPlacementConfiguration":{"signature":"dda1b75c6949ab2b","placements":{"teadsHydraSource":{"adSource":"teads","adPlacementId":"92179","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsTestHydraSource":{"adSource":"teads","adPlacementId":"61820","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"flurryHydraSource":{"adSource":"flurry","adPlacementId":"fb98eb47-264a-4517-ac94-a3be4fe186f3","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"oneMobileHydraSource":{"adSource":"one_mobile","adPlacementId":"tumblr_300x250__tier_2","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"iponwebMrecHydraSource":{"adSource":"iponweb","adPlacementId":"","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsDashboardTop":{"adSource":"teads","adPlacementId":"92179","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"teadsDashboard":{"adSource":"teads","adPlacementId":"118034","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"googleNativeDashboardHydraSource":{"adSource":"google_native","adPlacementId":"\u002F22749103964\u002Fca-pub-3245570501173456-tag","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1},"googleRewardedPremiumHydraSource":{"adSource":"google_rewarded","adPlacementId":"\u002F22749103964\u002Frewarded-ad-web","maxAdCount":1,"maxAdLoadingCount":1,"expireTime":3600000,"timeBetweenSuccessfulRequests":150,"loadingStrategy":1}}},"privacy":[],"endlessScrollingDisabled":undefined,"bestStuffFirstDisabled":undefined,"colorizedTags":undefined,"autoTruncatingPosts":true,"timestamps":undefined,"communityLabelVisibilitySetting":undefined,"labsSettings":[],"wwwBaseUrl":undefined,"isLoggedIn":{"isPartiallyRegistered":false,"isLoggedIn":false,"isAdmin":undefined},"recaptchaV3PublicKey":{"value":"6Ld2ca0UAAAAAKzttOGcjomH-5rBIJesbQrCZtfB"},"obfuscatedFeatures":"[redacted]","browserInfo":{"userAgent":{"ua":"Mozilla\u002F5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\u002F537.36 (KHTML, like Gecko) Chrome\u002F103.0.0.0 Safari\u002F537.36","browser":{"name":"Chrome","version":"103.0.0.0","major":"103"},"engine":{"name":"Blink","version":"103.0.0.0"},"os":{"name":"Windows","version":"10"},"device":{"vendor":undefined,"model":undefined,"type":undefined},"cpu":{"architecture":"amd64"}},"deviceType":"desktop","isSupported":true,"isCrawler":false},"sessionInfo":{"id":"[redacted]"},"cssMapUrl":"https:\u002F\u002Fassets.tumblr.com\u002Fpop\u002Fcssmap-e06c6cbb.json"};
    </script>

    <script
    defer
    type="application/javascript"
    id="bilmur"
    data-provider="tumblr.com"
    data-service="redpop"
    data-customproperties='{"route_name": "landing-page"}'
    nonce="N2M1MDgzMTc2MDBlMzYxMTBlZTlkMjQxYTI2NzZiMTI="
    src="https://s0.wp.com/wp-content/js/bilmur.min.js?m=202237"
  ></script>
  </body>
</html>

Based on the headers in the HTML, it looks like the code is expecting the page to have automatically redirected to the /settings/account page, which does contain the expected email value in the response. However manually navigating to this page in the popup before closing it did not produce the expected behaviour.

@thomas694
Copy link
Contributor

Thanks for looking to find the error.
It doesn't matter if you navigate to another page in the popup, because the settings page is requested again after the popup is closed.
But in your extracted text I can see the following:

	"isLoggedIn": {
		"isPartiallyRegistered": false,
		"isLoggedIn": false,
		"isAdmin": null
	},

So either the login didn't work properly, but then you shouldn't be able to navigate to your account page in the popup, or the cookies extraction after closing the popup failed. I assume the latter.
Maybe you can have a look at that position (line 1077 of SettingsViewModel.cs).

@Pleochism
Copy link
Author

The cookies call returns this (CSV format):

Cookie,Cookie.Name,Cookie.Value,Cookie.Domain,Cookie.Path,Cookie.Secure,Cookie.HttpOnly,Cookie.Expires,Cookie.Creation,Cookie.LastAccess,Cookie.SameSite,Cookie.Priority
CefSharp.Cookie,tmgioct,632744f5e755b00574836970,.tumblr.com,/,False,True,"9/15/2032 4:19:01 PM","9/18/2022 4:19:01 PM","9/18/2022 4:19:01 PM",Unspecified,Medium
CefSharp.Cookie,tz,Africa%2FJohannesburg,www.tumblr.com,/,False,False,"9/18/2023 4:19:01 PM","9/18/2022 4:19:01 PM","9/18/2022 4:19:01 PM",Unspecified,Medium
CefSharp.Cookie,language,%2Cen_US,.tumblr.com,/,False,False,"9/18/2023 4:19:15 PM","9/18/2022 4:19:15 PM","9/18/2022 4:19:15 PM",Unspecified,Medium
CefSharp.Cookie,logged_in,1,.tumblr.com,/,False,False,"10/30/2022 4:19:15 PM","9/18/2022 4:19:15 PM","9/18/2022 4:19:15 PM",Unspecified,Medium
CefSharp.Cookie,cl_pref,warn,.tumblr.com,/,False,False,"10/30/2022 4:19:15 PM","9/18/2022 4:19:15 PM","9/18/2022 4:19:15 PM",Unspecified,Medium
CefSharp.Cookie,sid,[redacted],.www.tumblr.com,/,True,True,"10/30/2022 4:19:15 PM","9/18/2022 4:19:15 PM","9/18/2022 4:19:15 PM",NoRestriction,Medium
CefSharp.Cookie,pfu,48089051,.www.tumblr.com,/,True,True,"10/30/2022 4:19:15 PM","9/18/2022 4:19:15 PM","9/18/2022 4:19:15 PM",NoRestriction,Medium

@Pleochism
Copy link
Author

I looked at line 280 of LoginService.cs and it seems like the outgoing headers are:

{User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36Accept-Encoding: gzip, deflateHost: www.tumblr.comCookie: tmgioct=624c38a80408910824409120; palette=trueBlue; tz=Africa%252FJohannesburg; unsupported-browser-message-dismiss=1; pfp=t8nmdH23HdbN88t8DvWkTQDVd6BvIuDsrHFgzjX0; pfs=IEcLB4JCpeZaU8BmSq7H2Tbdx0; pfe=1628575243; pfu=48089051; sid=amdVX9GA74EnAshKrh7fSUYOk4CufNyCP4CVaVEqiTsR8hCs0G.aSa5J9J63UFCdfQ4Gb4nWFeLVonE0RMLH3QmGoColu2hgndpU2; logged_in=1; language=%252Cen_US; mobile_header_banner_hidden=yes; pfg=eb90d10197530f4b9e285843dea606c095c0be061c59e63f8c1e891a5e88351d%2523%257B%2522gdpr_consent_search_history%2522%253A-1%252C%2522gdpr_is_acceptable_age%2522%253A1%252C%2522exp%2522%253A1680698408%252C%2522vc%2522%253A%2522%2522%257D%25232118835089; __ATA_tuuid=8ddbb014-6eb4-4aa7-b786-4064054ea9fa; cw_pref=warn; tz=Africa%252FJohannesburg; sid=asZhC6JxP1UkFqo4JiLu92eJK0QCuUW2Vo0Q8il4SR38CU0LHq.aHtJ9kusKUOx9cC0KHaLu95Wx9CIQ34zrb5ZBQdCJVgmzU5rnm; pfu=48089051; search-displayMode=2; __ATA_tuuid=4bc44b72-55ca-49b3-add8-640d52cb63f8; tmgioct=632744f5e755b00574836970; language=%252Cen_US; logged_in=0; cl_pref=warn; __gads=ID%3Daa23ef0552de58d1%3AT%3D1663503360%3AS%3DALNI_Mbh3p-IKVI0xeqonYyGoooa4_lZJA; __gpi=UID%3D00000ad822db8242%3AT%3D1663503360%3ART%3D1663503360%3AS%3DALNI_MaDKvkAF7WBWDmfnTHMC9mBkNtI0g}

@thomas694
Copy link
Contributor

The cookies call returns this (CSV format):

That are the correct cookies. And yet, when requesting the account settings page in GetUsernameAsync, the response is like from a not-logged in user, the Settings object in the json is missing. I don't know what's going on there.

If you comment out line 81 in AuthenticateView.xaml.cs and comment in the previous block (lines 76-79) for building the cookieCollection, does it work then? Can you log in, it shows the "logged in as" and a blog download works?

@Pleochism
Copy link
Author

Yes, that did it.

I'll try to see what the difference is between the two collections.

@Pleochism
Copy link
Author

Well, a few days of digging and debugging haven't turned anything up. My best guess is some bug in CookieContainer is maybe not sending cookies for subdomains when it should, or something.

@thomas694
Copy link
Contributor

Thanks for taking the time and looking at it. I think, then we use two different ways depending on the platform being accessed.

thomas694 added a commit that referenced this issue Sep 20, 2022
- The "new" style of cookie extraction didn't work for the newTumbl authentication, so the old way was used. As it also worked with Tumblr, it was kept. But it looks like some users are then unable to log in to Tumblr.
- So we do now two different ways of cookie extraction.
@thomas694 thomas694 added the bug Something isn't working label Sep 20, 2022
@thomas694
Copy link
Contributor

The issue has been fixed and closed. You can still comment. Feel free to ask for reopening the issue if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants