1
0
mirror of synced 2026-05-22 14:43:19 +00:00
Commit Graph

3566 Commits

Author SHA1 Message Date
Borewit 5036fbcdda Use Codecov 2026-02-28 13:54:34 +01:00
Borewit a40b3296f6 Separate production and development build
Only the development includes source maps
2026-02-28 13:53:59 +01:00
Borewit 50eed638b9 11.12.1 v11.12.1 2026-02-16 19:32:30 +01:00
dependabot[bot] e5ebe01fa1 Bump @biomejs/biome from 2.3.14 to 2.4.0
Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) from 2.3.14 to 2.4.0.
- [Release notes](https://github.com/biomejs/biome/releases)
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md)
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.0/packages/@biomejs/biome)

---
updated-dependencies:
- dependency-name: "@biomejs/biome"
  dependency-version: 2.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 19:31:40 +01:00
Borewit 952ceae807 Fix miscalculation Ogg/Vorbis, duration miscalculation
Fix miscalculation occurring when Ogg/Vorbis files when the duration option is not explicitly enabled. In that case, the parser performs a partial read of the file and reports the duration based only on the processed portion, resulting in an incomplete value.

Resolves #2518
2026-02-16 19:30:57 +01:00
Borewit 69377eb9bb 11.12.0 v11.12.0 2026-02-08 14:30:10 +01:00
Borewit 7df04e6408 Update documentation 2026-02-08 14:30:07 +01:00
dependabot[bot] 5dbebf53ed Bump @types/node from 25.1.0 to 25.2.0 in the types group
Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 25.1.0 to 25.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-08 14:28:18 +01:00
Borewit da9c403a34 Update Biome to 2.3.14 2026-02-08 14:28:05 +01:00
ma225tq 7c57bdcbdf refactor(MetadataCollector): add common types for SingularArtistId & PluralArtistId 2026-02-08 14:15:46 +01:00
ma225tq 86b5d9b7c7 refactor(MetaDataCollector): extract artist/albumartist handling into helper functions 2026-02-08 14:15:46 +01:00
ma225tq 17216a903a fix(type.ts): correct indentation in albumartist field description 2026-02-08 14:15:46 +01:00
ma225tq 62cd1a12d3 fix: add missing backtick in albumartists description 2026-02-08 14:15:46 +01:00
ma225tq d1916dea39 test: add test for multiple album artists in FLAC files 2026-02-08 14:15:46 +01:00
ma225tq 46568de6b2 docs: regenerate common_metadata.md 2026-02-08 14:15:46 +01:00
ma225tq 2f35aacd29 fix(type.ts): correct albumartist field description 2026-02-08 14:15:46 +01:00
ma225tq f2bef6b945 docs: add albumartist description in common.json 2026-02-08 14:15:46 +01:00
ma225tq 829b923e37 fix(type.ts): clarify albumartist field description
This was done to help tell the difference between the existing albumartist and the new albumartists
2026-02-08 14:15:46 +01:00
ma225tq 6027f894c2 test: add multiple album artists (TPE2) test
Verifies that albumartists array is populated from null-separated TPE2 frame values.
2026-02-08 14:15:46 +01:00
ma225tq cd43849970 feat(MetadataCollector): add common.albumartists array support
Add albumartists field following the same pattern as artists:
  - Multiple TPE2 frames or null-separated values now populate common.albumartists array (like TPE1 does for common.artists)
  - Cross-population between albumartist/albumartists fields
