Commit Graph

266 Commits

Author SHA1 Message Date
Robin Ward
f8e6d05b8d
FIX: Small timeline docking tweaks 2016-05-31 10:51:55 -04:00
Robin Ward
1e3e4a95fd
FIX: Timeline has to dock at the top too for long titles + banners 2016-05-31 10:51:53 -04:00
Robin Ward
1584033d7a
UX: Don't display the timeline on thinner browser widths 2016-05-31 10:51:53 -04:00
Robin Ward
fa2bffd618
FIX: Dock the timeline if you scroll down too much 2016-05-31 10:51:41 -04:00
Robin Ward
187d7d6f96
Remove more views and deprecations. 2016-04-28 16:17:18 -04:00
Robin Ward
04ec679d82
Fixes some deprecations:
- LoadMore as a Mixin for discovery, groups
- Removed Views for discovery, groups
2016-04-28 15:25:45 -04:00
Robin Ward
d7b568f98e REFACTOR: Remove view from badges-show 2016-03-25 12:11:39 -04:00
Robin Ward
d129c61a4a FIX: Badge loading more was stuck 2016-03-25 12:11:39 -04:00
Robin Ward
54445f21c1 FIX: .js files can't use ES6 syntax 2016-03-18 12:53:48 -04:00
Robin Ward
5d4ee2ca1d FEATURE: Warn a user when they have few likes remaining 2016-03-18 11:30:29 -04:00
Sam
dd6ebde824 FIX: Always ensure notifications are treated as read once clicked
UX: improve messaging so notifications list is far more stable
PERF: improve performance of notifcation lookup queries

- Add feature "SetTransientHeader" that allows shipping info to server
   in the next Ajax request
- remove local storage hack used for notifications
- amend lookupStale to return hydrated objects, move logic into store
- stop magically clearing various notifications (likes, invitee accepted, group_summary, granted badge)
2016-02-15 19:29:47 +11:00
Sam
a8b5192efd FEATURE: User page refactor
Re-organise user page so it is easier to find interesting info
split it into tabs

- Introduce notifications and messages tabs
- Stop couting stuff for the user page to speed up rendering
- Suppress more information when viewing your own profile
2015-12-20 16:45:49 +11:00
Sam
c3f08145b8 FIX: Chrome scrolling page up when you expand likes 2015-12-17 16:56:18 +11:00
Arpit Jalan
99c1aa2e85 optimize OpenComposer Mixin 2015-11-24 23:39:19 +05:30
Arpit Jalan
362c515f33 FEATURE: compose a new pre-filled message via URL 2015-11-24 18:55:45 +05:30
Sam
5c899c765b Revert "Revert "REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS""
This reverts commit c21457d6a7.
2015-11-21 12:27:06 +11:00
Robin Ward
c21457d6a7 Revert "REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS"
This reverts commit c0b277d273.
2015-11-20 10:00:12 -05:00
Sam
c0b277d273 REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS
This change is discussed here: https://meta.discourse.org/t/deprecating-es6-compatibility-layer/35821

