Commit Graph

331 Commits

Author SHA1 Message Date
Brion Vibber
d075fac7b8 Preview thumbnails of uploaded image attachments before posting on supporting browsers.
Tested working so far:
* Firefox 3.6 and 4.0 (FileReader -> data URL)
* Chrome 8 (createObjectURL; FileReader also works)

Tested with limited support:
* Safari 5.0.3 (no preview, but we can show type and size)

Tested and known not to support FileAPI, keeps current behavior:
* Opera 11 beta
2010-11-24 12:20:25 -08:00
Brion Vibber
b73c162256 Partial fix for tickets #2194, #2393: Workaround for Meteor breaking AJAX error responses returned on posting new notices. Fixes things in Firefox 4, but Safari 5 and Chrome 8 still don't return data... either on success or failure! Sigh.
The Meteor realtime plugin sets document.domain to the common prefix between the main server and the Meteor server's hostnames, which overrides the same-origin controls on JavaScript DOM access so the two parts of the app can speak to each other.
This unfortunately causes "fun" side effects for XMLHTTPRequest access to the main domain... if the new domain doesn't match the actual host (eg 'status.net' instead of 'brion.status.net') then we can't access the XHR's responseXML attribute, which holds a DOM tree of the parsed XML return data.
As a workaround, if we can't get at the contents there, we'll parse a fresh DOM tree in the local context from the responseText property, which remains available.

