Skip to content

Global chat/ character settings#640

Open
FatCatClient wants to merge 28 commits into
developmentfrom
feat/global-settings
Open

Global chat/ character settings#640
FatCatClient wants to merge 28 commits into
developmentfrom
feat/global-settings

Conversation

@FatCatClient

@FatCatClient FatCatClient commented Feb 18, 2026

Copy link
Copy Markdown
Contributor

TODO:

  • Bring up to date with post-options API changes in 2.0.0
  • 2.4 locale changes
  • Version number for settings file(s)
  • Proper system for messaging other tab instances that they need to reload the global settings
    • do we use the configuration-updated eventbus event for this?)
  • Figure out how we want to deal with other "settings", like favourite eicons, hidden users, etc.
    • Out of scope for this PR. We might do that later with a unique UI solution.
  • Make the SettingsView UI not suck.
    • Right now the SettingsTriView component and the logic to switch between modes is an awful hack. Let's work with a component that encompasses the whole boolean/ tri-state setting and uses the settings mode as an input.
    • Only 2 settings actually make a distinction between the two modes. But I'll redo it when I have a cleaner method.
    • Some settings have their checkboxes enabled/ disabled based on other states. This does not have an equivalent with the new parent component(s).
      • This does work, but it just needs to be applied to different places.
    • The actual design for the component will need to be redone with vertical tabs too.
  • Smart filter menu stuff. Ughhhh.
    • tl;dr: The only changes I've done for that menu is to make sure that the functions to save/ load don't completely break because of the way these are written. They VERY likely don't work at all now and might need a rewrite to an extent.
  • The tabs component had to be significantly rewritten for some of the new features, but the code to save me time to not have to update the API for every single other instance of the component is awful. Let's clean that up later.
  • Move SettingsView component to a child of Index.vue, instead of ChatView.vue
  • Clean up SettingsView code to use a singular Settings object instead of a million fields for every individual setting.

Closes #190.
Closes #458.

Stuff to do AFTER merging (to be made into their own issues), but we can live without these during the initial dev builds:

  • Make SettingsView handle app-level settings too:
  • Replace placeholder discord icon in SettingsView with custom horizon font icon
    • Resolved on branch already.
  • Initial import dialog issues:
    • 'Cancel' button does not work, I forgot that this needs custom logic for the Modal component (and it doesnt have custom text either)
      • Fixed in branch
  • Importing your character overrides to the new format doesn't work 100%: it does not take into account whether your pre-2.4 settings match your 2.4 global defaults, and will set them to their real values instead of undefined even if they match
    • This might need to be done in two instances: the initial import dialog and loading other character settings.
  • Places that check your character directories (import settings, log viewer) need to ignore the "_" character directory
    • Resolved on branch already.
  • Fix settings importer (between characters)
    • This hasn't been tested yet, but it might be broken.
  • Add checkboxes to settings importer to pick individual files to import (main settings, hidden users, pinned eicons, etc)
    • Out of scope. Let's make this a feature at a later date.

@github-actions

github-actions Bot commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

Artifacts

View all

x64 arm64
linux Download Download
macos Download Download
windows Download Download

@FatCatClient FatCatClient added this to the 2.2.0 milestone Mar 31, 2026
- Updated tabs component to support vertical tabs, and distinct tab item types (temporary hack code\)
- Redesigned SettingsView to use vertical tab layout, and split up various groups of settings
@FatCatClient FatCatClient moved this to In Progress in Horizon Releases Apr 21, 2026
@CodingWithAnxiety CodingWithAnxiety added this to the 2.4.0 milestone Jun 15, 2026
@FatCatClient FatCatClient removed this from the 2.4.0 milestone Jun 16, 2026
@FatCatClient FatCatClient added this to the 2.4.0 milestone Jun 24, 2026
@FatCatClient FatCatClient self-assigned this Jun 26, 2026
@FatCatClient FatCatClient added the do not merge Drafts, experimental PRs, or just things that require discussion beforehand label Jul 12, 2026

@freenutsxd freenutsxd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few tweaks following my changes in #826. Everything else should work fine

Comment thread chat/SettingsView.vue
Comment thread chat/SettingsView.vue
Comment thread chat/SettingsView.vue
Comment thread chat/SettingsView.vue
@FatCatClient FatCatClient removed the do not merge Drafts, experimental PRs, or just things that require discussion beforehand label Jul 21, 2026
@FatCatClient
FatCatClient marked this pull request as ready for review July 21, 2026 16:00
@FatCatClient FatCatClient changed the title WIP: Global chat/ character settings Global chat/ character settings Jul 21, 2026
@FatCatClient

Copy link
Copy Markdown
Contributor Author

@CodingWithAnxiety

I think it's now in a state where I'd feel comfortable merging it into the dev branch. There are still a handful of tasks that need to be done (see my list of bullet points and the two issues I've preemptively made for some of them).

But as-is, none of the existing functionality has regressed. I just felt that if we merge it before doing those things, then we don't have to deal with holding up other things because of this PR.

Aside from moving stuff from Settings.vue to chat/SettingsView.vue (which is more so tedious than hard), most of the items on that list are fairly small bite-sized chunks anyway. I can elaborate more on them in their own Github issues once this is merged.

Give me the go ahead on merging this, if you agree with me.

@FatCatClient FatCatClient moved this from In Progress to Follow Up Before Release in Horizon Releases Jul 21, 2026
@FatCatClient
FatCatClient dismissed freenutsxd’s stale review July 22, 2026 19:23

Issues were resolved in a different way: Smart Filters V1 are deprecated for now, and will have a rewrite in the future.

@FatCatClient FatCatClient added the Needs testing For (new) Pull Requests that have yet to be manually tested by a maintainer label Jul 25, 2026
@FatCatClient FatCatClient added Needs code review For (new) Pull Requests that still need a code review by a maintainer. and removed Needs code review For (new) Pull Requests that still need a code review by a maintainer. labels Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs testing For (new) Pull Requests that have yet to be manually tested by a maintainer

Projects

Status: Follow Up Before Release

Development

Successfully merging this pull request may close these issues.

Set Horizon Settings as Default Can't read logs until I've signed on as a character

3 participants