Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework of the chat app #78

Merged
merged 59 commits into from Apr 24, 2023
Merged

Rework of the chat app #78

merged 59 commits into from Apr 24, 2023

Conversation

calderonsamuel
Copy link
Collaborator

Sorry for the delay, the last touches of the app had subtle but important problems that needed to be fixed before the PR. Here I'll explain incrementally the new features and the reworks.

New look of the message history

Each individual message is now rounded and has an icon indicating whether it comes from the user or from the assistant. Each role has a different horizontal aligment and a slightly different background color.

image

Simplified user inputs

The prompt and buttons have been simplified to give the chat more room to expand.

image

Now the app has a settings button where the user can still choose its skill level and prefered style.

image

Welcome message with instructions

When the app starts (or history is cleared) the assistant greets the user with a random welcome message and instructions on how to use the app.

image

The chat can be adjusted vertically, horizontally and is scrollable

Limited to 800px width. The prompt input is always fixed to the bottom of the app.

Video.sin.titulo.mp4

The chat inherits the current rstudio theme

This makes it look more integrated with the IDE. I believe this gives the feel of what an extension does in VScode.

Video.sin.titulo.2.mp4

Copy to clipboard button in code chunks

Every code chunk now has on top a bar indicating the language of the code displayed and a "Copy" button. When the user clicks the button writes the code in the clipboard and shows a short "Copied" feedback in the button.

Custom scrollbar

The app uses now a narrower grey scrollbar.

Notes

Although the main focus of the rework focused on the chat app, some changes in internals were needed. I also had to structure the app in modules to better isolate all internal logic and functions. Also, I dropped the import of {dplyr} because it wasn't really needed.

I have documented almost every new function and module that I have added and made sure that the changes pass all the previous tests and the ones that I added.

I'll migrate every Issue on my fork to this repository. There are some little bugs that should be fixed before next CRAN submission, but I believe it is ready now to be tested by the public.

@JamesHWade
Copy link
Collaborator

This looks incredible! Fantastic work. I'll take a deep dive tomorrow (Monday) and hope to have it merged soon.

If it's okay with you, I'd like to list you as an author for the package given such a significant contribution.

@calderonsamuel
Copy link
Collaborator Author

Sure! Here is the info I use for my own packages:

person("Samuel", "Calderon", , "samuel.calderon@uarm.pe", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0001-6847-1210"))

Feel free to edit the role and let me know if you need anything else.

@JamesHWade JamesHWade merged commit 9290e4f into MichelNivard:main Apr 24, 2023
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants