Commit graph

153 commits

Author SHA1 Message Date
Mihai Parparita
816ea1d94a Fix page background color styling.
It was previously gray so that negative rubber band scrolling in Safari would
show gray, but that's not actually interesting/worth it.
2014-10-26 22:05:02 -07:00
Mihai Parparita
9693a1a5b2 Shrink header slightly on smaller screens. 2014-10-26 22:00:31 -07:00
Mihai Parparita
61f50b8c71 Switch to new header image. 2014-10-26 21:54:44 -07:00
Mihai Parparita
0e2fe4f835 Rename package to retrogit. 2014-10-26 15:22:14 -07:00
Mihai Parparita
07a64cffce Lighten the card yellow a bit. 2014-10-20 23:24:31 -07:00
Mihai Parparita
be01a8623f Add basic card styling to commits. 2014-10-20 23:22:32 -07:00
Mihai Parparita
bb8c898f97 Fix clearing of session cookie after 9a43bfc5bb. 2014-10-20 22:43:23 -07:00
Mihai Parparita
4e2076a98d Fix header getting coverted up too much. 2014-10-19 23:45:32 -07:00
Mihai Parparita
1f239cfd10 Drop site name from titles now that it's in the header. 2014-10-19 23:41:32 -07:00
Mihai Parparita
2804ba82f1 Add viewport. 2014-10-19 23:39:16 -07:00
Mihai Parparita
1b56d7ab0f Basic punch card header style. 2014-10-19 23:37:40 -07:00
Mihai Parparita
8008ca94a5 Abandon perforated paper design.
Too literal, and impacts readability.

