Skip to content

Commit

Permalink
🧹 chore: pre-release cleanup (#3595)
Browse files Browse the repository at this point in the history
* fix: Update health endpoint URL

* refactor: use Constants for saved tag default value, do not place Saved as first always

* refactor: check trimmed currentText before appending parsedText in useSubmitMessage

* refactor: move `scrollToEnd()` to `createdHandler` and increase delay before execution slightly

* chore: Add back TypeScript linting rules for unnecessary conditions and strict boolean expressions

* chore: Update librechat-data-provider package.json version to 0.7.4.0
  • Loading branch information
danny-avila authored Aug 9, 2024
1 parent e05a6d3 commit 473859b
Show file tree
Hide file tree
Showing 11 changed files with 16 additions and 25 deletions.
2 changes: 2 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ module.exports = {
],
rules: {
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/no-unnecessary-condition': 'warn',
'@typescript-eslint/strict-boolean-expressions': 'warn',
},
},
{
Expand Down
17 changes: 1 addition & 16 deletions api/models/ConversationTag.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,14 @@ const ConversationTag = require('./schema/conversationTagSchema');
const Conversation = require('./schema/convoSchema');
const logger = require('~/config/winston');

const SAVED_TAG = 'Saved';

/**
* Retrieves all conversation tags for a user.
* @param {string} user - The user ID.
* @returns {Promise<Array>} An array of conversation tags.
*/
const getConversationTags = async (user) => {
try {
const cTags = await ConversationTag.find({ user }).sort({ position: 1 }).lean();

cTags.sort((a, b) => {
if (a.tag === SAVED_TAG) {
return -1;
}
if (b.tag === SAVED_TAG) {
return 1;
}
return 0;
});

return cTags;
return await ConversationTag.find({ user }).sort({ position: 1 }).lean();
} catch (error) {
logger.error('[getConversationTags] Error getting conversation tags', error);
throw new Error('Error getting conversation tags');
Expand Down Expand Up @@ -248,7 +234,6 @@ const updateTagsForConversation = async (user, conversationId, tags) => {
};

module.exports = {
SAVED_TAG,
getConversationTags,
createConversationTag,
updateConversationTag,
Expand Down
3 changes: 1 addition & 2 deletions client/src/components/Chat/Menus/BookmarkMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { Spinner } from '~/components';
import { cn } from '~/utils';
import store from '~/store';

const SAVED_TAG = 'Saved';
const BookmarkMenu: FC = () => {
const localize = useLocalize();

Expand Down Expand Up @@ -47,7 +46,7 @@ const BookmarkMenu: FC = () => {
if (conversation && conversationId) {
await mutateAsync(
{
tags: [SAVED_TAG],
tags: [Constants.SAVED_TAG as 'Saved'],
},
{
onSuccess: (newTags: string[]) => {
Expand Down
3 changes: 2 additions & 1 deletion client/src/data-provider/mutations.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {
Constants,
EToolResources,
LocalStorageKeys,
InfiniteCollections,
Expand Down Expand Up @@ -322,9 +323,9 @@ export const useConversationTagMutation = (
if (!data) {
return [
{
tag: 'Saved',
count: 1,
position: 0,
tag: Constants.SAVED_TAG,
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
},
Expand Down
3 changes: 1 addition & 2 deletions client/src/hooks/Chat/useChatFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ import type {
import type { SetterOrUpdater } from 'recoil';
import type { TAskFunction, ExtendedFile } from '~/common';
import useSetFilesToDelete from '~/hooks/Files/useSetFilesToDelete';
import { getEndpointField, logger, scrollToEnd } from '~/utils';
import useGetSender from '~/hooks/Conversations/useGetSender';
import { getEndpointField, logger } from '~/utils';
import useUserKey from '~/hooks/Input/useUserKey';
import store from '~/store';

Expand Down Expand Up @@ -250,7 +250,6 @@ export default function useChatFunctions({
setLatestMessage(initialResponse);
}

scrollToEnd();
setSubmission(submission);
logger.log('Submission:');
logger.dir(submission, { depth: null });
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/Messages/useSubmitMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export default function useSubmitMessage(helpers?: { clearDraft?: () => void })
}

const currentText = methods.getValues('text');
const newText = currentText ? `\n${parsedText}` : parsedText;
const newText = currentText?.trim()?.length > 1 ? `\n${parsedText}` : parsedText;
setActivePrompt(newText);
},
[autoSendPrompts, submitMessage, setActivePrompt, methods, user],
Expand Down
3 changes: 3 additions & 0 deletions client/src/hooks/SSE/useEventHandlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import type {
import type { SetterOrUpdater, Resetter } from 'recoil';
import type { TResData, ConvoGenerator } from '~/common';
import {
scrollToEnd,
addConversation,
deleteConversation,
updateConversation,
Expand Down Expand Up @@ -291,6 +292,8 @@ export default function useEventHandlers({
if (resetLatestMessage) {
resetLatestMessage();
}

scrollToEnd();
},
[setMessages, setConversation, queryClient, isAddedRequest, resetLatestMessage],
);
Expand Down
2 changes: 1 addition & 1 deletion client/src/utils/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ export const scrollToEnd = () => {
if (messagesEndElement) {
messagesEndElement.scrollIntoView({ behavior: 'instant' });
}
}, 500);
}, 750);
};
2 changes: 1 addition & 1 deletion packages/data-provider/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "librechat-data-provider",
"version": "0.7.4",
"version": "0.7.4.0",
"description": "data services for librechat apps",
"main": "dist/index.js",
"module": "dist/index.es.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/data-provider/src/api-endpoints.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { AssistantsEndpoint } from './schemas';

export const health = () => '/api/health';
export const health = () => '/health';
export const user = () => '/api/user';

export const balance = () => '/api/balance';
Expand Down
2 changes: 2 additions & 0 deletions packages/data-provider/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -957,6 +957,8 @@ export enum Constants {
COMMANDS_MAX_LENGTH = 56,
/** Default Stream Rate (ms) */
DEFAULT_STREAM_RATE = 1,
/** Saved Tag */
SAVED_TAG = 'Saved',
}

export enum LocalStorageKeys {
Expand Down

0 comments on commit 473859b

Please sign in to comment.