email notification for private repository broken

Issue #1633 resolved
Christopher Grebs
created an issue

Hey there!

I have just a private repository and like to get notified about changes and get the proper diffs.

That's yet possible but broken. If I get a notification about a new commit I get a permission denied error. Since there can only be "trusted" users on private repositories such a permission check is a bit too much.

Would be cool to get some readable notifications soon for my repository :)

Regards, Christopher

Comments (10)

  1. Jeff Squyres

    +1 -- I am seeing exactly the same issue.

    Instead of getting a diff email, I get a (broken) HTML mail, the heart of which says "You do not have access to this repository." It seems that the diff mail agent thingy doesn't have the right access to read my repository.

  2. Jeff Squyres

    Yes. I just tested it moments ago. It looks like we can get "email" notifications (those seem to be working properly; I don't remember if they were before), but "email diff" is still broken. Here's a copy of the "email diff" that I get (it shows the raw HTML, too -- maybe the mime type is wrong?):

    <!DOCTYPE html> <html xmlns="" xml:lang="en" lang="en"> <head> <title> Log in to your Bitbucket Account </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="description" content="Log in to your Bitbucket account." /> <meta name="keywords" content="code hosting free bitbucket mercurial subversion git free" />

    <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" media="print" /> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Bitbucket" /> <link rel="icon" href="" type="image/png"/>

    <script type="text/javascript">var MEDIA_URL = ""</script> <script src=""></script>


    <body class="">

    <div id="wrapper">

    <div id="header-wrap"> <div id="header"> <ul id="global-nav"> <li><a class="home" href="">Atlassian Home</a></li> <li><a class="docs" href="">Documentation</a></li> <li><a class="support" href="/support">Support</a></li> <li><a class="blog" href="">Blog</a></li> <li><a class="forums" href="">Forums</a></li> </ul> <a href="/" id="logo">Bitbucket by Atlassian</a>

    <div id="main-nav" class="clearfix">

    <ul class="clearfix"> <li><a href="/plans">Pricing &amp; Signup</a></li> <li><a href="/repo/month">Explore Bitbucket</a></li> <li class="active"><a href="/account/signin/">Log in</a></li> <li class="search-box"> <form action="/repo/all/" method="get"> <input id="search" type="text" name="name" /> </form> </li> </ul>

    </div> </div> </div>

    <div id="content">

    <div class="center-blocks">

    <div class="twocol-form login-box">

    <div class="standard"> <h3>Log in using your Bitbucket account</h3> <form action="/account/signin/" method="POST"><div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='83526182decaf4afd3b27abaebf2ea5a' /></div>

    <input type="hidden" name="next" value="/jsquyres/cci/changeset/efd1d66e1bee/raw/cci-efd1d66e1bee.diff" />

    <table> <tr><th><label for="id_username">Username or email:</label></th><td><input type="text" name="username" id="id_username" /></td></tr> <tr><th><label for="id_password">Password:</label></th><td><input type="password" name="password" id="id_password" /></td></tr> <tr> <th></th> <td> <input type="submit" value="Log in" class="primary-button" /> <a href="/account/password/reset/">Reset Password</a> </td> </tr> </table> </form> </div>

    <div class="opensocial"> <h3>Log in using OpenID</h3> <form id="openid_form" action="/account/openid/redirect/" method="GET"> <div><input name="next" type="hidden" value="/jsquyres/cci/changeset/efd1d66e1bee/raw/cci-efd1d66e1bee.diff" /></div> <ul class="badges"> <li class="major"><a href="/account/openid/redirect/?" title="Google">Google</a></li> <li class="major"><a href="/account/openid/redirect/?" title="Yahoo!">Yahoo!</a></li> <li class="major"><a href="#aol" title="AOL" data-url="{id}">AOL</a></li> <li class="major"><a href="#openid" title="OpenID" data-url="{id}">OpenID</a></li> <li class="minor"><a href="#myopenid" title="MyOpenID" data-url="http://{id}">MyOpenID</a></li> <li class="minor"><a href="#livejournal" title="LiveJournal" data-url="http://{id}">LiveJournal</a></li> <li class="minor"><a href="#flickr" title="Flickr" data-url="{id}/">Flickr</a></li> <li class="minor"><a href="#wordpress" title="WordPress" data-url="http://{id}">WordPress</a></li> <li class="minor"><a href="#verisign" title="VeriSign" data-url="http://{id}">VeriSign</a></li> <li class="minor"><a href="#claimid" title="ClaimID" data-url="{id}">ClaimID</a></li> </ul> <ul class="inputs"> <li id="aol"> <label for="aol-username">Username</label> <input type="text" id="aol-username" name="aol-username" /> </li> <li id="openid"> <label for="openid-url">OpenID URL</label> <input type="text" id="openid-url" name="openid-url" /> </li> <li id="myopenid"> <label for="myopenid-username">Username</label> <input type="text" id="myopenid-username" name="myopenid-username" /> </li> <li id="livejournal"> <label for="livejournal-username">Username</label> <input type="text" id="livejournal-username" name="livejournal-username" /> </li> <li id="flickr"> <label for="flickr-username">Username</label> <input type="text" id="flickr-username" name="flickr-username" /> </li> <li id="wordpress"> <label for="wordpress-username">Username</label> <input type="text" id="wordpress-username" name="wordpress-username" /> </li> <li id="verisign"> <label for="verisign-username">Username</label> <input type="text" id="verisign-username" name="verisign-username" /> </li> <li id="claimid"> <label for="claimid-username">Username</label> <input type="text" id="claimid-username" name="claimid-username" /> </li> </ul> <div> <input type="hidden" id="openid_provider" name="openid_provider" /> <input type="hidden" id="openid_username" name="openid_username" /> <input type="submit" id="openid_submit" value="Log in" class="primary-button" /> </div> </form>

    </div> </div>

    <div class="show-open-id">Log in using <a href="#openid-signin">OpenID</a><noscript> (enable JavaScript to use this feature)</noscript></div> <div class="show-standard-signin">Go back to <a href="#standard-signin">standard sign-in</a></div> <p>Need an account? <a href="/plans">Sign up now!</a></p>




    <div id="footer"> <ul id="footer-nav"> <li>Copyright © 2010 <a href="">Atlassian</a></li> <li><a href="">Terms of Service</a></li> <li><a href="">Privacy</a></li> <li><a href="">Report a Bug</a></li> <li><a href="">Server Status</a></li> </ul> <ul id="social-nav"> <li class="blog"><a href="">Bitbucket Blog</a></li> <li class="twitter"><a href="">Twitter</a></li> </ul> <h5>We run</h5> <ul id="technologies"> <li><a href="">Django 1.2.3</a></li> <li><a href="">Piston 0.2.3rc1</a></li> <li><a href="">Hg 1.7.1</a></li> <li><a href="">Python 2.7.0</a></li> <li>r4679:50544b4b0ad9 | bitbucket01</li> </ul> </div>

    <script src="" id="globaljs"></script>

    <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-2456069-3'], ['_trackPageview']);

    _gaq.push(['atl._setAccount', 'UA-6032469-33'], ['atl._trackPageview']);

    (function () { var ga = document.createElement('script'); ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + ''; ga.setAttribute('async', 'true'); document.documentElement.firstChild.appendChild(ga); }()); </script>

    </body> </html>

  3. Jeff Squyres

    Jesper --

    This is still not fixed. I just tried it moments ago with the jsquyres/cci closed repository and still got mails like I pasted (plain text email with all the HTML markup, including "Login to your Bitbucket account"). So there's are least two problems:

    1. I don't get an email diff.

    2. The mail I get is incorrectly mime-typed (it's marked as plain text, but the mail contains lots of HTML markup).

  4. Log in to comment