Skip to content

Comments

Finish song search implementation#81

Merged
tomast1337 merged 126 commits intomainfrom
develop
Feb 19, 2026
Merged

Finish song search implementation#81
tomast1337 merged 126 commits intomainfrom
develop

Conversation

@Bentroen
Copy link
Member

No description provided.

Bentroen and others added 30 commits January 1, 2026 17:22
…ode exports

A bunch of issues were happening during the build due to the dynamic module importing. This commit completely separates browser and Node bundles for the `@nbw/thumbnail` package such that no Node-only dependencies slip into the client bundle.
The lib couldn't validate errors after upgrading to Zod 4.
…data before submit

Conforms to zod v4 whic
All packages should be `composite` so they're aware of each other within the monorepo's context.

We also extract common settings `emitDeclarationOnly`, `declaration` and `outDir` so this standard config is extended by all packages, avoiding the need to redefine them individually per package.

`"noEmit": false` is required for `"composite": true`, so this change is also included here.
strictPropertyInitialization:
- Remained after removing:
"strictNullChecks": true, "noImplicitAny": true, "strictBindCallApply": true,
which are already implied by "strict": true
- Overrides default value for "strict": true to allow for decorators (Nest.js, class-validator etc.)
- May be moved to specific packages instead, but doesn't cause harm if kept

allowJs:
- Likely added due to the adasync.js experiment
- We don't have any other .js files on the repo

incremental:
- Removed because `composite: true` already implies `incremental`
- incremental without composite produces .tsbuildinfo in weird places

exclude:
- if not explicitly included, none of these paths will be part of the TS project
- **/*.spec.ts excludes test files, which should be type-checked as well
allowImportingTsExtensions:
- Unused (unnecessary)

jsx:
- Belongs in the frontend config, not globally
While it's fine (and recommended) to have a separate TS config for building in apps, for packages, it adds unnecessary complexity and possible IDE/build mismatches in error reporting. So we're resorting to one simple rule: unless we can justify why a separate build config is needed in one sentence, it should be out - it's easy to reintroduce something later if things break.

The necessary rules have been merged into the base tsconfig.json and other unnecessary rules have been removed from either/both of them.
This change was prompted by the removal of this line from `database/tsconfig.json` in commit 01e0984:

    "paths": {
      "@database/*": ["src/*"]
    }

This adds an internal alias to the package itself, whereas this would only be needed in cross-package references.
This bypassed package boundaries, creating an internal public API that does not exist. For this reason and to be consistent with the rest of the project, internal imports are being changed to use relative path syntax.
…c -b`

We no longer have a separate `tsconfig.build.ts` specific for building, so there doesn't make sense to be a separate command for building types - it's not meant to be run standalone anyway, as each package is now composite.
Runs against the root `tsconfig.json`, which defines the build graph for the entire project.
The `-b` option actually makes sure the entire chain is built, then reports the errors.
- Removes no-op duplication
- Removes redundant configs (e.g. strictNullChecks, noImplicitAny, strictBindCallApply already included in strict: true)
- Merged `baseUrl` into `paths`
- Removed exclusion of tests, node_modules and dist
- Included `scripts` folder in the config
- Removed relaxed strict settings (pitfall)
- Removed redundant `outDir` (already defined in base config)
- Add missing comment in start section
- Remove tsconfig.build.json (no longer necessary)
Bentroen and others added 26 commits January 21, 2026 23:03
The new components from @shadcn/ui, loaded at the `src/modules/shared/components/ui` aren't up to standard yet:

- They're using a different color syntax (variations such as `primary`, `secondary`, `destructive` as opposed to directly color references), which we need to properly implement support for before migrating components to it.
- They're using the Lucide icon pack instead of FontAwesome, which we use throughout the project.

As such, this commit reverts the reference change from the new element to the old one, co-lated with the other form elements in `shared/components/client/FormElements`. A future refactoring will reoganize the frontend's path structure and also implement theme variations properly.
- Adds `hover` and `active` state changes
- Sets color, thickness, and focus based onsurrounding style
- Fixes broken
That is the one we're using on the song edit form - not the one in `ui/`. This will be reviewed later.
Commit 0de0449 made this change as a workaround for the `grid-auto-fit-<size>` utilities having broken. They have been re-introduced in c9c690c, so this change can be reverted as it simplifies the component; besides, the `size` parameter wasn't used anywhere in the codebase.
Added as a test to fix the label font looking slightly stretched vertically in comparison to the current production version. This change did not manage to fix the issue, but ended up making it in with the batch of changes in 9d3b891.
Make sure there's enough text to fill the line's length, accounting for the removal of Markdown syntax.
- Added trust proxy configuration for Express to handle X-Forwarded-* headers correctly.
- Improved cookie options by conditionally setting the domain attribute to prevent browser blocking of invalid domains.
- Updated cookie options to use the CookieOptions type from Express.
- Ensured the domain attribute is set correctly for cross-site cookies.
- Removed conditional domain setting to streamline cookie handling.
@tomast1337 tomast1337 merged commit 3907c3a into main Feb 19, 2026
6 of 8 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.

2 participants