Joey Hess
bab80bf24a
full input validation for repository path
...
Expands ~ , checks for every crazy input problem I can think of
2012-07-31 20:56:10 -04:00
Joey Hess
c950e8fba0
move out to template
2012-07-31 18:33:19 -04:00
Joey Hess
4b5ffe8f9b
implemented the addrepository form
...
shiny!
2012-07-31 17:57:08 -04:00
Joey Hess
c70496dc7f
improve first run screen
2012-07-31 16:13:09 -04:00
Joey Hess
0d3686972d
form
2012-07-31 12:33:52 -04:00
Joey Hess
04794eafc0
webapp now starts up when run not in a git repo
2012-07-31 12:17:31 -04:00
Joey Hess
e9d9d9d5ea
add icons
2012-07-31 03:10:16 -04:00
Joey Hess
02b345249b
stub
2012-07-31 02:35:07 -04:00
Joey Hess
c77411053b
remove clickability on brand
2012-07-31 02:33:51 -04:00
Joey Hess
2c8bbdf307
made navbar work
...
also added an About page and a stub Config page.
2012-07-31 02:30:26 -04:00
Joey Hess
5fed026bcd
reorg templates
2012-07-31 01:24:49 -04:00
Joey Hess
6e40aed948
fix noscript mode to not allocate notification ids on each refresh
...
Now the javascript does an ajax call at the start to request the url
to use to poll, and the notification id is generated then, once we know
javascript is working.
2012-07-30 22:24:19 -04:00
Joey Hess
2821f9f976
cleanup
2012-07-30 20:35:30 -04:00
Joey Hess
d3413ee5a9
further refactoring my js
2012-07-30 20:33:23 -04:00
Joey Hess
9648acc7a4
got this JS working
2012-07-30 20:22:10 -04:00
Joey Hess
502bc5d5f8
rewrote longpolling, trying to avoid duplication
...
does not work though. stupid JS
2012-07-30 18:01:41 -04:00
Joey Hess
d1358cc96f
fix html
2012-07-30 16:54:38 -04:00
Joey Hess
453b185c85
bring back retry on connection fail
2012-07-30 16:24:55 -04:00
Joey Hess
afacc413e1
bring back connection failure counter
...
Otherwise, navigating between pages can, I guess, cause connection failures
that take down the webapp.
2012-07-30 16:14:27 -04:00
Joey Hess
2400c6faa3
insert modal dialog html from javascript
...
This avoids it being visible all the time in noscript
2012-07-30 16:11:16 -04:00
Joey Hess
703f24b83e
remove href
...
Avoids a reload of the page when closing an alert.
2012-07-30 15:39:24 -04:00
Joey Hess
f4484949ef
consistent wording
2012-07-30 14:53:36 -04:00
Joey Hess
78b3dada5b
better connection close handling
...
Depending on how the webapp was started up and whether the user clicked on
any links in it, window.close() may be disallowed by browser security
policy. Also if that fails, display a modal dialog that nicely blackens out
the webapp.
TODO: avoid Escape closing it. Bootstrap's docs are unclear about how to do
that.
2012-07-30 14:50:32 -04:00
Joey Hess
a994130843
implement server-side alert closing
...
Rather than using bootstrap's client-side closing.
Now closed alerts stay closed.
2012-07-30 14:08:22 -04:00
Joey Hess
1f671ee40c
spruce up display of the repo list
2012-07-30 13:31:19 -04:00
Joey Hess
895b068e35
tweak intro
2012-07-29 22:11:01 -04:00
Joey Hess
675ad9fe22
tweak
2012-07-29 21:58:01 -04:00
Joey Hess
326617ad2f
add intro
2012-07-29 21:54:23 -04:00
Joey Hess
d62b157194
better ordering of alerts
2012-07-29 19:05:51 -04:00
Joey Hess
2dc5697a0a
add
2012-07-29 12:39:10 -04:00
Joey Hess
c2f3e66d8c
show alerts in the sidebar
...
This has a bug -- it seems long polling can only wait on one page at a
time. Need to re-unify the notifiers.
2012-07-29 11:31:06 -04:00
Joey Hess
62dac85880
update the sidebar by long polling
...
Needs to use a different NotificationBroadcaster, and not replace the
whole sidebar div, but instead add in new content. However, it's 3:30 am.
2012-07-29 03:23:17 -04:00
Joey Hess
e96107caf3
move noscript UI to bottom navbar
2012-07-29 01:10:13 -04:00
Joey Hess
38ade1af70
better noscript UI
2012-07-29 00:55:22 -04:00
Joey Hess
376f8443c1
add a separate page for noscript browsers
...
This may be customised differently than the main page later on, but
for now the important thing is that this constantly refreshed page does not
allocate a new NotificationHandle each time it's loaded.
2012-07-29 00:08:14 -04:00
Joey Hess
a498be7f98
renamed /status to /transfers
...
Also fixed a bug; the ident for the div was regnerated each time
/status was called. This only was the same as the original ident due to
luck.
2012-07-28 23:55:41 -04:00
Joey Hess
c0ca6f44ac
template reorg
2012-07-27 20:47:48 -04:00
Joey Hess
ecd63e2981
template cleanup
...
use julius's nice #id and .class things
2012-07-27 20:25:28 -04:00
Joey Hess
7717501fee
add alert close buttons
2012-07-27 16:28:00 -04:00
Joey Hess
0f6292920a
webapp now displays the real running and queued transfers
...
yowza!!!
2012-07-27 11:47:34 -04:00
Joey Hess
7e3c1e008d
webapp now uses twitter bootstrap
...
mocked up the main screen, and am actually pretty happy with it!
2012-07-27 04:48:50 -04:00
Joey Hess
2ba02d260b
add README
2012-07-27 00:40:18 -04:00
Joey Hess
f1c7c475f6
automatically close the webapp window after 3 errors
...
It's unlikely an error would occur unless the server is stopped. But
retrying a few times seems like a good idea anyway.
2012-07-27 00:17:04 -04:00
Joey Hess
f5ef46d01e
cleaned up refreshing code into a widget
...
Very happy to have a reusable autoUpdate widget that can make any Yesod
widget automatically refresh!
Also added support for non-javascript browsers, falling back to meta
refresh.
Also, the home page is now rendered with the webapp status on it, before
any refreshing is done.
2012-07-26 21:03:46 -04:00
Joey Hess
9fd03c65f9
webapp now does long polling
...
The webapp is now a constantly updating clock! I accomplished this amazing
feat using "long polling", with some jquery and a little custom java
script.
There are more modern techniques, but this one works everywhere.
2012-07-26 17:56:24 -04:00
Joey Hess
9d6b59d0e2
use the secret token for authentication, and add to all dynamic urls
2012-07-26 04:50:09 -04:00
Joey Hess
3ac2cf09e5
added a custom defaultLayout, static site, and favicon
...
Broke hamlet out into standalone files.
I don't like the favicon display; it should be served from /favicon.ico,
but I could only get the static site to serve /static/favicon.ico, so
I had to use a <link rel=icon> to pull it in. I looked at
Yesod.Default.Handlers.getFaviconR, but it doesn't seem to embed
the favicon into the binary?
2012-07-26 02:45:01 -04:00