In the longer term, recommend retooling the realtime stuff so it's not fiddling with document.domain. It could also be an issue as it could allow local JavaScript XSS attacks to migrate to subdomains in other open windows.
2010-11-17 16:08:41 -08:00
Brion Vibber
cda59dc177 drop a comma which isn't actually an error but keeps throwing annoying warnings in netbeans 2010-11-12 12:10:51 -08:00
Brion Vibber
62467f51e5 Drop commented-out code from old lightbox & thumbnail popup stuff 2010-11-12 12:10:29 -08:00
Brion Vibber
551b196a35 doomy doom doom 2010-11-08 15:32:41 -08:00
Brion Vibber
32321de5e0 Some initial testing w/ thumb gen 2010-11-08 14:20:23 -08:00
Brion Vibber
5a9bb0adc4 Tossing in a basic i18n message export to script code. Plugins can hook StartScriptMessage/EndScriptMessage, or directly add needed mappings in Action::getScriptMessages(). Exported entries are accessible as SN.msg(key) at runtime.
StatusNet core code now sets the tooltip text on .attachment.more links when they receive their attachment-expansion magic; this will override the hardcoded tooltip text saved from OStatus plugin when displaying timelines in the web UI.
2010-11-02 13:05:16 -07:00
Evan Prodromou
0c5ca46ba3 combine our standard scripts into one big script 2010-09-02 22:21:07 -04:00
Brion Vibber
34995df879 TinyMCE: counter support (may not be 100% exact match to server-side count, but there's already discrepencies due to URL shortening)
Fix for bad char conversions also, caused short text to not be saved in some cases.
2010-08-12 12:47:07 -07:00
Brion Vibber
54d723adc1 Initial fix for #2479: New post should be displayed on timeline only if it belongs there (AJAX post)
Previously we pushed out your latest post into the currently visible timeline regardless of whether it belonged there or not. This could be pretty confusing!

Currently we don't have clearly machine-readable info on the page and returned notice HTML to determine whether it belongs, but we can do a couple checks easily which I've added:
* public timeline (always show)
* 'and friends' timeline (show for your own page only)
* profile timeline (show for your own page only)

Other places that should be added in the future:
* group timelines if it's a group your posting to
* tag timelines if the post contains the tag
* reply & friends timelines for people you've mentioned

Currently those aren't easy since the mention/group target links in the notice HTML are using the canonical form with user or group ID, while the available navigation links we can use to identify the current page use the names.
2010-07-29 13:27:09 -07:00
Zach Copley
72e486a322 Fix for ticket http://status.net/open-source/issues/2380 "Autofocus
shouldn't override scroll" -- Thanks @michaeltwofish!
2010-06-23 11:29:13 -07:00
Sarven Capadisli
534c12e540 Revert "Multiple file upload handling."
This reverts commit 260f00d60b.

As mentioned in
260f00d60b (comment_8367)

Reverting this merge until the bugs are fixed and there is a general
agreement on the need for this enhancement.
2010-03-31 10:57:20 +02:00
Nick Holliday
260f00d60b Multiple file upload handling. 2010-03-26 18:28:54 -04:00
Sarven Capadisli
94f904bf66 Fix for XHR more text behaviour on conversation pages 2010-03-26 14:56:15 +01:00
Sarven Capadisli
7dd701fbb3 Added processing indicator for more anchor 2010-03-18 23:00:38 +01:00
Sarven Capadisli
d8a533274f Updated 'more' anchor for attachments to do an XHR GET 2010-03-18 00:19:32 +01:00
Sarven Capadisli
910108b9ae Removed unnecessary form_id. Using jQuery .find() instead of
constructing the selector.
2010-03-16 21:02:56 +01:00
Sarven Capadisli
e8c7873b79 Added extra condition to focusing on notice form on page load. If the
window location contains a fragument identifier, it will skip focus
and do what the UA does natively.
2010-03-16 20:53:49 +01:00
Brion Vibber
79ffebb51b OStatus: save file records for enclosures
Also stripping id from foreign HTML messages (could interfere with UI) and disabled failing attachment popup for a.attachment links that don't have a proper id, so you can click through instead of getting an error.

Issues:
* any other links aren't marked and saved
* inconsistent behavior between local and remote attachments (local displays in lightbox, remote doesn't)
* if the enclosure'd object isn't referenced in the content, you won't be offered a link to it in our UI
2010-03-02 16:36:08 -08:00
Sarven Capadisli
9f94d6defa Changed the geo location cookie Expire to Session. 2010-03-02 19:15:24 -05:00
Sarven Capadisli
a0f6977baa Fixes replyto JS after the upgrade from jQuery 1.4.2 2010-02-25 14:51:23 +01:00
Sarven Capadisli
959171acac Added a cookie for the nickname cookie for the login page and prefill
the input field.
2010-02-24 16:39:16 +01:00
Sarven Capadisli
1f45273d53 Moved StatusNetInstance into SN in util.js 2010-02-24 16:35:20 +01:00
Sarven Capadisli
2e258454f3 Minor optimization to only bind an hover event to the notice at hand. 2010-02-16 17:36:45 +01:00
Sarven Capadisli
3b8d060c29 Fix to allow any notice item with an attachment to use the overlay view 2010-02-16 17:09:34 +01:00
Sarven Capadisli
dcd9b2a405 Refactored repeat confirmation dialog. Also fixes dialog skipping. 2010-02-10 11:16:27 +01:00
Sarven Capadisli
d73746641b Reusing fixed selector name for 'processing' in util.js 2010-02-01 15:13:54 +01:00
Sarven Capadisli
91b99863fa Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-01-31 22:42:50 +00:00
Sarven Capadisli
9f36c10001 Updated XHR binded events to work better in jQuery 1.4.1. Using
.live() for event delegation instead of jQuery.data() and checking to
see if an element was previously binded.
2010-01-31 22:37:22 +00:00
Sarven Capadisli
4d0ee6a41f Globalized form notice data geo values 2010-01-30 15:28:31 +01:00
Sarven Capadisli
aa3170cf34 Using jQuery chaining in FormNoticeXHR 2010-01-30 15:19:13 +01:00
Sarven Capadisli
bb0bf635d8 Using form object instead of form_id and find(). Slightly faster and
easier to read.
2010-01-30 15:03:01 +01:00
Sarven Capadisli
817f01c3b1 Setting the geo location cookie expire date far into the future: 2029 ;) 2010-01-26 01:59:47 +01:00
Sarven Capadisli
d17b7fa19b Setting the geo location cookie expire date far into the future: 2029 ;) 2010-01-26 01:58:10 +01:00
Sarven Capadisli
591c5037a7 An update to geolocation cookie to use a single file and set the
expiry date to 30 days from now.
2010-01-26 01:12:06 +01:00
Brion Vibber
a7a0041a11 Quick hack to avoid breaking with geonames off when there's some old cookie state. This code's a little rough and tumble; any breakage halts JS execution and leaves the spinner going and no message submitted. 2010-01-26 00:25:20 +01:00
Sarven Capadisli
a35c52b6be Some JS cleaning up for NoticeLocationAttach (which fixes also fixes a
few bugs in WebKit)
2010-01-26 00:25:13 +01:00
Sarven Capadisli
2e643071ff Took out focus out of textare when location share is enabled/disabled.
Also avoids the conflict with the URL fragment on the conversation page.
2010-01-26 00:25:06 +01:00
Sarven Capadisli
f9cc3e6d94 Added missing position paramater 2010-01-26 00:24:57 +01:00
Sarven Capadisli
cae2429d12 JSLinting on JSON 2010-01-26 00:24:44 +01:00
Sarven Capadisli
73f6250b9d An update to geolocation cookie to use a single file and set the
expiry date to 30 days from now.
2010-01-25 14:55:04 +00:00
Sarven Capadisli
c367e09d11 Some JS cleaning up for NoticeLocationAttach (which fixes also fixes a
few bugs in WebKit)
2010-01-24 00:21:42 +01:00
Sarven Capadisli
940fc463c8 Took out focus out of textare when location share is enabled/disabled.
Also avoids the conflict with the URL fragment on the conversation page.
2010-01-24 00:20:48 +01:00
Sarven Capadisli
f043bc62a5 Added missing position paramater 2010-01-24 00:18:52 +01:00
Sarven Capadisli
68c864c95a JSLinting on JSON 2010-01-24 00:18:39 +01:00
Brion Vibber
4b0f953ccf Quick hack to avoid breaking with geonames off when there's some old cookie state. This code's a little rough and tumble; any breakage halts JS execution and leaves the spinner going and no message submitted. 2010-01-21 16:30:03 -08:00
Sarven Capadisli
acc48289e5 Update geo location UI for notice form where the geo data info is only
visible on @title of the enable/disable button.
2010-01-14 01:48:57 +00:00
Sarven Capadisli
d84c33c328 Unchecks location sharing for geo location if it timesout 2010-01-13 15:51:32 +00:00
Sarven Capadisli
af97a14f7c Timeout should be 10000, not 10
Revert "Unchecks location sharing for geo location if it timesout"

