disable search in messages for now

This commit is contained in:
audric 2021-07-27 10:29:18 +10:00
parent dbf6a0183f
commit 1054278a54
5 changed files with 32 additions and 52 deletions

View File

@ -354,7 +354,7 @@
"beginYourSession": "Begin<br />your<br />Session.",
"welcomeToYourSession": "Welcome to your Session",
"newSession": "New Session",
"searchFor...": "Search for conversations, contacts, and messages",
"searchFor...": "Search for conversations or contacts",
"enterSessionID": "Enter Session ID",
"enterSessionIDOfRecipient": "Enter Session ID or ONS name of recipient",
"usersCanShareTheir...": "Users can share their Session ID by going into their account settings and tapping \"Share Session ID\", or by sharing their QR code.",

View File

@ -41,7 +41,6 @@ module.exports = {
getAllOpenGroupV1Conversations,
getAllOpenGroupV2Conversations,
getPubkeysInPublicConversation,
getAllConversationIds,
getAllGroupsInvolvingId,
removeAllConversations,
@ -65,8 +64,6 @@ module.exports = {
getMessageBySenderAndServerTimestamp,
getMessageIdsFromServerIds,
getMessageById,
getAllMessages,
getAllMessageIds,
getMessagesBySentAt,
getSeenMessagesByHashList,
getLastHashBySnode,
@ -260,7 +257,7 @@ function openAndMigrateDatabase(filePath, key) {
switchToWAL(db2);
// Because foreign key support is not enabled by default!
db2.pragma('foreign_keys = ON');
db2.pragma('foreign_keys = OFF');
return db2;
} catch (error) {
@ -834,6 +831,7 @@ const LOKI_SCHEMA_VERSIONS = [
updateToLokiSchemaVersion12,
updateToLokiSchemaVersion13,
updateToLokiSchemaVersion14,
updateToLokiSchemaVersion15,
];
function updateToLokiSchemaVersion1(currentVersion, db) {
@ -1177,6 +1175,26 @@ function updateToLokiSchemaVersion14(currentVersion, db) {
console.log(`updateToLokiSchemaVersion${targetVersion}: success!`);
}
function updateToLokiSchemaVersion15(currentVersion, db) {
const targetVersion = 15;
if (currentVersion >= targetVersion) {
return;
}
console.log(`updateToLokiSchemaVersion${targetVersion}: starting...`);
db.transaction(() => {
db.exec(`
DROP TABLE pairingAuthorisations;
DROP TABLE ${MESSAGES_FTS_TABLE};
DROP TRIGGER messages_on_delete;
DROP TRIGGER messages_on_update;
`);
writeLokiSchemaVersion(targetVersion, db);
})();
console.log(`updateToLokiSchemaVersion${targetVersion}: success!`);
}
function writeLokiSchemaVersion(newVersion, db) {
db.prepare(
`INSERT INTO loki_schema(
@ -1287,7 +1305,8 @@ function initialize({ configDir, key, messages, passwordAttempt }) {
// Clear any already deleted db entries on each app start.
vacuumDatabase(db);
getMessageCount();
const msgCount = getMessageCount();
console.warn('total message count: ', msgCount);
} catch (error) {
if (passwordAttempt) {
throw error;
@ -1612,13 +1631,6 @@ function getAllConversations() {
return map(rows, row => jsonToObject(row.json));
}
function getAllConversationIds() {
const rows = globalInstance
.prepare(`SELECT id FROM ${CONVERSATIONS_TABLE} ORDER BY id ASC;`)
.all();
return map(rows, row => row.id);
}
function getAllOpenGroupV1Conversations() {
const rows = globalInstance
.prepare(
@ -1992,16 +2004,6 @@ function getMessageById(id) {
return jsonToObject(row.json);
}
function getAllMessages() {
const rows = globalInstance.prepare(`SELECT json FROM ${MESSAGES_TABLE} ORDER BY id ASC;`).all();
return map(rows, row => jsonToObject(row.json));
}
function getAllMessageIds() {
const rows = globalInstance.prepare(`SELECT id FROM ${MESSAGES_TABLE} ORDER BY id ASC;`).all();
return map(rows, row => row.id);
}
function getMessageBySender({ source, sourceDevice, sentAt }) {
const rows = globalInstance
.prepare(

View File

@ -54,7 +54,7 @@ export const SearchResults = (props: SearchResultsProps) => {
<ContactsItem header={window.i18n('contactsHeader')} items={contacts} />
) : null}
{haveMessages ? (
{/* {haveMessages ? (
<div className="module-search-results__messages">
{hideMessagesHeader ? null : (
<div className="module-search-results__messages-header">
@ -65,7 +65,7 @@ export const SearchResults = (props: SearchResultsProps) => {
<MessageSearchResult key={message.id} {...message} />
))}
</div>
) : null}
) : null} */}
</div>
);
};

View File

@ -5,6 +5,7 @@ import { SessionSearchInput } from './SessionSearchInput';
import { SearchResultsProps } from '../SearchResults';
import { DefaultTheme } from 'styled-components';
import autoBind from 'auto-bind';
export interface Props {
searchTerm: string;
@ -18,13 +19,9 @@ interface State {
}
export class UserSearchDropdown extends React.Component<Props, State> {
private readonly updateSearchBound: (searchedString: string) => void;
public constructor(props: Props) {
super(props);
this.updateSearchBound = this.updateSearch.bind(this);
this.handleNavigation = this.handleNavigation.bind(this);
this.handleContactSelected = this.handleContactSelected.bind(this);
autoBind(this);
this.state = {
selectedContact: -1,
};
@ -64,7 +61,7 @@ export class UserSearchDropdown extends React.Component<Props, State> {
<div className="user-search-dropdown">
<SessionSearchInput
searchString={this.props.searchTerm}
onChange={this.updateSearchBound}
onChange={this.updateSearch}
placeholder={placeholder}
handleNavigation={this.handleNavigation}
/>

View File

@ -89,7 +89,6 @@ const channelsToMake = {
removeConversation,
getAllConversations,
getAllConversationIds,
getAllOpenGroupV1Conversations,
getPubkeysInPublicConversation,
getAllGroupsInvolvingId,
@ -116,8 +115,6 @@ const channelsToMake = {
getMessageBySenderAndServerTimestamp,
getMessageIdsFromServerIds,
getMessageById,
getAllMessages,
getAllMessageIds,
getMessagesBySentAt,
getExpiredMessages,
getOutgoingWithoutExpiresAt,
@ -541,11 +538,6 @@ export async function getAllConversations(): Promise<ConversationCollection> {
return collection;
}
export async function getAllConversationIds(): Promise<Array<string>> {
const ids = await channels.getAllConversationIds();
return ids;
}
export async function getAllOpenGroupV1Conversations(): Promise<ConversationCollection> {
const conversations = await channels.getAllOpenGroupV1Conversations();
@ -664,17 +656,6 @@ export async function getMessageById(id: string): Promise<MessageModel | null> {
return new MessageModel(message);
}
// For testing only
export async function getAllMessages(): Promise<MessageCollection> {
const messages = await channels.getAllMessages();
return new MessageCollection(messages);
}
export async function getAllMessageIds(): Promise<Array<string>> {
const ids = await channels.getAllMessageIds();
return ids;
}
export async function getMessageBySender({
source,
sourceDevice,
@ -775,9 +756,8 @@ export async function removeAllMessagesInConversation(conversationId: string): P
// time so we don't use too much memory.
// eslint-disable-next-line no-await-in-loop
messages = await getMessagesByConversation(conversationId, {
limit: 100,
limit: 500,
});
if (!messages.length) {
return;
}
@ -787,6 +767,7 @@ export async function removeAllMessagesInConversation(conversationId: string): P
// Note: It's very important that these models are fully hydrated because
// we need to delete all associated on-disk files along with the database delete.
// eslint-disable-next-line no-await-in-loop
await Promise.all(messages.map(message => message.cleanup()));
// eslint-disable-next-line no-await-in-loop