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