Commit graph

167 commits

Author SHA1 Message Date
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
774f4b9769 Mention current URL in README 2014-08-23 20:57:37 -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
1384667bfd Add basic README. 2014-08-01 21:29:18 -07:00
Mihai Parparita
fcd505f621 TODO is now in a Quip doc. 2014-07-30 22:46:03 -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
97683cb538 Add note about commit email addresses. 2014-07-27 21:44:31 -07:00
Mihai Parparita
7fa9babac9 One more TODO. 2014-07-27 21:41:50 -07:00
Mihai Parparita
5ba00c78a7 Another TODO 2014-07-26 15:36:09 -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