Prior to this change we were not booting correctly with DISCOURSE_NO_CONSTANTS
2015-11-21 00:14:50 +11:00
Robin Ward
f5b34d5f53 FEATURE: Admin interface for editing email templates 2015-11-19 16:39:34 -05:00
Robin Ward
f85d848649 Remove a bunch of old deprecated code 2015-11-10 13:09:05 -05:00
Régis Hanol
ef2f77339a FIX: use '#main' height to check whether screen is full or not 2015-11-04 19:41:12 +01:00
Arpit Jalan
4a880a758f FEATURE: new Dismiss posts/topics modal 2015-10-20 16:07:02 +05:30
Robin Ward
6b48647fc7 FIX: Double load sometimes on topic lists 2015-09-23 11:48:58 -04:00
Sam
ec4a1bb2c4 FIX: page tracking was not properly tracking transitions
PERF: move closure to self contained method so env is released earlier.
2015-09-17 11:06:33 +10:00
Robin Ward
975edceff4 Add semi colon linting to Javascript 2015-09-15 17:08:50 -04:00
Régis Hanol
48c3fa423a FIX: auto-focus input field on Safari was closing the modal 2015-09-14 12:39:46 +02:00
Robin Ward
3ceadbd5b8 FIX: Allow qunit tests to run in browser by stubbing new functionality 2015-09-09 16:20:36 -04:00
Régis Hanol
4f890a439c FIX: automatically load pages of topics list until it fills up the entire screen 2015-09-09 17:41:34 +02:00
Robin Ward
8e776d0fd7 Move TopicTrackingState to injected object 2015-09-04 13:00:24 -04:00
Sam
a54e8f3c5e FEATURE: live refresh notifications as they happen 2015-09-04 13:20:33 +10:00
Sam
8bc7423045 UX: On first load of notifications don't use cached data 2015-09-04 10:43:26 +10:00
Robin Ward
6fb69d4434 Notifications cache should use localStorage wrapper 2015-09-01 14:45:24 -04:00
Robin Ward
ddf0db0338 Refactor notifications localStorage cache into adapter pattern.
Sometimes you want stale data right away, then refresh it async.
This adds `findStale` to the store for that case. If it returns
an object with `hasResults` you can get the `results` and display
them.

It also returns a `refresh()` method to freshen up the stale data.

To enable `localStorage` support for stale data, just include the
mixin `StaleLocalStorage` into an adapter for that model. This
commit includes a sample of doing that for `Notifications`.
2015-08-31 14:12:27 -04:00
Régis Hanol
3409f25c53 remove console.log (@eviltrout get out of my head) 2015-08-26 19:57:48 +02:00
Régis Hanol
31f0300b06 FIX: category class in body + memory leak 2015-08-26 19:56:51 +02:00
Robin Ward
abd9b26642 Convert Badges / User Badges to ES6. 2015-08-19 12:09:10 -04:00
Arpit Jalan
e526fb0d1c FIX: fix new-topic composer issue 2015-08-15 12:18:37 +05:30
Robin Ward
02a968bd27 Remove ObjectController, Discouse Controllers + Presence 2015-08-13 10:49:08 -04:00
Robin Ward
e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Régis Hanol
a8d20c623f FIX: eyeline was broken in dev 2015-08-13 12:42:57 +02:00
Robin Ward
b7e6eaa961 ES6ify some of the remaining files 2015-08-10 10:21:05 -04:00
Sam
c2fd93ffa8 DEV: allow Discourse.ajax to be aborted if needed 2015-08-10 16:12:51 +10:00
Kane York
4ffca82bab FIX: Issue scroll event after rendering 2015-08-05 11:12:41 -07:00
Régis Hanol
fb65970530 FIX: footer should also be hidden when using back/forward buttons 2015-07-31 16:53:18 +02:00
Régis Hanol
d7aa4e81d6 revert 8f435fcbf6 2015-07-31 15:22:30 +02:00
Régis Hanol
8f435fcbf6 FIX: wrong track view header 2015-07-31 15:03:35 +02:00
Kane York
8796760825 FIX: Allow changing ownership of posts with deleted users 2015-07-14 21:15:34 -07:00
Robin Ward
ac2f5cbdab FIX: Admin user fields weren't showing errors
Also updated it to remove deprecations and item controller
2015-07-10 12:31:30 -04:00
Régis Hanol
9e7eb4c48b FIX: show email wasn't working for moderators 2015-06-12 18:43:53 +02:00
Sam
bb3fb37650 FIX: when uploading same file was pasted into multiple composers 2015-05-28 15:08:54 +10:00
Neil Lalonde
89031b9186 FIX: uploads when deployed to a subfolder 2015-05-27 14:43:14 -04:00
Régis Hanol
85d4d3223c FIX: crop avatars on the server instead of the client
FIX: support for dots in S3 bucket names
2015-05-26 15:54:25 +02:00
Régis Hanol
bb0c2813ac FEATURE: generate (avatar) thumbnails in a background task
FIX: keep the "uploading..." indicator until the server replies via the MessageBus
FIX: text was disapearing when uploading an avatar

