coralproject / talk Goto Github PK
View Code? Open in Web Editor NEWA better commenting experience from Vox Media
Home Page: https://coralproject.net
License: Other
A better commenting experience from Vox Media
Home Page: https://coralproject.net
License: Other
We should be able to login via Facebook from our staging server.
Go to https://talk-stg.coralproject.net/
Click Sign In
Click Facebook
Error shows in popup
Only comments that have been flagged should show as flagged in the mod queues.
All comments are shown as flagged.
Settings should be injected server side when rendering the html page for the iframe of the embed.
Loading via an http call.
Should we host all of our assets ourselves?
If so, how should we publish them?
All published comments should show under Settings in the user tab.
Comments are not showing.
Note in this image that they are being returned from the api with the appropriate statuses.
Clicking the like button should toggle whether you've liked it in all circumstances.
If you:
Comments created by logged in users are showing as anonymous in the moderation queues.
The moderation queue feed isn't returning the user information for the author_ids:
https://talk-stg.coralproject.net/api/v1/queue/comments/pending
Log into https://talk-stg.coralproject.net/admin with an admin account.
Note that all the comments are anonymous.
Note that the author_id's are present but the users are not coming back in the response.
Linting is sometimes omitted or it takes a lot to run. Running it with webpack will decrease the wait and improve the developer experience.
This could easily be arranged by adding this to our webpack.config file.
{
enforce: 'pre',
test: /\.js$/,
loader: 'eslint-loader',
exclude: /node_modules/
},
This way we can remove the linting hooks, only leaving the tests.
Thoughts?
Users who don't have the admin role (including non-logged in users), should not see or have any way of gaining access to the Configure Stream tab in the comment stream.
The tab is visible for everyone, but if you don't have access we see this:
Go to a stream
log out
You shouldn't see the Configure Stream tab
Go to a stream
log in as a non-admin
You shouldn't see the Configure Stream tab
We should be able to embed an iframe anywhere. (In the future we may want to create a whitelist)
Embedding iframes across domains causes an error:
'''Refused to display 'https://talk-stg.coralproject.net/embed/stream?initialWidth=1596&childId=co…eamEmbed&parentTitle=&parentUrl=http%3A%2F%2Flocalhost%3A7777%2Fembed.html' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.'''
Enable Pre-modeartion switch in admin/configure should display the configuration.
Comment Settings in http://localhost:3000/admin/configure is not working. The only way to change the pre or post moderation for the stream is in the Configure Stream.
Toggling roles in the community screen should update the user.
Changing to Moderator or Administrator does nots ave (I get a 200 response but refreshing shows that the change hasn't stuck)
Changing to the empty role throws a 500.
Log in as an admin
Try to change the role of a user
Refresh
see the role revert
Try to set to the 'blank role' or no role
See the 500
User should be able to toggle back and forth between the stream and their history.
User is on stream with, say, 3 comments.
Toggles to User History.
The number of comments in the stream updates to the number of comments in their user history.
Toggling back to the stream the stream is no longer there.
Go to a stream, https://talk-stg.coralproject.net/
Log in
Note the comments i the stream
Click the "Settings" tab
Note the above behavior
All styles should be loaded correctly in the Chrome browser with the privacy-badger enabled.
There is a 'Failed to load resource: net::ERR_BLOCKED_BY_CLIENT' error when trying to load some styles.
When I copy an embed tag from here:
https://talk-stg.coralproject.net/admin/configure
And hit it with my browser, the js is shown in the iframe.
Embed Block:
<div id='coralStreamEmbed'></div><script type='text/javascript' src='https://pym.nprapps.org/pym.v1.min.js'></script><script>var pymParent = new pym.Parent('coralStreamEmbed', 'https://talk-stg.coralproject.net/client/embed/stream/bundle.js', {title: 'comments'});</script>
This is what I see:
We currently have the default settings in 3 places: https://github.com/coralproject/talk/pull/264/files
Your mission if you choose to accept it is to consolidate them into a single place.
When a banned user is log-in, they should not be able to flag comments or usernames.
Banned users can flag items.
Clicking like always toggles as expected.
This is a major edge case, but will likely lead to more bugs in the future.
The local state implementation of optimistic updating doesn't seem to take into account which user liked it. I recommend find a way to take advantage of redux actions that update the apollo state so that the component doesn't have to worry about these things.
/embed/steam needs to be hit with an iframe as it needs to be passed the url of the parent page via pym. People are bound to navigate to that page, however. Currently, the display is left in a broken 'loading..' state and an opaque JS error is thrown.
Create a meaningful error message to display on the page;
"Talk Embed Stream must be embedded in a page. See http://github.com/coralproject/talk for more details."
When premod is set and a user enters a comment they should not see the comment and see a message saying that the comment is in for moderation.
The comment is shown.
No message is shown.
On refresh, the comment disappears (as it should.)
Make sure premod is on.
Leave a comment.
See the behavior described above.
The purpose of this discussion to accomplish two things:
status
of an item (aka, asset, comment or user)Proposal:
Current Status:
To know current status, each field has a status
field (string). This allows the status of an item to be queried efficiently and naturally travel with the item.
History:
Tracked as a sequence of events
, containing:
notes
Possible places to store historical events:
events
collection (in which case we would add the item_type and item_id to the schema in the same way we do for actions.)user_events
, asset_events
, etc...Discuss!
It builds.
It certainly does not:
> [email protected] build /Users/wyatt/Code/github.com/coralproject/talk
> NODE_ENV=production ./node_modules/.bin/webpack --config webpack.config.js --bail
node_modules/nan
resolve failed: { Error: Cannot find module 'eslint-module-utils'
at Function.Module._resolveFilename (module.js:470:15)
at Function.requireRelative.resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/require-relative/index.js:30:17)
at resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:26:26)
at findAndRemove (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:83:11)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:126:13
at Array.map (native)
at loadPreset (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:118:29)
at module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/index.js:95:19)
at Object.<anonymous> (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-preset-es2015-minimal/index.js:5:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:302:17
at Array.map (native)
at OptionManager.resolvePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:20)
at OptionManager.mergePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:259:10)
at OptionManager.mergeOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:244:14)
at OptionManager.init (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:374:12)
at File.initOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:216:65)
at new File (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:139:24)
at Pipeline.transform (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:41:20)
at Object.module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:138:12)
at WEBPACK_CORE_LOADER_EXECUTION (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:71)
at runSyncOrAsync (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:93)
at nextLoader (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
at Storage.finished (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/graceful-fs/graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:415:3) code: 'MODULE_NOT_FOUND' } eslint-module-utils
resolve failed: { Error: Cannot find module 'caniuse-db'
at Function.Module._resolveFilename (module.js:470:15)
at Function.requireRelative.resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/require-relative/index.js:30:17)
at resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:26:26)
at findAndRemove (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:83:11)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:126:13
at Array.map (native)
at loadPreset (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:118:29)
at module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/index.js:95:19)
at Object.<anonymous> (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-preset-es2015-minimal/index.js:5:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:302:17
at Array.map (native)
at OptionManager.resolvePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:20)
at OptionManager.mergePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:259:10)
at OptionManager.mergeOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:244:14)
at OptionManager.init (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:374:12)
at File.initOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:216:65)
at new File (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:139:24)
at Pipeline.transform (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:41:20)
at Object.module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:138:12)
at WEBPACK_CORE_LOADER_EXECUTION (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:71)
at runSyncOrAsync (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:93)
at nextLoader (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
at Storage.finished (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/graceful-fs/graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:415:3) code: 'MODULE_NOT_FOUND' } caniuse-db
resolve failed: { Error: Cannot find module 'babel-runtime'
at Function.Module._resolveFilename (module.js:470:15)
at Function.requireRelative.resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/require-relative/index.js:30:17)
at resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:26:26)
at findAndRemove (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:83:11)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:126:13
at Array.map (native)
at loadPreset (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:118:29)
at module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/index.js:95:19)
at Object.<anonymous> (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-preset-es2015-minimal/index.js:5:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:302:17
at Array.map (native)
at OptionManager.resolvePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:20)
at OptionManager.mergePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:259:10)
at OptionManager.mergeOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:244:14)
at OptionManager.init (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:374:12)
at File.initOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:216:65)
at new File (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:139:24)
at Pipeline.transform (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:41:20)
at Object.module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:138:12)
at WEBPACK_CORE_LOADER_EXECUTION (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:71)
at runSyncOrAsync (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:93)
at nextLoader (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
at Storage.finished (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/graceful-fs/graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:415:3) code: 'MODULE_NOT_FOUND' } babel-runtime
resolve failed: { Error: Cannot find module 'webpack-core'
at Function.Module._resolveFilename (module.js:470:15)
at Function.requireRelative.resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/require-relative/index.js:30:17)
at resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:26:26)
at findAndRemove (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:83:11)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:126:13
at Array.map (native)
at loadPreset (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:118:29)
at module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/index.js:95:19)
at Object.<anonymous> (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-preset-es2015-minimal/index.js:5:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:302:17
at Array.map (native)
at OptionManager.resolvePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:20)
at OptionManager.mergePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:259:10)
at OptionManager.mergeOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:244:14)
at OptionManager.init (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:374:12)
at File.initOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:216:65)
at new File (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:139:24)
at Pipeline.transform (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:41:20)
at Object.module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:138:12)
at WEBPACK_CORE_LOADER_EXECUTION (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:71)
at runSyncOrAsync (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:93)
at nextLoader (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
at Storage.finished (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/graceful-fs/graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:415:3) code: 'MODULE_NOT_FOUND' } webpack-core
resolve failed: { Error: Cannot find module '@kadira'
at Function.Module._resolveFilename (module.js:470:15)
at Function.requireRelative.resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/require-relative/index.js:30:17)
at resolve (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:26:26)
at findAndRemove (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:83:11)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:126:13
at Array.map (native)
at loadPreset (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/lib/serialize.js:118:29)
at module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/modify-babel-preset/index.js:95:19)
at Object.<anonymous> (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-preset-es2015-minimal/index.js:5:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:302:17
at Array.map (native)
at OptionManager.resolvePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:20)
at OptionManager.mergePresets (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:259:10)
at OptionManager.mergeOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:244:14)
at OptionManager.init (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/options/option-manager.js:374:12)
at File.initOptions (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:216:65)
at new File (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/file/index.js:139:24)
at Pipeline.transform (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
at transpile (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:41:20)
at Object.module.exports (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/babel-loader/lib/index.js:138:12)
at WEBPACK_CORE_LOADER_EXECUTION (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:71)
at runSyncOrAsync (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:155:93)
at nextLoader (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
at Storage.finished (/Users/wyatt/Code/github.com/coralproject/talk/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
at /Users/wyatt/Code/github.com/coralproject/talk/node_modules/graceful-fs/graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:415:3) code: 'MODULE_NOT_FOUND' } @kadira
INVALID COMMIT MSG: does not match "<type>(<scope>): <subject>" !
undefined
npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/Cellar/node/7.2.1/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v7.2.1
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `NODE_ENV=production ./node_modules/.bin/webpack --config webpack.config.js --bail`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script 'NODE_ENV=production ./node_modules/.bin/webpack --config webpack.config.js --bail'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the talk package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! NODE_ENV=production ./node_modules/.bin/webpack --config webpack.config.js --bail
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs talk
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls talk
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/wyatt/Code/github.com/coralproject/talk/npm-debug.log
Run in a docker container with:
# remove old node modules folder
rm -rf node_modules
# run in node docker container
docker run -ti --rm -v $PWD:/usr/local/app -w /usr/local/app node:7 bash
# verify node version
node --version
# install deps
npm install
# build assets
npm run build
Then you should see an error!
We should only ever see more than one reply box. The top comment box is always open. At most, no matter how may reply buttons users clicks, they should never see more than 2 boxes (the top box and the reply box for the last reply button clicked.)
Clicking on reply for another comment while a reply box is already open should close the other reply box (content in it can be lost.)
Clicking reply on n comments opens up n reply boxes, all of which stack up:
Go to a thread.
Click reply on a comment.
Click reply on another comment.
The first reply should close, but doesn't.
When 'Pre-Moderate Comments Containing Links' is ON then all the comments that contain links go to the moderation queue.
Comments are being displayed.
We have a mismatch between the element in the community page and the user role concept on the backend. The backend is configured to allow users to have any number of roles. The frontend has a dropdown toggle which only sends one role, adding it to the list.
My recommendation is to update our front end code to use a checkbox/tag widget to allows us to have more than one role.
Limiting users to single roles on the backend isn't a long term solution, as we already have stories that differentiate Moderators from Admins.
Correct error states.
When the "pass and confirm pass" error state triggers, it causes the display name and password states to trigger even though the content is correct.
When we update settings from the admin app, the front end should send the cookie.
The cookie isn't in the header, so the backend is sending a 401.
Log into the admin app.
Click Settings.
Click Save Settings.
See the 401.
Clicking in the comment box anytime should give me a cursor and let me type!
In firefox, I cannot bring focus to the comment dialog after the login box has opened and closed.
Open a stream with firefox
click login
do the login thing
after the modal closes click on the comment box
note that it doesn't give you a cursor or let you type
The endpoint that loads all the comments for a user should only allow users to see their own comments.
Users can load any user's comments.
talk/routes/api/comments/index.js
Line 51 in 31b7dac
By convention, all endpoints that allow a logged in user to access their own data should be under the /profile/ route. This can do things call the model with the logged in user's id explicitly so that users can never pull each other comments.
Call the endpoint linked above with various user id's.
There are several cases where notifications and other pop-up interfaces are clipped off due to the size of the iframe.
Suggested simple fix: add a buffer of space to the bottom of the stream and have notifications appear in there. This will create space for overlays as well.
More robust fix may be to have pym react to the size of all notifications so that the iframe grows naturally to accommodate them. This may be challenging as these elements aren't in the page flow and don't effect the out element's height.
Clicking different tabs if the stream is set to Open - you should be able to comment, take actions, see your history, and see settings (if you have appropriate permissions)
Clicking on Settings and then back to Comments, seems to clear the Settings which results in the stream being Closed.
Settings should always be initialized no matter how we access the app.
We should be able to use the cli tool before running the server.
Currently, settings init only happens when we run the server, so if we try to do something with the cli first, we get errors.
drop your db
try to run bin/cli users create
In Chrome
When in post-moderation, the comments show up right away in the comment stream.
The comments are not showing up and there is an error in the console.
Flags need multiple fields for context which are currently not being captured on the backend. @davidgljay can coordinate on the precise field needs for flags.
There is a lot of logic in the comment box that deals with the various states returned by the api. Refactor this logic into it's own place and design an api to access it.
Comment shows up as normal in the comment stream
See above
Need to check with product
Clicking Logout should immediately log out the user.
When clicking log out, the user is logged out but the UI is unchanged. Refreshing the page shows the user as logged out.
Log into a comment stream
Click Logout
note that it still look like you're logged in
Refresh
You're logged out
Currently we need to run bin/init.js to start up settings. Failure to do so leads to an opaque error and lots of debugging. I'd like to avoid extra steps that we need to know to do whenever possible.
Move the init.js step into the bootstrapping part of the server start. In this case, we can check to see if settings have been initialized and initialize them if they have not yet been initialized.
Story: https://www.pivotaltracker.com/n/projects/1863625/stories/134297345
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.