Reverts most of 7d109f0c82.
2014-10-19 21:44:20 -07:00
Mihai Parparita
7d109f0c82 Basic perforated-paper-on-a-dot-matrix-printer styling. 2014-10-18 23:43:37 -07:00
Mihai Parparita
9aaa8326e0 Basic RetroGit renaming.
User-facing strings only.
2014-10-17 22:52:51 -07:00
Mihai Parparita
c285bc0e02 Add option to use public repos only. 2014-10-17 21:06:55 -07:00
Mihai Parparita
9a43bfc5bb Switch sigining in and out to using forms with POST. 2014-10-17 20:45:51 -07:00
Mihai Parparita
9db7f04c72 Increase HTTP request deadline. 2014-10-16 23:38:36 -07:00
Mihai Parparita
d6bd445caa Make commit messages wrap. 2014-10-16 23:26:32 -07:00
Mihai Parparita
c54e8766cc Make primary actions on the homepage stand out a bit more. 2014-10-15 22:57:11 -07:00
Mihai Parparita
b96671fffd Start a background task to compute the digest as soon as the timezone is set.
Serves as a cache warmup, for cases where the user views their digest
immediately.
2014-10-15 22:51:21 -07:00
Mihai Parparita
b4947769ad Missing file from f0b15e7324. 2014-10-15 22:51:10 -07:00
Mihai Parparita
f0b15e7324 Add flash message when digest has been emailed. 2014-10-15 22:41:00 -07:00
Mihai Parparita
45364c385a Handle pagination when fetching the organization repositories. 2014-10-15 21:55:30 -07:00
Mihai Parparita
71ebf98ce7 Guess timezone. 2014-10-12 21:17:55 -07:00
Mihai Parparita
7a24dfef8f Account deletion button. 2014-10-12 20:59:16 -07:00
Mihai Parparita
5794ffa131 Make all formatted dates resilient to Apple Data Detectors and Gmail event detection.
Insert zero-width non-breaking spaces every 2 characters.
2014-10-04 22:07:29 -07:00
Mihai Parparita
a476612855 Handle 404s when trying to look repos when computing vintages. 2014-10-02 22:27:29 -07:00
Mihai Parparita
0b643a8815 Quote HTML attributes. 2014-10-02 22:07:19 -07:00
Mihai Parparita
b992e192ca Speed up homepage.
Don't try to fetch repositories to render the homepage (just use the excluded
repository count). Also do the user and email address fetches in parallel.
2014-10-02 22:06:32 -07:00
Mihai Parparita
cd88fad2ac Fix flash of repo list in settings page during load. 2014-09-28 22:09:56 -07:00
Mihai Parparita
7405cb5651 Add summary of settings to the index page. 2014-09-28 22:08:30 -07:00
Mihai Parparita
976beb08cc Move settings JavaScript to a separate file. 2014-09-27 16:06:54 -07:00
Mihai Parparita
01bee95e5c Collapse repositories list by default. 2014-09-27 16:05:05 -07:00
Mihai Parparita
40540fd91f Weekly digest option. 2014-09-27 15:52:57 -07:00
Mihai Parparita
71ef392cfa Handle pagination in user repository listing. 2014-09-21 22:25:06 -07:00
Mihai Parparita
63fe7b619c Handle pagination in commit listing. 2014-09-21 21:58:36 -07:00
Mihai Parparita
f81e06b9de Fetch max number of commits per page. 2014-09-20 17:06:46 -07:00
Mihai Parparita
79462eed54 Defeat Gmail's date detection in the interval summary string. 2014-09-06 14:39:57 -07:00
Mihai Parparita
abb4822197 Less aggressive caching of GitHub API responses.
Only cache 200s, and only cache most responses for 1 hour.
2014-09-06 14:29:31 -07:00
Mihai Parparita
bbd75638f1 Move digest cron to 1PM Pacific Time.
More likely to be received during working hours than the previous default of
midnight UTC (5PM PDT).
2014-09-01 22:22:15 -07:00
Mihai Parparita
1baff7fd42 Add link to GitHub email settings. 2014-09-01 22:18:40 -07:00
Mihai Parparita
69fcc91dc7 Add setting for which email address the digest will be sent to. 2014-09-01 22:17:09 -07:00
Mihai Parparita
1cb55cfe6a Add option to control which repositories are included in the digest. 2014-08-31 15:22:19 -07:00
Mihai Parparita
7852b128df Handle 409 responses when trying to list commits. 2014-08-30 23:20:19 -07:00
Mihai Parparita
0cc4188964 Use a task queue for sending of digest emails when using the cron job. 2014-08-30 23:14:51 -07:00
Mihai Parparita
4561d17569 Run gofmt. 2014-08-30 22:56:43 -07:00
Mihai Parparita
6cc162c91b Use contributor stats to better determine a repository's vintage. 2014-08-26 23:42:59 -07:00
Mihai Parparita
b0994313d1 Add infrastructure for computing and storing repository "vintages."
Will be used for caching the oldest commit that we have for a repository (for a
specific user). For now we just store the creation date if there are no commits
before that time.
2014-08-26 22:59:25 -07:00
Mihai Parparita
7810f4db39 Slightly prettier repository list. 2014-08-25 22:39:27 -07:00
Mihai Parparita
fac6a57e1c Add icon next to repo indicating its type. 2014-08-24 21:26:45 -07:00
Mihai Parparita
853c232c96 List repos on the settings page. 2014-08-24 21:05:50 -07:00
Mihai Parparita
cdf8ee326b Move settings to a separate page and handler. 2014-08-24 20:39:32 -07:00
Mihai Parparita
a667873958 Do not panic if we have a timezone that we can't load. 2014-08-18 23:17:29 -07:00
Mihai Parparita
846a4240b2 Fix bottom corners of the commit rounded box getting cut off. 2014-08-18 23:12:54 -07:00
Mihai Parparita
ff360bc605 Switch to inlining styles.
Unfortunately Gmail for iOS does not respect the <style> block that desktop
Gmail does. Styles are instead defined in a styles.json and can be referenced
via a custom template function. Not quite as nice as CSS (e.g. link style
invocation has to be repeated for every link), but still tolerable.
2014-08-18 23:10:41 -07:00
Mihai Parparita
90b397ef41 Remove unused template variables. 2014-08-17 22:33:16 -07:00
Mihai Parparita
8b9bd3fccb Allow account timezone to be set. 2014-08-17 22:27:49 -07:00
Mihai Parparita
0804172e9e Add template function to lessen boilerplate for getting a route's URL. 2014-08-16 15:41:51 -07:00
Mihai Parparita
c66ee02a55 Move digest viewing to its own page. 2014-08-16 15:24:38 -07:00
Mihai Parparita
0ecaeef5e3 Restructure templates to have a base "page" template with common markup. 2014-08-11 23:06:53 -07:00
Mihai Parparita
35a6407490 Move fetching of user and organization repos to a separate struct and file.
Prepares the way for showing a list of repositories on the homepage and fancier
determination of the first commit.
2014-08-11 22:09:56 -07:00
Mihai Parparita
8498241fbd Store pointers to repository instances.
Since multiple interval digests can reference the same repositories.
2014-08-11 21:32:28 -07:00
Mihai Parparita
06d8b89cb3 Use the repository HTML URL in the API object. 2014-08-11 21:29:56 -07:00
Mihai Parparita
d5492565e1 List commits in chronological order. 2014-08-10 14:01:35 -07:00
Mihai Parparita
4f2a66c313 Fix empty check. 2014-08-09 20:17:31 -07:00
Mihai Parparita
1791534950 Support digests going back more than 1 year. 2014-08-09 16:00:04 -07:00
Mihai Parparita
ce4ef11042 Don't send digest emails if empty. 2014-08-05 22:34:21 -07:00
Mihai Parparita
8273cb18bb Skip over repositories that have never been pushed to. 2014-08-05 22:26:53 -07:00
Mihai Parparita
1b3f91363f Add basic admin UI for viewing the digest as another user. 2014-08-05 22:14:35 -07:00
Mihai Parparita
c4e55c5553 Unify Account initialization code paths.
We were not initializing the timezone when loading all accounts, which was
making the cron job fail.
2014-08-05 22:06:05 -07:00
Mihai Parparita
faf41a425d Show timestamps that the commit was pushed to GitHub.
That matches the timestamp filtering better. The author timestamp is shown in a
tooltip.
2014-08-04 23:01:22 -07:00
Mihai Parparita
fe11e2a97a Basic timezone support.
Digests are generated for day boundaries in the given timezone, and timestamps
that are displayed are in that timezone too. No UI for actually specifying a
timezone.
2014-08-03 23:00:48 -07:00
Mihai Parparita
b76c164d45 Extract the first line of the commit message as the title. 2014-08-03 16:00:29 -07:00
Mihai Parparita
6c63be0cfb Move DigestCommit construction to a separate function. 2014-08-03 15:46:25 -07:00
Mihai Parparita
d1982e9d7f Create a DigestCommit struct for extracting interesting/display data for commits.
For just used for convenience storage of properties and a display SHA, but will
also be used for message/title extraction.
2014-08-02 23:11:30 -07:00
Mihai Parparita
243cfb06e6 Allow digest.css to be read by the app in prod too. 2014-08-01 23:08:50 -07:00
Mihai Parparita
bc9427a2e0 Add basic CSS styling to digests. 2014-08-01 23:00:21 -07:00
Mihai Parparita
2635512896 Omit repo digests that don't have any commits in that interval. 2014-08-01 21:33:01 -07:00
Mihai Parparita
ddbd3adea5 Add missing file from 649bbd8fd9. 2014-07-30 22:29:02 -07:00
Mihai Parparita
649bbd8fd9 Add digest cron handler. 2014-07-30 22:17:04 -07:00
Mihai Parparita
1bc9d53325 Send single email button. 2014-07-29 22:52:36 -07:00
Mihai Parparita
1ffac114ff Move digest rendering into its own template. 2014-07-29 22:29:06 -07:00
Mihai Parparita
63982d15d9 Move rest of digest fetching to digest.go. 2014-07-29 22:18:34 -07:00
Mihai Parparita
b0811da602 Break out accounts, digests, caching and session configuration out of githup.go. 2014-07-29 21:57:33 -07:00
Mihai Parparita
0b7b99b696 Deleted unused OAuth token encode/decode functions. 2014-07-29 21:35:16 -07:00
Mihai Parparita
303e6ca229 Persit OAuth token in datastore. 2014-07-28 22:25:40 -07:00
Mihai Parparita
ceafd4035a Add sign out link. 2014-07-28 21:36:55 -07:00
Mihai Parparita
2391a279f9 Store OAuth token in a session cookie.
Not the final design (it'll instead be persisted to the App Engine data store,
and the session will just have the user ID), but this has most of the
scaffolding for session cookies.
2014-07-26 15:34:47 -07:00
Mihai Parparita
eb1ba582e2 Sort digest repos by name. 2014-07-20 14:38:19 -07:00
Mihai Parparita
c0375fdb37 Include organization repos in the digest. 2014-07-20 14:30:32 -07:00
Mihai Parparita
221a084baf Only look at repos that may have activity in the digest interval. 2014-07-20 14:13:50 -07:00
Mihai Parparita
2024e06a1f Add a basic HTTP cache in front of the GitHub API to speed up development.
Loosely inspired by https://github.com/gregjones/httpcache except we don't want
to follow HTTP semantics, and instead cache all requests.
2014-07-19 15:23:35 -07:00
Mihai Parparita
539c0e41e4 Small refactoring to break up the large handler functions. 2014-07-19 14:34:20 -07:00
Mihai Parparita
dc1225d12d Include all repositories the user has access to, not just those that they own. 2014-07-13 15:55:24 -07:00
Mihai Parparita
057c750f4b Parallelize repository commit fetches.
Also rename Repository struct fields to Repo for brevity.
2014-07-13 14:37:46 -07:00
Mihai Parparita
1a5c6c68c6 Use append() 2014-07-13 13:57:08 -07:00
Mihai Parparita
3b9a42cb73 Add basic digest showing commits from a year ago in a user's repositories. 2014-07-07 23:41:26 -07:00
Mihai Parparita
d2bb784705 Separate index and GitHub OAuth callback handlers.
Also switch to gorilla/mux for the router and fix some variable names to be
mixedCase.
2014-07-06 15:20:49 -07:00
Mihai Parparita
7e04770a2f Experiment with using the events API. 2014-07-05 23:18:59 -07:00
Mihai Parparita
9097e1508b Add basic GitHub OAuth flow. 2014-07-05 22:53:34 -07:00