Page MenuHomePhorge

Conpherence: Allow to Archive a Chat
Open, WishlistPublic

Description

At the moment it seems not possible to archive a Conpherence chat. But that would be somehow natural.

Proposal

  1. understand how "is disabled" is saved in other applications and do the same.

Exploration 1.1: how a status is implemented in Projects?

Project is weird, is a varchar but in only contains integers 0 (active) and 100 (disabled):

$ SHOW CREATE TABLE phabricator_project.project;
`status` varchar(32) NOT NULL`
-- no key on status
WARNING: Maybe we may want to refactor Project column to be INT lol...

Exploration 1.2: how a status is implemented in Dashboard app?

Dashboard has a varchar saving active and archived:

$ SHOW CREATE TABLE phabricator_dashboard.dashboard;
...
`status` varchar(32) NOT NULL
-- no key on status

Exploration 1.3: how a status is implemented in File Meme app?

The Meme app seems to use the most efficient way, just a tinyint:

$ SHOW CREATE TABLE phabricator_file.file_imagemacro;
...
`isDisabled` tinyint(1) NOT NULL,
KEY `key_disabled` (`isDisabled`)

→ we may want to proceed like in the File Meme app that seems the most efficient way, so, with a tinyint

→ we may want to add a database key on this disabled field, since it will be frequently queried and it will avoid a full table scan, and we will cover the situation of a Phorge with tons of chats in your Phorge (see next line)

  1. only show active chats from the page /conpherence/ (and curtain, top and floating)
  1. add an "Archived" filter in https://we.phorge.it/conpherence/search/ and as default only show active chats