Skip to content
This repository was archived by the owner on Oct 11, 2022. It is now read-only.
Merged

2.3.0 #3134

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
7ef15fb
eslint cleanup
brianlovin May 15, 2018
01129fd
Make participant heads tappable
brianlovin May 16, 2018
a5a0714
Add navigation flow type util for now
brianlovin May 16, 2018
47db147
Make thread byline tappable
brianlovin May 16, 2018
6cf9c90
Make message bylines tappable
brianlovin May 16, 2018
9012b51
Style and layout for user profile header
brianlovin May 16, 2018
0a77e2d
Styling cleanup and better loading indicators
brianlovin May 16, 2018
4f7daff
Make the profile tab work, fix edge cases in profile view
brianlovin May 16, 2018
e477cf7
Remove console logs
brianlovin May 16, 2018
11ec303
Support navigation logic in avatar component
brianlovin May 16, 2018
e7bfcf8
Add community profile view
brianlovin May 16, 2018
38e977a
Cleanup and implement channel profile view
brianlovin May 16, 2018
f033793
Add <ConditionalWrap> component to mobile
mxstbr May 16, 2018
ea53ebd
navigate -> onPress
mxstbr May 16, 2018
3c0a3ec
Migration to set isPrivate field on all communities
brianlovin May 17, 2018
7f0cdde
Add typings for new model and events
brianlovin May 17, 2018
6c86b35
Update graphQL queries for privacy on communities
brianlovin May 17, 2018
c18a287
Permission util for viewing community data
brianlovin May 17, 2018
73e00c5
Add query level permission checks for private communities
brianlovin May 17, 2018
76cee2d
Add mutations for pending, approving, and blocking pending members in…
brianlovin May 17, 2018
5bd9b7d
Update analytics tracking transformations for private communities
brianlovin May 17, 2018
34807ef
Add migration to add ispending field on userscommunities
brianlovin May 17, 2018
f5aa70f
Fix ability to query for ispending on communitypermissions type
brianlovin May 17, 2018
53884fa
Fix data fetching for non-users on private communities
brianlovin May 17, 2018
9c22ab6
Block channel views in private communities
brianlovin May 17, 2018
9f50cfe
Actually wire up the mutations
brianlovin May 17, 2018
dfcba07
Add graphql mutations to request and cancel request for private commu…
brianlovin May 17, 2018
83aac98
Protect community view of private communities
brianlovin May 17, 2018
d30501b
Add mutations and ui for community mods to approve or block pending m…
brianlovin May 18, 2018
9c4c1b4
Fix community member search styling
brianlovin May 18, 2018
ec78b27
Hide private communities from search
brianlovin May 18, 2018
3978a8d
Add migration to support join settings on communitysettings records
brianlovin May 18, 2018
e0349a1
Add types for community jointoken settings
brianlovin May 18, 2018
6740002
Add GraphQL mutations to handle private community join settings
brianlovin May 18, 2018
26e6d97
Add mutations to manage community join settings
brianlovin May 18, 2018
e521436
Add event types for community join tokens
brianlovin May 18, 2018
c65550b
Frontend implementation for community token settings
brianlovin May 18, 2018
f508763
Allow privacy selection during community creation
brianlovin May 18, 2018
7f23cdb
Hide join settings for public communities
brianlovin May 18, 2018
47a1248
Update transitions
alejandronanez May 19, 2018
9ee1408
feat(mobile): done todo sentry
ryota-murakami May 19, 2018
596cb4a
Merge alpha and fix conflicts
brianlovin May 20, 2018
c41adcc
Use compound index for usersCommunities
brianlovin May 20, 2018
d471ef7
Eslint
brianlovin May 20, 2018
67673c4
Make the email invitation system much smoother for private communities
brianlovin May 20, 2018
0947ee7
Typo
brianlovin May 20, 2018
68cf576
Add notifications for requests and approvals in private communities
brianlovin May 20, 2018
01cb6ff
Implement url query to jump to members filter in community settings
brianlovin May 20, 2018
88b7a04
Add a pending requests badge to dashboard sidebar
brianlovin May 20, 2018
19a04fb
Add pending badge in members view
brianlovin May 20, 2018
b660f2e
Remove console logs
brianlovin May 20, 2018
309f23e
Fix static tests
brianlovin May 20, 2018
6bbe825
Extend search filtering for private communities
brianlovin May 20, 2018
15ce784
Write tests for viewing and creating private communities
brianlovin May 21, 2018
960faaa
Small fixes to tests
brianlovin May 21, 2018
4510c53
Add production email templates
brianlovin May 21, 2018
fea4733
Fix failing test
brianlovin May 21, 2018
f7c0b23
Update icon colors and notifications for better differentiation
brianlovin May 21, 2018
ea6177d
Add inline actions to private community request
brianlovin May 21, 2018
3e88212
Protect threads in private communities
brianlovin May 21, 2018
4baae76
Trigger rebuild
brianlovin May 21, 2018
af19631
Eslint
brianlovin May 21, 2018
fa1e5d5
Add error boundary utility components
brianlovin May 21, 2018
f3ab6eb
Implement error boundaries around failure points in app
brianlovin May 21, 2018
d74a7f9
Fixes to list keys
brianlovin May 21, 2018
e5b784e
Prevent any individual message from crashing the app
brianlovin May 21, 2018
f29ce3f
Generic name for boundary, dont create dependency link to sentry
brianlovin May 21, 2018
41a0337
Fix notification item keys
brianlovin May 22, 2018
6130625
Merge pull request #3118 from alejandronanez/update-transition-elements
mxstbr May 22, 2018
75c0136
Merge pull request #3119 from ryota-murakami/feature/mobile-sentry
mxstbr May 22, 2018
0348454
Cleanup review comments
mxstbr May 22, 2018
705dc6b
Merge branch 'alpha' into mobile-profile-view
mxstbr May 22, 2018
fa97544
Allow all FlatList props to be passed to <ThreadFeed />
mxstbr May 22, 2018
088b389
Make infinite loading work on community mobile profile view
mxstbr May 22, 2018
3a79bf1
Fix infinite scrolling on all profile views
mxstbr May 22, 2018
b5af7e6
Merge pull request #3097 from withspectrum/mobile-profile-view
mxstbr May 22, 2018
eaee0c8
Merge branch 'alpha' of github.com:withspectrum/spectrum into error-b…
brianlovin May 22, 2018
f4471c8
Use our error boundary for sentry reporting
brianlovin May 22, 2018
62632d3
Merge pull request #3131 from withspectrum/error-boundaries
brianlovin May 22, 2018
5eeeaa9
Merge branch 'alpha' into private-communities
brianlovin May 22, 2018
e55b55a
Merge pull request #3115 from withspectrum/private-communities
brianlovin May 22, 2018
42d3703
Fix default community settings creation obj
brianlovin May 22, 2018
d52f552
Merge pull request #3133 from withspectrum/fix-to-community-settings
brianlovin May 22, 2018
8facc83
Merge branch 'alpha' of github.com:withspectrum/spectrum into 2.3.0
brianlovin May 22, 2018
8657ae1
Version bump
brianlovin May 22, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions admin/src/components/globals/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ export const Tooltip = props => css`
&:hover:after,
&:hover:before {
opacity: 1;
transition: all 0.1s ease-in 0.1s;
transition: opacity 0.1s ease-in 0.1s;
}
`;

