{"action":"created","issue":{"url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/5542","labels_url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/5542/labels{/name}","comments_url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/5542/comments","events_url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/5542/events","html_url":"https://github.com/HabitRPG/habitrpg/issues/5542","id":92490976,"number":5542,"title":"Repository FIXMEs and TODOs","user":{"login":"SabreCat","id":4501321,"avatar_url":"https://avatars.githubusercontent.com/u/4501321?v=3","gravatar_id":"","url":"https://api.github.com/users/SabreCat","html_url":"https://github.com/SabreCat","followers_url":"https://api.github.com/users/SabreCat/followers","following_url":"https://api.github.com/users/SabreCat/following{/other_user}","gists_url":"https://api.github.com/users/SabreCat/gists{/gist_id}","starred_url":"https://api.github.com/users/SabreCat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SabreCat/subscriptions","organizations_url":"https://api.github.com/users/SabreCat/orgs","repos_url":"https://api.github.com/users/SabreCat/repos","events_url":"https://api.github.com/users/SabreCat/events{/privacy}","received_events_url":"https://api.github.com/users/SabreCat/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HabitRPG/habitrpg/labels/help%20welcome%20now","name":"help welcome now","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-01T21:39:20Z","updated_at":"2015-11-13T17:05:38Z","closed_at":null,"body":"Many places in Habit's code have `FIXME` or `TODO` annotations: things that a coder noticed needed attention, but could not be addressed due to constraints in time or expertise. This ticket catalogues our current such notes, for cleanup by whoever has the opportunity. Feel free to create new tickets for individual bullets below, to better track who's working on a given annotation and to expand on the issue in question.\r\n\r\nSome may be outdated, or the comments themselves too obscure to address. In those cases, investigating to confirm there is no issue, then cleaning code up to remove the comments will be sufficient.\r\n\r\n### FIXME\r\n- [ ] `customize-menu` [line](https://github.com/HabitRPG/habitrpg/blob/c3b495031496d7d11d8fafcd47a1e5183bc8006a/common/css/index.css#L31)\r\n- [ ] Consistency of `setupPassport` with other API auth routes [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/routes/auth.js#L7)\r\n- [ ] Date parsing in To-Dos [line](https://github.com/HabitRPG/habitrpg/blob/3f8066eee50418b91e1e4201757337eef6850619/website/src/models/task.js#L81)\r\n- [ ] iCalendar functionality [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/routes/apiv1.js#L22)\r\n- [ ] Existence check on `recipient.purchased.plan` [line](https://github.com/HabitRPG/habitrpg/blob/0ea98880bec64bf1bded4fae07f8200f16738bd1/website/src/controllers/payments/index.js#L34)\r\n- [ ] Fractional months for subscriptions [line](https://github.com/HabitRPG/habitrpg/blob/0ea98880bec64bf1bded4fae07f8200f16738bd1/website/src/controllers/payments/index.js#L115)\r\n- [x] Translations on stats readout [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/views/shared/profiles/stats.jade#L24)\r\n- [ ] Get AddThis script out of `<head>` [line 1](https://github.com/HabitRPG/habitrpg/blob/ca36c5c632ed82ff84237ab90d339f06c5587b54/website/public/js/controllers/footerCtrl.js#L45), [line 2](https://github.com/HabitRPG/habitrpg/blob/981e1f553f45f81d76a4a6508d7c95be2a6a28b6/website/views/static/layout.jade#L27), [line 3](https://github.com/HabitRPG/habitrpg/blob/3262c2d869cd542779104ada856df1f8c4b8cf28/website/views/index.jade#L18)\r\n- [ ] Unused partyEnabled flag in user schema [line](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/src/models/user.js#L145)\r\n- [ ] Possibly unneeded `invitations` object [line](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/src/models/user.js#L173)\r\n- [ ] Mongoose `GroupSchema.pre` not always triggered [line](https://github.com/HabitRPG/habitrpg/blob/03d1f12a7cccec9567f3407ccf21c97186aba550/website/src/models/group.js#L74)\r\n- [ ] Existence check on quest progress for boss schema [line](https://github.com/HabitRPG/habitrpg/blob/03d1f12a7cccec9567f3407ccf21c97186aba550/website/src/models/group.js#L307)\r\n- [ ] Remove excess `$scope.auth` declarations [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/public/js/controllers/settingsCtrl.js#L8)\r\n- [ ] Superfluous auth strategy [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/server.js#L75)\r\n- [ ] Nested bootstrap tabs [line](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/views/options/social/index.jade#L1)\r\n- [ ] Replace PUT paths with API operations [line](https://github.com/HabitRPG/habitrpg/blob/a44d760b8f88d69547c4f416677a7d3284517b03/website/src/controllers/user.js#L296)\r\n- [ ] More efficient cron flow than save/db-ops/load [line](https://github.com/HabitRPG/habitrpg/blob/a44d760b8f88d69547c4f416677a7d3284517b03/website/src/controllers/user.js#L349)\r\n- [ ] `$location.search()` not working, hacky workaround [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/common/script/public/userServices.js#L241)\r\n- [ ] `watch` that requires lodash@~3.2.0 [line](https://github.com/HabitRPG/habitrpg/blob/981e1f553f45f81d76a4a6508d7c95be2a6a28b6/website/public/js/services/guideServices.js#L264)\r\n- [ ] Need to resolve `$scope.challenges` before querying `$scope.groups` [line](https://github.com/HabitRPG/habitrpg/blob/46a7591492c9021ce384c84e32f1dd944914f4f4/website/public/js/controllers/challengesCtrl.js#L32)\r\n- [ ] `Cannot read property 'dayStart' of undefined` when deleting Facebook credentials [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/controllers/auth.js#L213)\r\n- [ ] Huge allowed types ternary in `purchase` [line](https://github.com/HabitRPG/habitrpg/blob/981e1f553f45f81d76a4a6508d7c95be2a6a28b6/website/public/js/controllers/rootCtrl.js#L218)\r\n- [ ] Boss fight test confounded by levelup [line](https://github.com/HabitRPG/habitrpg/blob/3f8066eee50418b91e1e4201757337eef6850619/test/api/party.coffee#L422)\r\n- [ ] `nconf` file not loading [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/test/archive/api.mocha.coffee#L14)\r\n- [ ] 1st day of month mid-week throwing off history preen [line](https://github.com/HabitRPG/habitrpg/blob/eeb9793eb8b688348bb33032b5811608005f0c6e/common/script/index.coffee#L174)\r\n- [ ] Updating Rewards store acts strangely in `user.fns` [line](https://github.com/HabitRPG/habitrpg/blob/eeb9793eb8b688348bb33032b5811608005f0c6e/common/script/index.coffee#L183)\r\n- [ ] Sanitize new challenge route [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/controllers/challenges.js#L197)\r\n- [ ] Profile stats not working on mobile [line](https://github.com/HabitRPG/habitrpg/blob/e6b6a5e468e41ba35371ccd4becd654ba425fb43/website/views/options/profile.jade#L161)\r\n- [ ] `ngResource` causing issues with sending `body` of chat message [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/website/src/controllers/groups.js#L280)\r\n- [ ] Delete group if its last member is removed [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/website/src/controllers/groups.js#L536)\r\n- [ ] Cron test not handling MP gain correctly [line 1](https://github.com/HabitRPG/habitrpg/blob/eceae75631616d0c0c65b68a1aaf353935b6b562/test/common/algos.mocha.coffee#L717) and [line 2](https://github.com/HabitRPG/habitrpg/blob/eceae75631616d0c0c65b68a1aaf353935b6b562/test/common/algos.mocha.coffee#L887)\r\n\r\n### TODO\r\n- [ ] Replace Mixpanel mock with an injectable instance [line](https://github.com/HabitRPG/habitrpg/blob/8fe4d9a5a8dc0dbe87c4bf7606383b9f800170ed/test/spec/mocks/mixpanelMock.js#L3)\r\n- [ ] Encode data output options in data controller [line 1](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/routes/dataexport.js#L10), [line 2](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/routes/apiv2.coffee#L60)\r\n- [ ] Investigate alternatives to `$templateCache` injection for popups [line](https://github.com/HabitRPG/habitrpg/blob/5f29e19aa7c3a4ae033c59af76ea048261a17dcd/website/public/js/directives/popover-html-popup.directive.js#L28)\r\n- [ ] Make cb-compatible export of server for API tests [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/test/archive/api.mocha.coffee#L101)\r\n- [ ] Showcase Achievements on features page [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/views/static/features.jade#L30)\r\n- [ ] Features and enterprise pages [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/views/static/features.jade#L107)\r\n- [ ] Seed user with various data in anonymized API test [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/test/api/anonymized.coffee#L10)\r\n- [ ] Move `unlink` to user service [line](https://github.com/HabitRPG/habitrpg/blob/981e1f553f45f81d76a4a6508d7c95be2a6a28b6/website/public/js/controllers/tasksCtrl.js#L123)\r\n- [ ] Mysterious null in sync queue [line](https://github.com/HabitRPG/habitrpg/blob/944cef4d44d75897c54ba084d431d0d7c2c7cc58/test/spec/services/userServicesSpec.js#L46)\r\n- [ ] Check if quest can be started after booting user from party [line](https://github.com/HabitRPG/habitrpg/blob/03d1f12a7cccec9567f3407ccf21c97186aba550/website/src/models/group.js#L51)\r\n- [ ] Give user a chat notif if they're mentioned in Tavern [line](https://github.com/HabitRPG/habitrpg/blob/03d1f12a7cccec9567f3407ccf21c97186aba550/website/src/models/group.js#L128)\r\n- [ ] Remove deprecated achievements [line 1](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/src/models/user.js#L35), [line 2](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/src/models/user.js#L37), [line 3](https://github.com/HabitRPG/habitrpg/blob/d4b5620adae5b87af458a8ca1ee3bae6927ac9f7/website/src/models/user.js#L56)\r\n- [ ] Add vars to show/hide metadata on herobox [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/public/css/avatar.styl#L5)\r\n- [ ] Beautify autocomplete styling [line](https://github.com/HabitRPG/habitrpg/blob/3f8066eee50418b91e1e4201757337eef6850619/website/public/css/game-pane.styl#L160)\r\n- [ ] Consolidate guilds list, use `$filter` to show public [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/website/public/js/services/groupServices.js#L53)\r\n- [ ] Refactor helpers out of dailies test [line](https://github.com/HabitRPG/habitrpg/blob/eceae75631616d0c0c65b68a1aaf353935b6b562/test/common/dailies.coffee#L17)\r\n- [ ] Highlight invalid inputs during auth [line](https://github.com/HabitRPG/habitrpg/blob/3d15da61ecd28bc6f31926a0de026a846739937c/website/public/js/controllers/authCtrl.js#L41)\r\n- [ ] Request specific fields in group GET [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/website/src/controllers/groups.js#L127)\r\n- [ ] Remove duplicate function in chat GET [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/website/src/controllers/groups.js#L249)\r\n- [ ] Share data with remove member modal [line](https://github.com/HabitRPG/habitrpg/blob/522181890e3ce068b518029f1590a9421fd490bd/website/public/js/controllers/groupsCtrl.js#L76)\r\n- [ ] Refactor guild and party leaving into single function [line](https://github.com/HabitRPG/habitrpg/blob/522181890e3ce068b518029f1590a9421fd490bd/website/public/js/controllers/groupsCtrl.js#L543)\r\n- [ ] Differentiate gift purchases in analytics [line](https://github.com/HabitRPG/habitrpg/blob/0ea98880bec64bf1bded4fae07f8200f16738bd1/website/src/controllers/payments/index.js#L132)\r\n- [ ] Find alternative to forced Amazon Payments logout [line](https://github.com/HabitRPG/habitrpg/blob/ca36c5c632ed82ff84237ab90d339f06c5587b54/website/public/js/services/paymentServices.js#L75)\r\n- [ ] Stats not showing up on front page profile view [line](https://github.com/HabitRPG/habitrpg/blob/ca36c5c632ed82ff84237ab90d339f06c5587b54/website/views/shared/modals/members.jade#L25)\r\n- [ ] Position eggs list via CSS [line](https://github.com/HabitRPG/habitrpg/blob/d248b74569d3be14ec6ec9b114166f17dacc48b1/website/views/options/inventory/inventory.jade#L111)\r\n- [ ] Reference collection of quest egg data from inventory [line](https://github.com/HabitRPG/habitrpg/blob/d248b74569d3be14ec6ec9b114166f17dacc48b1/website/views/options/inventory/inventory.jade#L193)\r\n- [ ] Find out why we're getting `recurring_payment_profile_cancel` instead of `subscr_cancel` in IPN [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/controllers/payments/paypal.js#L204)\r\n- [ ] More members in test Guild [line](https://github.com/HabitRPG/habitrpg/blob/3f8066eee50418b91e1e4201757337eef6850619/test/api/groups.coffee#L79)\r\n- [ ] Refactor groups controller for testability [line](https://github.com/HabitRPG/habitrpg/blob/b72b14fe6c0496edf7e2920be3d473b558bce2e6/test/api/pushNotifications.coffee#L2)\r\n- [ ] Verify correct item types when selling to Alexander [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/routes/apiv2.coffee#L175)\r\n- [ ] More elegant way of doing `authWithSession` [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/controllers/auth.js#L48)\r\n- [ ] Calculate actual points in cron test [line](https://github.com/HabitRPG/habitrpg/blob/eceae75631616d0c0c65b68a1aaf353935b6b562/test/common/algos.mocha.coffee#L77)\r\n- [ ] Use `mapReduce()` or `aggregate()` to summarize challenge data [line](https://github.com/HabitRPG/habitrpg/blob/39cb9bfb990d883a794cdc4d514aff6765c0b0c8/website/src/controllers/challenges.js#L60)\r\n\r\n<bountysource-plugin>\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/23485104-repository-fixmes-and-todos?utm_campaign=plugin&utm_content=tracker%2F68393&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F68393&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/comments/156489397","html_url":"https://github.com/HabitRPG/habitrpg/issues/5542#issuecomment-156489397","issue_url":"https://api.github.com/repos/HabitRPG/habitrpg/issues/5542","id":156489397,"user":{"login":"gauthamchandra","id":5430280,"avatar_url":"https://avatars.githubusercontent.com/u/5430280?v=3","gravatar_id":"","url":"https://api.github.com/users/gauthamchandra","html_url":"https://github.com/gauthamchandra","followers_url":"https://api.github.com/users/gauthamchandra/followers","following_url":"https://api.github.com/users/gauthamchandra/following{/other_user}","gists_url":"https://api.github.com/users/gauthamchandra/gists{/gist_id}","starred_url":"https://api.github.com/users/gauthamchandra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gauthamchandra/subscriptions","organizations_url":"https://api.github.com/users/gauthamchandra/orgs","repos_url":"https://api.github.com/users/gauthamchandra/repos","events_url":"https://api.github.com/users/gauthamchandra/events{/privacy}","received_events_url":"https://api.github.com/users/gauthamchandra/received_events","type":"User","site_admin":false},"created_at":"2015-11-13T17:05:38Z","updated_at":"2015-11-13T17:05:38Z","body":":+1: Will have a PR for you hopefully by the end of this upcoming weekend."}}