2026-02-08 14:15:46 +01:00
Borewit c233ede0ad 11.11.2 v11.11.2 2026-02-02 20:21:35 +01:00
glebrock a3c53f00c8 #2574: update docs for grouping field to include reference to GP1 frame, update to consistently use strictEqual() in test 2026-02-02 20:18:17 +01:00
glebrock e191ae87e8 #2574: add support for correctly populating the 'metadata.common.grouping' field for a file with an Tunes IDv2.2 tag with the 'GP1' frame 2026-02-02 20:18:17 +01:00
dependabot[bot] ff9fb7784d Bump win-guid from 0.2.0 to 0.2.1
Bumps [win-guid](https://github.com/Borewit/win-guid) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/Borewit/win-guid/releases)
- [Commits](https://github.com/Borewit/win-guid/compare/v0.2.0...v0.2.1)

---
updated-dependencies:
- dependency-name: win-guid
  dependency-version: 0.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 09:59:39 +01:00
dependabot[bot] 807dc7c847 Bump tar from 7.5.6 to 7.5.7
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.6 to 7.5.7.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 08:39:19 +01:00
Borewit 555354345d 11.11.1 v11.11.1 2026-01-28 19:57:40 +01:00
dependabot[bot] 42ddac6f0d Bump @types/node from 25.0.10 to 25.1.0 in the types group
Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 25.0.10 to 25.1.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 19:57:07 +01:00
Borewit 17c57c68d2 Update Biome to 2.3.13 2026-01-28 19:56:56 +01:00
Borewit 4909b6fe12 fix(id3v2): prevent crash when no tag frames present
Fix TypeError: Cannot read properties of undefined (reading 'filter') by defaulting missing frame/tag collections to empty arrays/objects.

- Add MP3 sample without tags + regression test
- Update related TS configs and dependencies/lockfile
2026-01-28 19:54:25 +01:00
Borewit 0ec4b7e79e Add logo 2026-01-26 20:59:39 +01:00
Borewit 06ef2dac8f 11.11.0 v11.11.0 2026-01-24 19:49:30 +01:00
dependabot[bot] 63a8bb439a Bump @types/node from 25.0.3 to 25.0.6 in the types group
Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 25.0.3 to 25.0.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 19:49:03 +01:00
dependabot[bot] 9fa48233b6 Bump tar from 7.4.3 to 7.5.6
Bumps [tar](https://github.com/isaacs/node-tar) from 7.4.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.4.3...v7.5.6)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 19:48:39 +01:00
Borewit 8c822709d3 Add ID3v2 chapter support 2026-01-24 19:48:05 +01:00
Borewit 9809b7dcb0 Drop Discord link 2026-01-23 12:58:23 +01:00
dependabot[bot] 509010a699 Change NPM download statistics to weekly 2026-01-23 12:57:58 +01:00
dependabot[bot] 213e08dc90 Bump win-guid from 0.1.3 to 0.2.0
Bumps [win-guid](https://github.com/Borewit/win-guid) from 0.1.3 to 0.2.0.
- [Release notes](https://github.com/Borewit/win-guid/releases)
- [Commits](https://github.com/Borewit/win-guid/compare/v0.1.3...v0.2.0)

---
updated-dependencies:
- dependency-name: win-guid
  dependency-version: 0.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 23:55:36 +01:00
Borewit e86e878c15 11.10.6 v11.10.6 2026-01-14 18:11:29 +01:00
dependabot[bot] 99d80e5685 Bump file-type from 21.2.0 to 21.3.0
Bumps [file-type](https://github.com/sindresorhus/file-type) from 21.2.0 to 21.3.0.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v21.2.0...v21.3.0)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 18:04:56 +01:00
Borewit b13fab0e7b Depend on win-guid for Windows GUID conversion 2026-01-14 18:04:39 +01:00
Borewit 81dca61fee Fix small code smalls, update Biome to 2.3.11 2026-01-06 15:50:42 +01:00
Borewit 9368e35f7a 11.10.5 v11.10.5 2026-01-06 13:47:18 +01:00
Borewit 64d2148d11 id3v2: harden frame parsing and fix edge cases
- Correctly handle missing null terminators in text fields
- Avoid reading text encoding for frames that do not define it
- Decode URL link frames according to ID3v2 specification
- Improve robustness of POPM and GEOB frame parsing
2026-01-06 13:39:38 +01:00
Borewit fd8b32b309 Improve findZero:
- eliminates all OOB reads.
- makes the “not found” behavior explicit and consistent.
2026-01-06 13:39:38 +01:00
Borewit 7ad0198d67 Improve readNullTerminatedString
- Don’t overwrite `uint8Array`, keep `valueArray` so the length comparison is correct and readable.
- Replace `zeroIndex === -`1 with `zeroIndex >= valueArray.length`.
2026-01-06 13:39:38 +01:00
Borewit 0e4156b986 id3v2: tighten frame decoding, trim nulls without regex, reduce allocations
- Use flatMap for TCON genre expansion to avoid concat/reduce allocations
- Add trimNullPadding helper and replace regex-based trailing null trimming
- Add defensive length checks for COMM/USLT and POPM parsing
- Use decodeUintBE consistently for POPM counter decoding
2026-01-06 13:39:38 +01:00
Borewit 26696ec75f Removed the eager, unconditional TextEncodingToken.get(...) at the start of readData() 2026-01-06 13:39:38 +01:00
Borewit da2f4ca2e9 Better reuse FrameParser.readNullTerminatedString 2026-01-06 13:39:38 +01:00
Borewit abbe09323d Improve MP3 parsing code
Favor Uint8Array.subarray, over passing offset and length
2026-01-06 13:39:38 +01:00
Borewit 65ec1c8fbd Move header parsing to FrameHeader.ts file, to allow re-using
Replace passing offset, and utilize `Uint8Array.subarray` instead.
2026-01-06 13:39:38 +01:00