fix: featureFlag to show some buttons/toggle for QA of group chunk3

pull/3052/head
Audric Ackermann 1 year ago
parent 7826dff0f7
commit 9b124d384e

@ -30,7 +30,8 @@ window.getNodeVersion = () => configAny.node_version;
window.sessionFeatureFlags = {
useOnionRequests: true,
useTestNet: isTestNet() || isTestIntegration(),
useClosedGroupV2: true, // TODO DO NOT MERGE Remove after QA debugger
useClosedGroupV2: true, // TODO DO NOT MERGE Remove after QA
useClosedGroupV2QAButtons: true, // TODO DO NOT MERGE Remove after QA
debug: {
debugLogging: !_.isEmpty(process.env.SESSION_DEBUG),
debugLibsessionDumps: !_.isEmpty(process.env.SESSION_DEBUG_LIBSESSION_DUMPS),

@ -202,7 +202,7 @@ const ResendInviteButton = ({
buttonType={SessionButtonType.Solid}
text={window.i18n('resend')}
onClick={() => {
void GroupInvite.addJob({ groupPk, member: pubkey }); // TODO audric: do we need to take care if that user was invited withHistory or not
void GroupInvite.addJob({ groupPk, member: pubkey });
}}
/>
);

@ -25,8 +25,9 @@ import {
import { Constants } from '../../../../session';
import { ConvoHub } from '../../../../session/conversations';
import { PubKey } from '../../../../session/types';
import { isDevProd, isTestIntegration } from '../../../../shared/env_vars';
import { hasClosedGroupV2QAButtons } from '../../../../shared/env_vars';
import { closeRightPanel } from '../../../../state/ducks/conversations';
import { groupInfoActions } from '../../../../state/ducks/metaGroups';
import { updateConfirmModal } from '../../../../state/ducks/modalDialog';
import { resetRightOverlayMode, setRightOverlayMode } from '../../../../state/ducks/section';
import {
@ -52,7 +53,6 @@ import { PanelButtonGroup, PanelIconButton } from '../../../buttons';
import { MediaItemType } from '../../../lightbox/LightboxGallery';
import { MediaGallery } from '../../media-gallery/MediaGallery';
import { Header, StyledScrollContainer } from './components';
import { groupInfoActions } from '../../../../state/ducks/metaGroups';
async function getMediaGalleryProps(conversationId: string): Promise<{
documents: Array<MediaItemType>;
@ -199,7 +199,7 @@ const StyledName = styled.h4`
const DestroyGroupForAllMembersButton = () => {
const dispatch = useDispatch();
const groupPk = useSelectedConversationKey();
if (groupPk && PubKey.is03Pubkey(groupPk) && (isDevProd() || isTestIntegration())) {
if (groupPk && PubKey.is03Pubkey(groupPk) && hasClosedGroupV2QAButtons()) {
return (
<PanelIconButton
dataTestId="delete-group-button"
@ -337,10 +337,10 @@ export const OverlayRightPanelSettings = () => {
/>
)}
{isDevProd() && isGroupV2 ? (
{hasClosedGroupV2QAButtons() && isGroupV2 ? (
<PanelIconButton
iconType={'group'}
text={'trigger avatar message'} // debugger FIXME Audric
text={'trigger avatar message'}
onClick={() => {
if (!PubKey.is03Pubkey(selectedConvoKey)) {
throw new Error('triggerFakeAvatarUpdate needs a 03 pubkey');

@ -27,12 +27,12 @@ import { useSet } from '../../hooks/useSet';
import { ConvoHub } from '../../session/conversations';
import { ClosedGroup } from '../../session/group/closed-group';
import { PubKey } from '../../session/types';
import { hasClosedGroupV2QAButtons } from '../../shared/env_vars';
import { groupInfoActions } from '../../state/ducks/metaGroups';
import { useMemberGroupChangePending } from '../../state/selectors/groups';
import { useSelectedIsGroupV2 } from '../../state/selectors/selectedConversation';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionToggle } from '../basic/SessionToggle';
import { isDevProd, isTestIntegration } from '../../shared/env_vars';
type Props = {
conversationId: string;
@ -275,7 +275,7 @@ export const UpdateGroupMembersDialog = (props: Props) => {
return (
<SessionWrapperModal title={titleText} onClose={closeDialog}>
{isDevProd() || isTestIntegration() ? (
{hasClosedGroupV2QAButtons() ? (
<>
Also remove messages:
<SessionToggle

@ -503,7 +503,7 @@ export async function showLeaveGroupByConvoId(conversationId: string, name: stri
conversationId,
})
);
// TODO AUDRIC this is chunk3 stuff: Only to be used after the closed group rebuild chunk3
// TODO this is post release chunk3 stuff: Only to be used after the closed group rebuild chunk3
// const onClickOkLastAdmin = () => {
// /* TODO */
// };

@ -1122,10 +1122,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
updatedExpirationSeconds: expireUpdate.expireTimer,
});
// TODO audric debugger, make pushChangesToGroupSwarmIfNeeded take extraStoreRequests
// but we'd also need to add a way to make a store subrequest from a v2groupMessage.
// we should be able to simplify a fair bit the GroupSyncJob file.
// i.e. we need an easy way (separate file) to wrap a message into a subrequest
await GroupSync.pushChangesToGroupSwarmIfNeeded({
groupPk: this.id,
revokeSubRequest: null,
@ -2705,7 +2701,6 @@ async function commitConversationAndRefreshWrapper(id: string) {
const savedDetails = await Data.saveConversation(convo.attributes);
await convo.refreshInMemoryDetails(savedDetails);
// Performance impact on this is probably to be pretty bad. We might want to push for that DB refactor to be done sooner so we do not need to fetch info from the DB anymore
for (let index = 0; index < LibSessionUtil.requiredUserVariants.length; index++) {
const variant = LibSessionUtil.requiredUserVariants[index];

18
ts/react.d.ts vendored

@ -67,15 +67,15 @@ declare module 'react' {
| 'privacy-section'
// settings menu item types
| 'messageRequests-settings-menu-item' // needs to be tweaked
| 'recoveryPhrase-settings-menu-item' // needs to be tweaked
| 'privacy-settings-menu-item' // needs to be tweaked
| 'notifications-settings-menu-item' // needs to be tweaked
| 'conversations-settings-menu-item' // needs to be tweaked
| 'appearance-settings-menu-item' // needs to be tweaked
| 'help-settings-menu-item' // needs to be tweaked
| 'permissions-settings-menu-item' // needs to be tweaked
| 'clearData-settings-menu-item' // TODO AUDRIC needs to be tweaked
| 'messageRequests-settings-menu-item'
| 'recoveryPhrase-settings-menu-item'
| 'privacy-settings-menu-item'
| 'notifications-settings-menu-item'
| 'conversations-settings-menu-item'
| 'appearance-settings-menu-item'
| 'help-settings-menu-item'
| 'permissions-settings-menu-item'
| 'clearData-settings-menu-item'
// timer options
| 'time-option-0'

@ -25,3 +25,7 @@ export function isTestNet() {
export function isTestIntegration() {
return envAppInstanceIncludes('test-integration') || isCI(); // when running on CI, we always want the 'test-integration' behavior
}
export function hasClosedGroupV2QAButtons() {
return !!window.sessionFeatureFlags.useClosedGroupV2QAButtons
}

1
ts/window.d.ts vendored

@ -30,6 +30,7 @@ declare global {
useOnionRequests: boolean;
useTestNet: boolean;
useClosedGroupV2: boolean;
useClosedGroupV2QAButtons: boolean;
debug: {
debugLogging: boolean;
debugLibsessionDumps: boolean;

Loading…
Cancel
Save