Expand Down Expand Up @@ -487,7 +487,7 @@ export const Onboarding = props => css`
&:after,
&:before {
opacity: 1;
transition: all 0.1s ease-in 0.1s;
transition: opacity 0.1s ease-in 0.1s;
}
`;

Expand Down
3 changes: 3 additions & 0 deletions analytics/utils/transformations.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ type AnalyticsCommunity = {
id: ?string,
name: ?string,
slug: ?string,
isPrivate: boolean,
};

type AnalyticsChannelPermissions = {
Expand Down Expand Up @@ -134,12 +135,14 @@ export const analyticsCommunity = (
id: null,
name: null,
slug: null,
isPrivate: false,
};

return {
id: community.id,
name: community.name,
slug: community.slug,
isPrivate: community.isPrivate,
};
};

Expand Down
17 changes: 17 additions & 0 deletions api/migrations/20180517180716-enable-private-communities.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
exports.up = async (r, conn) => {
return r
.table('communities')
.update({
isPrivate: false,
})
.run(conn);
};

exports.down = function(r, conn) {
return r
.table('communities')
.update({
isPrivate: r.literal(),
})
.run(conn);
};
17 changes: 17 additions & 0 deletions api/migrations/20180517215503-add-ispending-to-userscommunities.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
exports.up = async (r, conn) => {
return r
.table('usersCommunities')
.update({
isPending: false,
})
.run(conn);
};

