Darko Gjorgjijoski
095a1c8bef
Upgrade ChartJS ^2.9.4 → ^4
2026-04-02 19:59:22 +02:00
Darko Gjorgjijoski
0e313b80ca
Upgrade @vueuse/core from v12 to v14 ( #602 )
2026-04-02 18:09:43 +02:00
Darko Gjorgjijoski
5014a75fbc
Upgrade eslint tooling to v10 and fix linting bugs ( #601 )
...
- Upgrade eslint 9→10, eslint-config-prettier 9→10, eslint-plugin-vue 9→10
- Upgrade @types/node 20→24
- Migrate from legacy .eslintrc.mjs to flat config eslint.config.mjs
- Remove --ext flag from npm test script (dropped in eslint 10)
- Fix vue/no-ref-as-operand: add missing .value to ref assignments (5 files)
- Fix vue/return-in-computed-property: add default returns (2 files)
- Fix vue/no-side-effects-in-computed-properties: move mutation to watcher
- Fix vue/no-dupe-keys: remove ref shadowing prop in DomPDFDriver
- Fix vue/no-deprecated-slot-attribute: migrate to v-slot syntax (3 files)
- Fix vue/require-valid-default-prop: use factory function for array default
- Fix vue/no-unused-vars: remove unused slot destructure
- Disable vue/no-mutating-props (false positive for Pinia store props)
2026-04-02 17:33:18 +02:00
Darko Gjorgjijoski
9e5b9fdaad
Upgrade vue-flatpickr-component from v11 to v12 ( #600 )
2026-04-02 17:17:17 +02:00
Darko Gjorgjijoski
08dfe62312
Standardize Node.js version to 24 ( #599 )
...
Update Node.js from 20 to 24 across CI workflows, Dockerfiles,
package.json engines field, and add .node-version file for consistent
local development.
2026-04-02 17:08:39 +02:00
Darko Gjorgjijoski
f623cd0179
Upgrade vue-router from v4 to v5 ( #598 )
...
- Migrate beforeEach navigation guard from next() callback to return-based
API, preparing for vue-router v6 where next() is removed
2026-04-02 16:47:16 +02:00
Darko Gjorgjijoski
414531524c
Remove unused cross-env dependency
2026-04-02 16:39:10 +02:00
Darko Gjorgjijoski
d75a957183
Upgrade Tiptap from v2 to v3 ( #597 )
...
- Upgrade @tiptap/core, starter-kit, vue-3, pm, extension-text-align to v3
- Remove @tiptap/extension-link (now bundled in StarterKit v3)
- Move Link config into StarterKit.configure()
2026-04-02 16:35:43 +02:00
Darko Gjorgjijoski
63d3a7fc8e
Skip PHP CI jobs when only non-PHP files change
...
Replace workflow-level paths-ignore with per-job filtering using
dorny/paths-filter. PHP lint and test jobs now only run when PHP-related
files (app/, config/, database/, routes/, tests/, composer.*, phpunit.xml)
are modified.
2026-04-02 16:35:07 +02:00
Darko Gjorgjijoski
0be747a483
Pin axios to 1.14.0
...
Avoid possible supply chain attacks in future caused by compromised
author account or even rogue author.
2026-04-02 16:14:47 +02:00
Darko Gjorgjijoski
3ceb08bc31
Upgrade Pinia from v2 to v3 ( #596 )
...
Migrate all 37 store definitions from the deprecated object-with-id
signature to the string-id-first signature required by Pinia 3:
defineStore({ id: 'name', ... }) → defineStore('name', { ... })
2026-04-02 16:12:11 +02:00
Darko Gjorgjijoski
ad5a7e51b9
Upgrade to Vite 8 and Tailwind CSS 4 ( #595 )
...
- Vite 6 → 8 (Rolldown bundler), laravel-vite-plugin 1 → 3, @vitejs/plugin-vue 5 → 6
- Tailwind CSS 3 → 4 with CSS-based config (@theme, @plugin, @utility)
- Add @tailwindcss/vite plugin, remove postcss/autoprefixer/sass
- Convert SCSS files to plain CSS (resources/sass → resources/css)
- Migrate tailwind.config.js to CSS @theme directives
- Rename deprecated utility classes (shadow-sm→shadow-xs, outline-none→outline-hidden,
rounded-sm→rounded-xs, bg-gradient-to→bg-linear-to, ring→ring-3)
- Migrate opacity utilities to color modifiers (bg-opacity, text-opacity,
border-opacity, ring-opacity → color/N syntax)
- Update primary color CSS vars to full rgb() values for TW4 color-mix()
- Fix border-l color specificity for sidebar navigation (TW4 default border
color changed from gray-200 to currentColor)
- Fix invalid border color classes (border-grey-light, border-modal-bg, border--200)
- Add @reference directive for @apply in Vue component style blocks
- Convert Vue component <style lang="scss"> blocks to plain CSS
2026-04-02 15:59:15 +02:00
Darko Gjorgjijoski
691178857f
Add HTTP client wrapper and upgrade Axios to v1 ( #594 )
...
* refactor: add HTTP client wrapper and upgrade axios to v1
Introduce a thin HTTP wrapper (resources/scripts/http) that centralizes
axios configuration, interceptors, and auth header injection. All 43
files now import from the wrapper instead of axios directly, making
future library swaps a single-file change. Upgrade axios from 0.30.0
to 1.14.0.
* fix: restore window.Ls assignment removed during axios refactor
company.js uses window.Ls.set() to persist selected company,
which broke after the axios plugin (that set window.Ls) was deleted.
2026-04-02 15:08:23 +02:00
Darko Gjorgjijoski
a38f09cf7b
Installer reliability improvements ( #593 )
...
* docs: add CLAUDE.md for Claude Code guidance
* fix: handle missing settings table in installation middlewares
RedirectIfInstalled crashed with "no such table: settings" when the
database_created marker file existed but the database was empty.
Changed to use isDbCreated() which verifies actual tables, and added
try-catch around Setting queries in both middlewares.
* feat: pre-select database driver from env in installation wizard
The database step now reads DB_CONNECTION from the environment and
pre-selects the matching driver on load, including correct defaults
for hostname and port.
* feat: pre-select mail driver and config from env in installation wizard
The email step now fetches the current mail configuration on load
instead of hardcoding the driver to 'mail'. SMTP fields fall back
to Laravel config values from the environment.
* refactor: remove file-based DB marker in favor of direct DB checks
The database_created marker file was a second source of truth that
could drift out of sync with the actual database. InstallUtils now
checks the database directly via Schema::hasTable which is cached
per-request and handles all error cases gracefully.
2026-04-02 14:48:08 +02:00
mchev
375cfc6b18
Merge pull request #591 from mchev/588
...
Fix PDF notes line breaks
2026-04-01 21:38:14 +02:00
mchev
aa88dc340d
Closes #588
2026-04-01 21:30:32 +02:00
mchev
7004bf375e
Merge pull request #587 from rihards-simanovics/rihards-simanovics/issue586
...
Fix docker containers failing to create SQL backups due to missing OS dependencies
2026-03-27 08:15:43 +01:00
mchev
80889293bf
Merge pull request #508 from alexdev01012020/email-backup
...
Overrite the email notification for backup
2026-03-27 08:04:02 +01:00
Rihards Simanovics
d754c4d29e
fix: return missing development docker sql dependencies
...
Fixes #586
2026-03-27 00:18:15 +00:00
Rihards Simanovics
8de32e27d3
fix: return missing production docker sql dependencies
...
Fixes #586
2026-03-27 00:17:56 +00:00
mchev
3bae2c282c
Merge pull request #576 from csalzano/fix/remote-disk-backup-listing
...
Fix remote disk backups never appear in backup listing
2026-03-26 09:16:13 +01:00
Corey Salzano
14b5aaa0c9
Runs pint
2026-03-25 09:09:33 -04:00
Corey Salzano
aafcf147cf
Updates the "create backup" test to handle the disk prefix.
2026-03-24 23:00:47 -04:00
mchev
7e8f9e65fb
Merge pull request #580 from InvoiceShelf/translations
...
New Crowdin updates
2.2.1
2026-03-24 12:27:36 +01:00
mchev
67739750ca
Merge pull request #582 from mchev/master
...
Hot fix #280
2026-03-24 12:26:27 +01:00
mchev
5f6a7b92bf
Merge pull request #581 from swiffer/master
...
Import File facade in UpdateCommand
2026-03-24 12:26:00 +01:00
mchev
ff3cab570a
Hot fix #280
2026-03-24 12:13:40 +01:00
Darko Gjorgjijoski
11024ddc38
Update source file en.json
2026-03-24 09:30:45 +01:00
Matthias Wirtz
71303a1050
Import File facade in UpdateCommand
...
Added use statement for File facade.
2026-03-24 08:03:53 +01:00
Darko Gjorgjijoski
3af0e83d26
New translations en.json (Serbian (Latin))
2026-03-24 07:44:53 +01:00
Darko Gjorgjijoski
a866a26e9f
New translations en.json (Swahili)
2026-03-24 07:44:52 +01:00
Darko Gjorgjijoski
154a4dc076
New translations en.json (Malay)
2026-03-24 07:44:51 +01:00
Darko Gjorgjijoski
7900e020f5
New translations en.json (Hindi)
2026-03-24 07:44:50 +01:00
Darko Gjorgjijoski
974efb36da
New translations en.json (Latvian)
2026-03-24 07:44:49 +01:00
Darko Gjorgjijoski
45d84b8b3c
New translations en.json (Estonian)
2026-03-24 07:44:48 +01:00
Darko Gjorgjijoski
fdfb46ed79
New translations en.json (Croatian)
2026-03-24 07:44:46 +01:00
Darko Gjorgjijoski
ddcef0fb2c
New translations en.json (Thai)
2026-03-24 07:44:45 +01:00
Darko Gjorgjijoski
0254b16556
New translations en.json (Bengali)
2026-03-24 07:44:44 +01:00
Darko Gjorgjijoski
a9a52ca85f
New translations en.json (Persian)
2026-03-24 07:44:43 +01:00
Darko Gjorgjijoski
708d880b52
New translations en.json (Indonesian)
2026-03-24 07:44:42 +01:00
Darko Gjorgjijoski
57406989d4
New translations en.json (Portuguese, Brazilian)
2026-03-24 07:44:41 +01:00
Darko Gjorgjijoski
5d7e46b026
New translations en.json (Vietnamese)
2026-03-24 07:44:39 +01:00
Darko Gjorgjijoski
8e034e59f8
New translations en.json (Urdu (Pakistan))
2026-03-24 07:44:38 +01:00
Darko Gjorgjijoski
43951d4542
New translations en.json (Chinese Traditional)
2026-03-24 07:44:37 +01:00
Darko Gjorgjijoski
3cc0f41d8c
New translations en.json (Chinese Simplified)
2026-03-24 07:44:36 +01:00
Darko Gjorgjijoski
5f34ae558c
New translations en.json (Ukrainian)
2026-03-24 07:44:35 +01:00
Darko Gjorgjijoski
70d51d580d
New translations en.json (Turkish)
2026-03-24 07:44:34 +01:00
Darko Gjorgjijoski
b7929672fb
New translations en.json (Swedish)
2026-03-24 07:44:32 +01:00
Darko Gjorgjijoski
bd28849a9f
New translations en.json (Albanian)
2026-03-24 07:44:31 +01:00
Darko Gjorgjijoski
4d21aadcd4
New translations en.json (Slovenian)
2026-03-24 07:44:30 +01:00