This reverts commit 8887d7a314.
2010-01-13 15:50:45 +00:00
Sarven Capadisli
8887d7a314 Unchecks location sharing for geo location if it timesout 2010-01-13 15:48:26 +00:00
Sarven Capadisli
2000d2d36b Added timeout error handling for geo location 2010-01-13 15:36:42 +00:00
Sarven Capadisli
9b2fdefe39 Using a JSON object for NoticeDataGeo text instead 2010-01-13 15:21:43 +00:00
Sarven Capadisli
70bdaeeb09 Explicitly reseting notice_in-reply-to value 2010-01-11 12:19:53 +00:00
Sarven Capadisli
8901e01692 Added i18n text for @title values in geo sharing actions 2010-01-08 18:07:02 +00:00
Sarven Capadisli
febe64625e Focus on the notice textarea after share, minimize, close button actions 2010-01-08 16:51:18 +00:00
Sarven Capadisli
17913d4427 Makes sure that if geo location sharing is disabled, it doesn't use
the HTML output. If cookie is set, use those values for XHR notice post
2010-01-08 16:43:03 +00:00
Sarven Capadisli
064f13f3ab Stores geo view's minimized state in a cookie 2010-01-08 14:23:37 +00:00
Sarven Capadisli
54c18e68da Some code cleaning for geo UI 2010-01-08 13:58:23 +00:00
Sarven Capadisli
69f567c7be Using cookies to minimize lookups to Geonames 2010-01-08 13:36:52 +00:00
Sarven Capadisli
a08e683ac3 Reuse cookie location_enabled before .change() 2010-01-05 01:31:34 +00:00
Sarven Capadisli
eb9514120a Retain the geo data when FormNoticeXHR is complete because form gets
reset
2010-01-05 01:15:08 +00:00
Sarven Capadisli
db1a7d6f88 Remove input geo data as well 2010-01-05 00:37:53 +00:00
Sarven Capadisli
9fadfd850e If user checked shared location but didn't enter their location, don't
show the checkbox
2010-01-05 00:15:26 +00:00
Sarven Capadisli
d59ffeaab5 Refactored NoticeLocationAttach(). It works better in UAs that don't
support Geolocation API.
2010-01-04 23:36:22 +00:00
Sarven Capadisli
a0f7896f22 Ran NoticeLocationAttach() through jslint 2010-01-04 13:44:32 +00:00
Sarven Capadisli
dcd3292f57 Relocated @title removal 2010-01-04 12:44:48 +00:00
Sarven Capadisli
ad323575e6 Refactored geo location removal to removeNoticeDataGeo() 2010-01-04 10:07:32 +00:00
Sarven Capadisli
fe8927a42c Added errorCallback() to geoCurrentPosition() i.e., if user doesn't
grant permission, removes the Geo processing and (if any) existing geo
location data from notice form.
2010-01-04 09:52:35 +00:00
Sarven Capadisli
d1998adb13 Trim whitespace from label's textContent 2010-01-04 09:29:41 +00:00
Sarven Capadisli
9f9dcd2bf5 Using object value instead of inline string 2010-01-04 09:14:14 +00:00
Sarven Capadisli
50af9c5c40 Open geoname URL in a new window 2010-01-04 09:10:21 +00:00
Sarven Capadisli
94af0d1279 Fix end tag 2010-01-03 02:07:55 +00:00
Sarven Capadisli
467ae9d9e7 Button should return false 2010-01-03 02:00:12 +00:00
Sarven Capadisli
aef31280f3 Moved location container's buttons inside enabled state 2010-01-03 01:48:41 +00:00
Sarven Capadisli
4983564949 Reset location icon when container button.close is clicked 2010-01-03 01:17:51 +00:00
Sarven Capadisli
503d0acd49 Added minimize functionality to selected location container 2010-01-03 01:02:32 +00:00
Sarven Capadisli
ec5850d26a Changed location share representation to be more like the file
attachment. Init UI. Probably a little buggy.
2010-01-03 00:33:41 +00:00
Sarven Capadisli
01dbee2ba5 Initial UI for geo location share option in notice form 2009-12-31 18:41:10 +00:00
Sarven Capadisli
9496f2735e Moving notice_data-location_wrap after notice form fieldset 2009-12-31 18:27:05 +00:00
Sarven Capadisli
dde6415a6a Moved JavaScript dependant stuff out of noticeform. 2009-12-31 18:08:21 +00:00
Sarven Capadisli
e84bf0aa98 jQuery select SN.C.S.NoticeLocationName once. 2009-12-31 17:02:02 +00:00
Sarven Capadisli
5a66d27637 Using semicolon to seperate lat and long; RFC2426 2009-12-31 16:37:46 +00:00
Sarven Capadisli
ccf78976a5 NoticeLocationAttach() slightly more readable 2009-12-31 16:34:07 +00:00
Sarven Capadisli
58465d74ba Compare by type 2009-12-31 16:25:51 +00:00
Sarven Capadisli
e06292c2a2 If UA doens't support navigation.geolocation or have JavaScript
enabled, the user should still be able to enable/disable their share
location setting per notice.
2009-12-31 16:19:49 +00:00
Sarven Capadisli
5103cb670a length is faster than size() 2009-12-31 16:15:24 +00:00
Craig Andrews
98ce7daf56 Implement user interface for user to preview what location they are sharing with a notice 2009-12-29 16:18:52 -05:00
Sarven Capadisli
05c1ad8b32 Updated Repeat notice option submit button style 2009-12-23 15:59:31 -05:00
Sarven Capadisli
bc4f1824ea Init UI for Repeat notice option confirmation dialog. 2009-12-23 15:42:37 -05:00
Evan Prodromou
1204178660 rename forward form to repeat form in JS 2009-12-11 10:12:34 -05:00
Evan Prodromou
f5bfa11db2 Revert "remove NoticeForward from util.js"
This reverts commit 038fbddd02.
2009-12-11 10:10:53 -05:00
Evan Prodromou
038fbddd02 remove NoticeForward from util.js 2009-12-10 14:41:18 -05:00
Sarven Capadisli
c0aad854f7 If ElementData is set on the notice form, use the existing MaxLength 2009-12-10 14:52:05 +01:00
Sarven Capadisli
c855907f59 Calling NewDirectMessage 2009-12-10 14:29:27 +01:00
Sarven Capadisli
1e166e1bc4 Updated FormNoticeEnhancements and Counter to use the max text value
from HTML. It also allows each .form_notice to have its own counter.
2009-12-10 14:16:07 +01:00
Evan Prodromou
41cbb90fae add (ugly) form to forward notices 2009-12-08 17:31:23 -05:00
Sarven Capadisli
c4f329ed54 Added form_response class to XHR notice posts 2009-12-07 10:26:29 +00:00
Sarven Capadisli
5a55b5a3ce Fixed missing " for element attribute 2009-12-07 10:10:17 +00:00
Sarven Capadisli
c9b6a90c99 Use .resetForm() instead of manually setting notice form's control values to null 2009-12-07 10:08:07 +00:00
Sarven Capadisli
af0f905e24 If the XHR error suggests that the xhr.status is 0 (i.e., it didn't
receive an XHR object as expected), threat it as a success like HTTP
20x or 30x because the notice most likely went through. jquery.form.js
(for file uploads) and meteor.js both use an iframe and they (somehow)
appear to be in conflict. Notice always goes through, however,
xhr.status is 0. Further investigation is needed.
2009-12-07 09:55:12 +00:00