exports.down = function(r, conn) {
return r
.table('usersCommunities')
.update({
isPending: r.literal(),
})
.run(conn);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
exports.up = async (r, conn) => {
return r
.table('communitySettings')
.update({
joinSettings: {
tokenJoinEnabled: false,
token: null,
},
})
.run(conn);
};

exports.down = function(r, conn) {
return r
.table('communitySettings')
.update({
joinSettings: r.literal(),
})
.run(conn);
};
13 changes: 13 additions & 0 deletions api/migrations/seed/default/channels.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const {
SPECTRUM_COMMUNITY_ID,
PAYMENTS_COMMUNITY_ID,
DELETED_COMMUNITY_ID,
PRIVATE_COMMUNITY_ID,
SPECTRUM_GENERAL_CHANNEL_ID,
SPECTRUM_PRIVATE_CHANNEL_ID,
PAYMENTS_GENERAL_CHANNEL_ID,
Expand All @@ -13,6 +14,7 @@ const {
SPECTRUM_DELETED_CHANNEL_ID,
DELETED_COMMUNITY_DELETED_CHANNEL_ID,
MODERATOR_CREATED_CHANNEL_ID,
PRIVATE_GENERAL_CHANNEL_ID,
} = constants;

module.exports = [
Expand Down Expand Up @@ -106,4 +108,15 @@ module.exports = [
isPrivate: false,
isDefault: false,
},

{
id: PRIVATE_GENERAL_CHANNEL_ID,
communityId: PRIVATE_COMMUNITY_ID,
createdAt: new Date(DATE),
name: 'General',
description: 'General',
slug: 'private-general',
isPrivate: false,
isDefault: false,
},
];
17 changes: 17 additions & 0 deletions api/migrations/seed/default/communities.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ const {
SPECTRUM_COMMUNITY_ID,
PAYMENTS_COMMUNITY_ID,
DELETED_COMMUNITY_ID,
PRIVATE_COMMUNITY_ID,
} = constants;

module.exports = [
{
id: SPECTRUM_COMMUNITY_ID,
createdAt: new Date(DATE),
isPrivate: false,
name: 'Spectrum',
description: 'The future of communities',
website: 'https://spectrum.chat',
Expand All @@ -23,6 +25,7 @@ module.exports = [
{
id: PAYMENTS_COMMUNITY_ID,
createdAt: new Date(DATE),
isPrivate: false,
name: 'Payments',
description: 'Where payments are tested',
website: 'https://spectrum.chat',
Expand All @@ -36,6 +39,7 @@ module.exports = [
id: DELETED_COMMUNITY_ID,
createdAt: new Date(DATE),
deletedAt: new Date(DATE),
isPrivate: false,
name: 'Deleted',
description: 'Things didnt work out',
website: 'https://spectrum.chat',
Expand All @@ -45,4 +49,17 @@ module.exports = [
'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434',
slug: 'deleted',
},
{
id: PRIVATE_COMMUNITY_ID,
createdAt: new Date(DATE),
isPrivate: true,
name: 'Private community',
description: 'Private community',
website: 'https://spectrum.chat',
profilePhoto:
'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693',
coverPhoto:
'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434',
slug: 'private',
},
];
4 changes: 4 additions & 0 deletions api/migrations/seed/default/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const COMMUNITY_MODERATOR_USER_ID = '9';
const SPECTRUM_COMMUNITY_ID = '1';
const PAYMENTS_COMMUNITY_ID = '2';
const DELETED_COMMUNITY_ID = '3';
const PRIVATE_COMMUNITY_ID = '4';

// channels
const SPECTRUM_GENERAL_CHANNEL_ID = '1';
Expand All @@ -32,6 +33,7 @@ const SPECTRUM_ARCHIVED_CHANNEL_ID = '5';
const SPECTRUM_DELETED_CHANNEL_ID = '6';
const DELETED_COMMUNITY_DELETED_CHANNEL_ID = '7';
const MODERATOR_CREATED_CHANNEL_ID = '8';
const PRIVATE_GENERAL_CHANNEL_ID = '9';

module.exports = {
DATE,
Expand All @@ -47,6 +49,7 @@ module.exports = {
SPECTRUM_COMMUNITY_ID,
PAYMENTS_COMMUNITY_ID,
DELETED_COMMUNITY_ID,
PRIVATE_COMMUNITY_ID,
SPECTRUM_GENERAL_CHANNEL_ID,
SPECTRUM_PRIVATE_CHANNEL_ID,
PAYMENTS_GENERAL_CHANNEL_ID,
Expand All @@ -55,4 +58,5 @@ module.exports = {
SPECTRUM_DELETED_CHANNEL_ID,
DELETED_COMMUNITY_DELETED_CHANNEL_ID,
MODERATOR_CREATED_CHANNEL_ID,
PRIVATE_GENERAL_CHANNEL_ID,
};
38 changes: 33 additions & 5 deletions api/migrations/seed/default/threads.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,14 @@ const {
BRIAN_ID,
MAX_ID,
BRYN_ID,
CHANNEL_MODERATOR_USER_ID,
SPECTRUM_GENERAL_CHANNEL_ID,
PRIVATE_GENERAL_CHANNEL_ID,
SPECTRUM_PRIVATE_CHANNEL_ID,
PAYMENTS_GENERAL_CHANNEL_ID,
PAYMENTS_PRIVATE_CHANNEL_ID,
SPECTRUM_DELETED_CHANNEL_ID,
DELETED_COMMUNITY_DELETED_CHANNEL_ID,
MODERATOR_CREATED_CHANNEL_ID,
DELETED_COMMUNITY_ID,
SPECTRUM_COMMUNITY_ID,
PAYMENTS_COMMUNITY_ID,
PRIVATE_COMMUNITY_ID,
SPECTRUM_ARCHIVED_CHANNEL_ID,
} = constants;

Expand Down Expand Up @@ -385,4 +382,35 @@ module.exports = [
lastActive: new Date(DATE + 2),
// deletedAt is missing intentionally
},

{
id: 'thread-13',
createdAt: new Date(DATE + 2),
creatorId: MAX_ID,
channelId: PRIVATE_GENERAL_CHANNEL_ID,
communityId: PRIVATE_COMMUNITY_ID,
isPublished: true,
isLocked: false,
type: 'DRAFTJS',
content: {
title: 'Yet another thread',
body: JSON.stringify(
toJSON(fromPlainText('This is just another thread'))
),
},
attachments: [],
edits: [
{
timestamp: new Date(DATE + 2),
content: {
title: 'Yet another thread',
body: JSON.stringify(
toJSON(fromPlainText('This is just another thread'))
),
},
},
],
modifiedAt: new Date(DATE + 2),
lastActive: new Date(DATE + 2),
},
];
14 changes: 13 additions & 1 deletion api/migrations/seed/default/usersChannels.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ const {
MAX_ID,
BRYN_ID,
BLOCKED_USER_ID,
PENDING_USER_ID,
PREVIOUS_MEMBER_USER_ID,
CHANNEL_MODERATOR_USER_ID,
COMMUNITY_MODERATOR_USER_ID,
SPECTRUM_GENERAL_CHANNEL_ID,
PRIVATE_GENERAL_CHANNEL_ID,
SPECTRUM_ARCHIVED_CHANNEL_ID,
SPECTRUM_PRIVATE_CHANNEL_ID,
DELETED_COMMUNITY_DELETED_CHANNEL_ID,
Expand Down Expand Up @@ -384,4 +384,16 @@ module.exports = [
isPending: false,
receiveNotifications: false,
},
{
id: '31',
createdAt: new Date(DATE),
userId: MAX_ID,
channelId: PRIVATE_GENERAL_CHANNEL_ID,
isOwner: true,
isModerator: false,
isMember: true,
isBlocked: false,
isPending: false,
receiveNotifications: false,
},
];
Loading