Fixes bug where comments would be incorrectly marked as updated & adds user-friendly messages
This commit is contained in:
parent
0a4e0ca33f
commit
50528607e7
3 changed files with 64 additions and 40 deletions
69
dist/bundle.es.js
vendored
69
dist/bundle.es.js
vendored
|
@ -15,7 +15,6 @@ const CHANNEL_NEW = 'new';
|
|||
const PAGE_SIZE = 20;
|
||||
|
||||
var claim = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
MINIMUM_PUBLISH_BID: MINIMUM_PUBLISH_BID,
|
||||
CHANNEL_ANONYMOUS: CHANNEL_ANONYMOUS,
|
||||
CHANNEL_NEW: CHANNEL_NEW,
|
||||
|
@ -286,8 +285,7 @@ const TOGGLE_BLOCK_CHANNEL = 'TOGGLE_BLOCK_CHANNEL';
|
|||
// Sync
|
||||
const USER_STATE_POPULATE = 'USER_STATE_POPULATE';
|
||||
|
||||
var action_types = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
var ACTIONS = /*#__PURE__*/Object.freeze({
|
||||
WINDOW_FOCUSED: WINDOW_FOCUSED,
|
||||
DAEMON_READY: DAEMON_READY,
|
||||
DAEMON_VERSION_MATCH: DAEMON_VERSION_MATCH,
|
||||
|
@ -542,7 +540,6 @@ const OTHER = 'other';
|
|||
const COPYRIGHT = 'copyright';
|
||||
|
||||
var licenses = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
CC_LICENSES: CC_LICENSES,
|
||||
NONE: NONE,
|
||||
PUBLIC_DOMAIN: PUBLIC_DOMAIN,
|
||||
|
@ -573,7 +570,6 @@ const HISTORY = 'user_history';
|
|||
const WALLET = 'wallet';
|
||||
|
||||
var pages = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
AUTH: AUTH,
|
||||
BACKUP: BACKUP,
|
||||
CHANNEL: CHANNEL,
|
||||
|
@ -623,7 +619,6 @@ const RECEIVE_INTERESTS_NOTIFICATIONS = 'receiveInterestsNotifications';
|
|||
const RECEIVE_CREATOR_NOTIFICATIONS = 'receiveCreatorNotifications';
|
||||
|
||||
var settings = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
CREDIT_REQUIRED_ACKNOWLEDGED: CREDIT_REQUIRED_ACKNOWLEDGED,
|
||||
NEW_USER_ACKNOWLEDGED: NEW_USER_ACKNOWLEDGED,
|
||||
EMAIL_COLLECTION_ACKNOWLEDGED: EMAIL_COLLECTION_ACKNOWLEDGED,
|
||||
|
@ -651,7 +646,6 @@ const TITLE = 'title';
|
|||
const FILENAME = 'filename';
|
||||
|
||||
var sort_options = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
DATE_NEW: DATE_NEW,
|
||||
DATE_OLD: DATE_OLD,
|
||||
TITLE: TITLE,
|
||||
|
@ -665,7 +659,6 @@ const COMPLETE = 'complete';
|
|||
const MANUAL = 'manual';
|
||||
|
||||
var thumbnail_upload_statuses = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
API_DOWN: API_DOWN,
|
||||
READY: READY,
|
||||
IN_PROGRESS: IN_PROGRESS,
|
||||
|
@ -685,7 +678,6 @@ const UPDATE = 'update';
|
|||
const ABANDON = 'abandon';
|
||||
|
||||
var transaction_types = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
ALL: ALL,
|
||||
SPEND: SPEND,
|
||||
RECEIVE: RECEIVE,
|
||||
|
@ -702,7 +694,6 @@ const PAGE_SIZE$1 = 50;
|
|||
const LATEST_PAGE_SIZE = 20;
|
||||
|
||||
var transaction_list = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
PAGE_SIZE: PAGE_SIZE$1,
|
||||
LATEST_PAGE_SIZE: LATEST_PAGE_SIZE
|
||||
});
|
||||
|
@ -711,7 +702,6 @@ const SPEECH_STATUS = 'https://spee.ch/api/config/site/publishing';
|
|||
const SPEECH_PUBLISH = 'https://spee.ch/api/claim/publish';
|
||||
|
||||
var speech_urls = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
SPEECH_STATUS: SPEECH_STATUS,
|
||||
SPEECH_PUBLISH: SPEECH_PUBLISH
|
||||
});
|
||||
|
@ -757,7 +747,6 @@ const WALLET_DIR = 'wallet_dir';
|
|||
const WALLETS = 'wallets';
|
||||
|
||||
var daemon_settings = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
ANNOUNCE_HEAD_AND_SD_ONLY: ANNOUNCE_HEAD_AND_SD_ONLY,
|
||||
API: API,
|
||||
BLOB_DOWNLOAD_TIMEOUT: BLOB_DOWNLOAD_TIMEOUT,
|
||||
|
@ -811,7 +800,6 @@ var daemon_settings = /*#__PURE__*/Object.freeze({
|
|||
const WALLET_SERVERS = LBRYUM_SERVERS;
|
||||
|
||||
var shared_preferences = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
WALLET_SERVERS: WALLET_SERVERS
|
||||
});
|
||||
|
||||
|
@ -1264,6 +1252,18 @@ function buildURI(UrlObj, includeProto = true, protoDefault = 'lbry://') {
|
|||
deprecatedParts = _objectWithoutProperties(UrlObj, ['streamName', 'streamClaimId', 'channelName', 'channelClaimId', 'primaryClaimSequence', 'primaryBidPosition', 'secondaryClaimSequence', 'secondaryBidPosition']);
|
||||
const { claimId, claimName, contentName } = deprecatedParts;
|
||||
|
||||
{
|
||||
if (claimId) {
|
||||
console.error(__("'claimId' should no longer be used. Use 'streamClaimId' or 'channelClaimId' instead"));
|
||||
}
|
||||
if (claimName) {
|
||||
console.error(__("'claimName' should no longer be used. Use 'streamClaimName' or 'channelClaimName' instead"));
|
||||
}
|
||||
if (contentName) {
|
||||
console.error(__("'contentName' should no longer be used. Use 'streamName' instead"));
|
||||
}
|
||||
}
|
||||
|
||||
if (!claimName && !channelName && !streamName) {
|
||||
console.error(__("'claimName', 'channelName', and 'streamName' are all empty. One must be present to build a url."));
|
||||
}
|
||||
|
@ -4269,7 +4269,7 @@ function doCommentCreate(comment = '', claim_id = '', channel, parent_id) {
|
|||
data: error
|
||||
});
|
||||
dispatch(doToast({
|
||||
message: 'Oops, someone broke comments.',
|
||||
message: 'Unable to create comment, please try again later.',
|
||||
isError: true
|
||||
}));
|
||||
});
|
||||
|
@ -4294,7 +4294,7 @@ function doCommentHide(comment_id) {
|
|||
data: error
|
||||
});
|
||||
dispatch(doToast({
|
||||
message: 'There was an error hiding this comment. Please try again later.',
|
||||
message: 'Unable to hide this comment, please try again later.',
|
||||
isError: true
|
||||
}));
|
||||
});
|
||||
|
@ -4329,7 +4329,7 @@ function doCommentAbandon(comment_id) {
|
|||
data: error
|
||||
});
|
||||
dispatch(doToast({
|
||||
message: 'There was an error hiding this comment. Please try again later.',
|
||||
message: 'Unable to delete this comment, please try again later.',
|
||||
isError: true
|
||||
}));
|
||||
});
|
||||
|
@ -4349,16 +4349,30 @@ function doCommentUpdate(comment_id, comment) {
|
|||
comment_id: comment_id,
|
||||
comment: comment
|
||||
}).then(result => {
|
||||
dispatch({
|
||||
type: COMMENT_UPDATE_COMPLETED,
|
||||
data: {
|
||||
comment: result
|
||||
}
|
||||
});
|
||||
if (result != null) {
|
||||
dispatch({
|
||||
type: COMMENT_UPDATE_COMPLETED,
|
||||
data: {
|
||||
comment: result
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// the result will return null
|
||||
dispatch({
|
||||
type: undefined
|
||||
});
|
||||
dispatch(doToast({
|
||||
message: 'Your channel is still being setup, try again in a few moments.',
|
||||
isError: true
|
||||
}));
|
||||
}
|
||||
}).catch(error => {
|
||||
dispatch({ type: COMMENT_UPDATE_FAILED, data: error });
|
||||
dispatch({
|
||||
type: COMMENT_UPDATE_FAILED,
|
||||
data: error
|
||||
});
|
||||
dispatch(doToast({
|
||||
message: 'There was an error hiding this comment. Please try again later.',
|
||||
message: 'Unable to edit this comment, please try again later.',
|
||||
isError: true
|
||||
}));
|
||||
});
|
||||
|
@ -4890,10 +4904,7 @@ const commentReducer = handleActions({
|
|||
[COMMENT_UPDATE_COMPLETED]: (state, action) => {
|
||||
const { comment } = action.data;
|
||||
const commentById = Object.assign({}, state.commentById);
|
||||
|
||||
if (comment) {
|
||||
commentById[comment.comment_id] = comment;
|
||||
}
|
||||
commentById[comment.comment_id] = comment;
|
||||
|
||||
return _extends$8({}, state, {
|
||||
commentById,
|
||||
|
@ -5913,7 +5924,7 @@ const selectChannelIsBlocked = uri => reselect.createSelector(selectBlockedChann
|
|||
return state.includes(uri);
|
||||
});
|
||||
|
||||
exports.ACTIONS = action_types;
|
||||
exports.ACTIONS = ACTIONS;
|
||||
exports.CLAIM_VALUES = claim;
|
||||
exports.DAEMON_SETTINGS = daemon_settings;
|
||||
exports.DEFAULT_FOLLOWED_TAGS = DEFAULT_FOLLOWED_TAGS;
|
||||
|
|
|
@ -166,15 +166,31 @@ export function doCommentUpdate(comment_id: string, comment: string) {
|
|||
comment: comment,
|
||||
})
|
||||
.then((result: CommentUpdateResponse) => {
|
||||
dispatch({
|
||||
type: ACTIONS.COMMENT_UPDATE_COMPLETED,
|
||||
data: {
|
||||
comment: result,
|
||||
},
|
||||
});
|
||||
if (result != null) {
|
||||
dispatch({
|
||||
type: ACTIONS.COMMENT_UPDATE_COMPLETED,
|
||||
data: {
|
||||
comment: result,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
// the result will return null
|
||||
dispatch({
|
||||
type: ACTIONS.COMENT_UPDATE_FAILED,
|
||||
});
|
||||
dispatch(
|
||||
doToast({
|
||||
message: 'Your channel is still being setup, try again in a few moments.',
|
||||
isError: true,
|
||||
})
|
||||
);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
dispatch({ type: ACTIONS.COMMENT_UPDATE_FAILED, data: error });
|
||||
dispatch({
|
||||
type: ACTIONS.COMMENT_UPDATE_FAILED,
|
||||
data: error,
|
||||
});
|
||||
dispatch(
|
||||
doToast({
|
||||
message: 'Unable to edit this comment, please try again later.',
|
||||
|
|
|
@ -121,10 +121,7 @@ export const commentReducer = handleActions(
|
|||
[ACTIONS.COMMENT_UPDATE_COMPLETED]: (state: CommentsState, action: any) => {
|
||||
const { comment } = action.data;
|
||||
const commentById = Object.assign({}, state.commentById);
|
||||
|
||||
if (comment) {
|
||||
commentById[comment.comment_id] = comment;
|
||||
}
|
||||
commentById[comment.comment_id] = comment;
|
||||
|
||||
return {
|
||||
...state,
|
||||
|
|
Loading…
Reference in a new issue