PERF: always use a region for S3 (defaults to 'us-east-1')
FEATURE: ApplyCDN middleware when using S3
FIX: use the same pattern to store files on S3 and locally
PERF: keep a local cache of uploads when generating thumbnails
FEATURE: migrate_to_s3 rake task
2015-05-25 17:59:00 +02:00
Régis Hanol
8d967d9065 FEATURE: move all uploads to a single endpoint + defer upload creation in a background thread 2015-05-20 16:45:48 +02:00
Robin Ward
0a35b20933 Convert Discourse.ScrollTop to ES6 2015-05-19 12:51:03 -04:00
Régis Hanol
ff227eabe6 FIX: select posts 2015-05-12 12:54:28 +02:00
Robin Ward
0b65c88003 Upgrade Notifications to fix deprecations and use store 2015-05-11 11:20:45 -04:00
Robin Ward
aab9706b7a Fixes deprecations on user routes 2015-05-11 11:20:45 -04:00
Robin Ward
c6d99bd141 Fixes routing in tests 2015-05-11 11:18:38 -04:00
Robin Ward
ed398e65e0 Fixes issues with composer 2015-05-11 11:18:38 -04:00
Robin Ward
aee12fd6ef Ember Deprecations for Topics 2015-05-11 11:18:37 -04:00
Robin Ward
690b579a96 Fixes some deprecations 2015-05-11 11:18:37 -04:00
Arpit Jalan
8b876a3c21 convert open-composer mixin to es6 2015-05-09 01:01:50 +05:30
Arpit Jalan
6cc092d54c FEATURE: support category/subcategory name in new-topic route 2015-05-08 23:33:06 +05:30
Arpit Jalan
480cea7284 FEATURE: accept category_id as new-topic param to better support subcategory 2015-05-01 21:40:28 +05:30
Arpit Jalan
cff6e49eb7 FEATURE: prefill topic title, body and category via URL 2015-04-29 00:01:10 +05:30
Robin Ward
3a6efa25f0 Allow ReadOnly to propogate up to the Ember app via Response Header 2015-04-24 14:37:16 -04:00
Robin Ward
a83a19f6ce ES6 module migrations 2015-04-15 14:54:36 -04:00
Régis Hanol
260b94e7e1 FIX: category class on body was busted (:fired:) 2015-03-27 23:07:05 +01:00
Régis Hanol
cb14ab7a14 FEATURE: add archetype class to body 2015-03-27 16:56:42 +01:00
Régis Hanol
11bf7da63c FIX: profile picture wasn't properly updating 2015-03-19 19:57:07 +01:00
Robin Ward
3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Robin Ward
77f9d1e223 Use pretender's passthrough for dynamically loaded scripts 2015-03-13 12:14:22 -04:00
Robin Ward
f50280a889 Split out bulk operations modal and Discourse.Route.showModal
This makes it easier to share bulk topic operations, for example
from a plugin's custom topic list.
2015-03-10 15:40:56 -04:00
Robin Ward
aeb0fc7559 Support for models to update themselves. Needed for discourse-tagging 2015-03-05 12:45:13 -05:00
Robin Ward
be9feeb918 Replace CurrentUserMixin with an injected currentUser
This is a lot simpler and removes the need for stubbing singletons
in unit tests.
2015-02-27 10:33:39 -05:00
Régis Hanol
7b8c7ff3ef FIX: sub-categories with the same name had the same background image 2015-02-12 18:21:07 +01:00
Robin Ward
8ec4d07bf2 Minor refactoring to help with Tags RSS 2015-02-12 11:53:21 -05:00
Régis Hanol
db53e022cc FEATURE: prevent upload of more than 10 files at a time 2015-02-11 19:34:48 +01:00
Robin Ward
cf3582bedb FIX: JSHint wasn't validating ES6 files, this fixes a bunch of errors. 2015-02-10 17:21:16 -05:00
Sam
1d3f4f6935 only send track view on get requests 2015-02-06 14:39:15 +11:00
Robin Ward
a852f6c56f Add Discourse-Track-View header to XHR when transitioning 2015-02-05 16:07:51 -05:00
Robin Ward
68c2eb9a5b Remove deprecated Discourse.ajax methods. 2015-02-05 11:07:15 -05:00
Sam
784697bf12 added todo 2015-01-30 15:11:46 +11:00
Régis Hanol
cd2c9edb46 FIX: 🐛 upload on IE9 wasn't working :'(
- FIX: make sure we set a default name to a pasted image only on Chrome (the only browser that supports it)
- FIX: use ".json" extension to uploads endpoints since IE9 doesn't pass the correct header
- FIX: pass the CSRF token in a query parameter since IE9 doesn't pass it in the headers
- FIX: display error messages comming from the server when there is one over the default error message
- FIX: HACK around IE9 security issue when clicking a file input via JavaScript (use a label and set `visibility:hidden` on the input)
- FIX: hide the "cancel" upload on IE9 since it's not supported
- FIX: return "text/plain" content-type when uploading a file for IE9 in order to prevent it from displaying the save dialog
- FIX: check the maximum file size on the server 💥
- update jQuery File Upload Plugin to v. 5.42.2
- update JQuery IFram Transport Plugin to v. 1.8.5
- update jQuery UI Widget to v. 1.11.1
2015-01-28 19:43:20 +01:00
Régis Hanol
b003c2b4f3 let's try category class again 2015-01-27 23:44:47 +01:00
Sam
d52b0a2458 temporarily disable category class on body while debugging issue with missing docking header 2015-01-27 13:43:40 +11:00
Régis Hanol
088260f053 BREAK: improve consistency by using 'category-<slug>' instead of 'category-<id>' as css class 2015-01-26 23:11:41 +01:00
Robin Ward
28f702a5b6 Refactor app events to more efficiently handle post highlighting 2015-01-14 15:50:19 -05:00
Sam
3f0a4b9e52 FEATURE: default string buffer will use a raw template 2014-12-31 12:31:45 +11:00
Régis Hanol
45dbdb6896 FEATURE: custom emojis 2014-12-23 01:12:26 +01:00
Robin Ward
7069ee16e2 FIX: Javascript error when uploading backup 2014-12-08 12:38:36 -05:00
Régis Hanol
0947191060 UX: improved our footer handling
- new "show-footer" mixins
- converted most of the routes to ES6
- FIX: handling of "indexStream" in user pages

There will now be a footer on all the following pages
- /exception
- /about
- /latest
- /new
- /unread
- /starred
- /top
- /categories
- /c/:category
- /c/:category/l/latest
- /c/:category/l/new
- /c/:category/l/unread
- /c/:category/l/top
- /t/:topic/:id
- /groups/:name/members
- /user/activity
- /user/activity/topics
- /user/activity/posts
- /user/activity/replies
- /user/activity/likes-given
- /user/activity/likes-received
- /user/activity/bookmarks
- /user/activity/starred
- /user/badges
- /user/notifications
- /user/flagged-posts
- /user/deleted-posts
- /user/private-messages
- /user/private-messages/mine
- /user/private-messages/unread
- /user/invited
- /user/:username/preferences
- /faq (static pages)
- /badges
- /badges/:id/:badge
2014-11-19 20:37:43 +01:00
Robin Ward
5de43930e9 FIX: The whole page was a drag-n-drop target even when there were
multiple file upload components.
2014-10-22 14:37:35 -04:00
Robin Ward
71f211f0b3 FEATURE: Allow users to select a badge with an image to appear on their
user card
2014-10-20 16:35:38 -04:00
Régis Hanol
7e309a21cf FEATURE: hide emails behind a button for staff members 2014-09-29 22:31:05 +02:00
Robin Ward
0fc0533134 FEATURE: Admin interface for adding custom fields for users 2014-09-25 16:17:51 -04:00
Robin Ward
f05d2ed7cf PERF: Do far fewer checks and use a lot less memory when loading more 2014-08-27 15:31:06 -04:00
Robin Ward
c1aa2458f8 UX: Add drop down for top lists, big refactor of repeated code. 2014-08-21 16:08:47 -04:00
Robin Ward
0adfeb1cff ES6: Mega update of controllers 2014-08-13 10:22:47 -04:00
Robin Ward
3f316b29f0 FIX: Don't trigger scrolled while the router is transitioning. 2014-08-08 17:38:30 -04:00
Robin Ward
271374a8c6 Remove some Ember.Deferred usage. It's deprecated. 2014-08-07 17:22:00 -04:00
Sam
ce942fe324 FIX: never cache ajax GET requests unless specified 2014-08-06 16:16:29 +10:00
Robin Ward
3c66e48573 TESTS: Remove URL_FIXTURES constant for pretender 2014-08-01 17:27:01 -04:00
Robin Ward
c5b5db48cf TESTS: Reset the preload store for testing 2014-07-31 13:25:40 -04:00
Robin Ward
b88a8d2416 FIX: Clicking navigation pills a second time should refresh the list
you're looking at.
2014-07-24 14:59:53 -04:00
Robin Ward
62ef81d895 FIX: Don't scroll to top if there's an anchor present. 2014-07-16 18:14:39 -04:00
Robin Ward
3368e23fe4 ES6: Preferences views 2014-07-15 12:36:57 -04:00
Régis Hanol
ef44b6218d FEATURE: better mobile upload experience (upload the picture right away) 2014-07-09 22:40:22 +02:00
riking
0d4163e0a2 FEATURE: Nice error handling page 2014-07-03 07:52:14 -07:00
riking
0612018569 Include the 'textStatus' field in DC.ajax rejection 2014-07-03 07:52:12 -07:00
Robin Ward
7a739eb373 FIX: Don't lose background class while navigating from /latest to
`/new`
2014-07-01 16:06:47 -04:00
Robin Ward
e22688a204 FEATURE: Can upload images to categories 2014-06-30 14:14:00 -04:00
Robin Ward
9000c358d1 REFACTOR: Use common path for RESTful DELETE action from upload image
component
2014-06-30 14:13:59 -04:00
Robin Ward
3cbb32cc20 REFACTOR: uploading avatar should share code with upload component 2014-06-30 14:13:59 -04:00
Robin Ward
580a1bf8b0 ES6: Migrated and deprecated a bunch of views 2014-06-10 11:54:38 -04:00
riking
1540a3d5e5 Allow changing ownwership of posts by admins 2014-04-08 01:47:42 -07:00
riking
3f35d1062e Remove trailing commas, add trailing semicolons 2014-03-18 18:21:10 -07:00
riking
593f5df503 Corrections to JSDoc 2014-03-18 18:19:20 -07:00
Régis Hanol
a86002f582 add case insensitive test on ajax request type 2014-02-13 13:31:13 -08:00
Régis Hanol
7a85e06119 BUGIX: no draft key when creating a topic from the /top page 2014-02-11 13:51:21 -08:00
Robin Ward
b61b33c0fa Add groups list to the poster expansion when you click an avatar while
in a topic.
2014-02-10 12:30:36 -05:00
Robin Ward
42117c684f Remove console from .jshintrc. If we need our app to log, use
`Ember.Logger` instead.
2014-01-28 17:13:34 -05:00
Robin Ward
0c0833d6b9 FIXES #1833, thanks @stefanpenner 2014-01-17 10:44:42 -05:00
Robin Ward
a502266c42 Enable JSHINT's unused option. It caught a bunch of suspicious stuff which is fixed in this commit. 2013-12-30 13:30:22 -05:00
Robin Ward
c4394688de FIX: CSRF token retrieval bug 2013-12-03 15:30:33 -05:00
Robin Ward
274743b877 Refactor: Move initialization code into separate initializers that use the API we
developed for plugins.
2013-12-03 14:22:32 -05:00
Robin Ward
40f86829f7 Post Cloaking:
* We now use a new custom view, {{cloaked-collection}} to display posts in a topic.

* Posts are removed and inserted (cloaked/uncloaked) into the DOM dynamically based on whether they
  are visible in the current browser viewport.

* There's been a lot of refactoring to ensure the relationship between the post views and the topic
  controller is sane.

* Lots of fixes involving jumping to a post, including a new LockOn component to that tries to stay
  focused on an element even if stuff is loading before it in the DOM that would normally push it
  down.
2013-11-27 12:53:32 -05:00
Robin Ward
e5fd2946e0 Some topic list re-organization. 2013-11-11 15:07:08 -05:00
Neil Lalonde
8ea1a1069e Use the debounce parameter instead of hard-coding 100 2013-10-28 16:17:06 -04:00
Sam
681ff74cb8 Revert "inject currentUser into controllers & routes"
This reverts commit 7ec34b205a.
2013-09-11 13:26:46 +10:00
Gosha Arinich
7ec34b205a inject currentUser into controllers & routes
Through Ember's DI, instead of doing so via a mixin.
2013-09-07 19:34:25 +03:00
Robin Ward
f157ec1f91 Select +Replies for bulk operations 2013-09-05 11:03:29 -04:00
Sam
7787770758 leftover console.log
jshint is upset
2013-08-27 16:02:36 +10:00
Sam
c4a0152dc6 recover from bad CSRF tokens without requiring a hard refresh of the browser 2013-08-27 15:56:12 +10:00
Robin Ward
477eb81bc9 Updated docs for Discourse.Singleton 2013-08-08 13:00:48 -04:00
Robin Ward
51f5cf77fb Convert Discourse.User to use Discourse.Singleton 2013-08-08 12:42:08 -04:00
Robin Ward
8e1fae0459 Add Discourse.Singleton class mixin for creating singletons. 2013-08-08 12:00:58 -04:00
Sam
aa6c92922d SECURITY: correct our CSRF implementation to be much more aggressive 2013-07-29 15:13:13 +10:00
Robin Ward
894dc2c6fd Moved Discourse.ajax into a mixin. 2013-07-26 15:12:40 -04:00
Robin Ward
773823c41f Remove Discourse.transient. Use a singleton for session data, it's a lot cleaner. 2013-07-26 14:59:28 -04:00
Robin Ward
0317cf9608 Show topics as a list of topics on the User Stream. 2013-07-25 15:56:20 -04:00
Robin Ward
c9c6a8fd9d User stream now uses eyeline for loading more content. 2013-07-23 16:06:26 -04:00
Robin Ward
4bfb546942 Removed modelReady hack now that the async router exists 2013-07-16 13:24:59 -04:00
Robin Ward
82c21868f3 Moved JSHint into Qunit suite. It's much harder to forget about now! 2013-06-21 14:07:11 -04:00
Robin Ward
d78898443d Oops: Forgot debugging information in scrolling handlers 2013-06-20 14:32:22 -04:00
Robin Ward
a8b5716421 FIX: Coudln't scroll while on Qunit page due to browser bindings 2013-06-20 14:29:59 -04:00
Robin Ward
60fce196c7 More Qunit tests including a CLI runner 2013-06-18 13:44:20 -04:00
Robin Ward
8e96299653 FIX: Discourse.Presence was broken on arrays. The flag button was showing for anonymous users. 2013-06-18 11:36:48 -04:00
Robin Ward
797b99db7c Moved a bunch of tests to QUnit. Added basic Discourse.Site support to test suite. 2013-06-17 11:38:30 -04:00