Commit Graph

1495 Commits

Author SHA1 Message Date
eec6ed30d8 Refactor API calls in dashboard components to include company ID for data fetching. Updated methods in reference data files to accept companyId as a parameter, ensuring accurate data retrieval based on the selected company. Enhanced user experience by preventing errors related to missing company context. 2026-05-15 18:05:28 -05:00
c496ed2006 Merge pull request 'Add permissions hydration handling to improve user experience and prevent access flash' (#408) from fix/pedimentos into development
Reviewed-on: ADUANASOFT/anexo76#408
2026-05-15 22:32:44 +00:00
02b3ae8334 Add permissions hydration handling to improve user experience and prevent access flash
- Introduced `permissionsHydrated` writable store to track if RBAC permissions are loaded for the active company.
- Added `markPermissionsHydrated` function to set the hydration state.
- Updated dashboard components to wait for permissions to be hydrated before rendering restricted content, enhancing user experience by avoiding "Access Denied" flashes.
- Refactored permission checks in `pedimento-permissions.ts` to consistently use `userHasPermission` for clarity and maintainability.
2026-05-15 17:32:08 -05:00
4b22fa85e2 Merge pull request 'Refactor API calls in dashboard components to use active company ID. Updated classification, countries, and invoice types pages to ensure proper data fetching based on the selected company, enhancing user experience and data accuracy.' (#407) from fix/scroll into development
Reviewed-on: ADUANASOFT/anexo76#407
2026-05-15 22:13:32 +00:00
4c7910ab7b Refactor API calls in dashboard components to use active company ID. Updated classification, countries, and invoice types pages to ensure proper data fetching based on the selected company, enhancing user experience and data accuracy. 2026-05-15 17:13:03 -05:00
10e7a2a927 Merge pull request 'Correcion en las inconsisitencias de los permisos en los agentes aduanales' (#406) from fix/agentes-aduanales-correcion into development
Reviewed-on: ADUANASOFT/anexo76#406
2026-05-15 21:16:12 +00:00
2b24e48499 Merge pull request 'Coreecion de error en el item del formulario de bultos, no se generaba un nuevo item cada vez que queriamos ingresar un nuevo bulto, asi que nada mas volvia a brir el mismo item' (#405) from fix/bultos into development
Reviewed-on: ADUANASOFT/anexo76#405
2026-05-15 21:15:36 +00:00
88619e0a12 Merge pull request 'fix(reports): silent refresh y tenant override en descargas blob' (#404) from fix/reports-blob-token-refresh into development
Reviewed-on: ADUANASOFT/anexo76#404
2026-05-15 21:15:14 +00:00
c71b52a4f8 Merge pull request 'Botones de edicion y eliminacion en el footer de la informacion de los secotres y doble click para ver la informacion' (#403) from fix/sectores-corregido2 into development
Reviewed-on: ADUANASOFT/anexo76#403
2026-05-15 21:14:47 +00:00
abc5764b70 Merge pull request 'fix/informacion-empresa' (#402) from fix/informacion-empresa into development
Reviewed-on: ADUANASOFT/anexo76#402
2026-05-15 21:10:46 +00:00
b793ae6b82 Merge pull request 'fix(dashboard): evitar flash de "Acceso Restringido" al refrescar' (#401) from fix/flash-acceso-restringido-dashboard into development
Reviewed-on: ADUANASOFT/anexo76#401
2026-05-15 21:10:33 +00:00
866b25581b Correcion en las inconsisitencias de los permisos en los agentes aduanales 2026-05-15 14:15:29 -05:00
fad784e49f Coreecion de error en el item del formulario de bultos, no se generaba un nuevo item cada vez que queriamos ingresar un nuevo bulto, asi que nada mas volvia a brir el mismo item 2026-05-15 13:23:28 -05:00
73fb03795d fix(reports): silent refresh y tenant override en descargas blob
fetchBlob no implementaba silent refresh ni propagaba X-Tenant-Override,
por lo que reportes que descargan archivo (Descargos, Vencimientos) fallaban
con "token inválido o expirado" cuando el access_token estaba vencido,
mientras el resto del dashboard refrescaba sin problema.

- Extrae buildAuthHeaders compartido por fetchApi y fetchBlob.
- fetchBlob ahora hace silent refresh y reintenta una vez en 401.
- fetchBlob muestra toast consistente en 403.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 12:54:55 -05:00
e919cc60a3 Botones de edicion y eliminacion en el footer de la informacion de los secotres y doble click para ver la informacion 2026-05-15 12:28:23 -05:00
7118e26933 Botones de edicion y eliminacion en el footer de la informacion de las empresas y doble click para ver la informacion 2026-05-15 08:26:17 -05:00
4f4ca6453d Botones ya visibles 2026-05-14 17:56:37 -05:00
75ea8a347a fix(dashboard): evitar flash de "Acceso Restringido" al refrescar
Sembrar authStore desde data.user en el script de +layout.svelte
(SSR + hidratación) en lugar de en onMount, para que $currentUser
ya esté poblado en el primer render de las páginas hijas. Antes,
canView quedaba en false durante el SSR/hidratación y las páginas
renderizaban ErrorState 403 hasta que onMount llenaba el store.

Aplica al refrescar la página (F5) y al botón "Refrescar" de los
módulos que usan window.location.reload (countries, material_types,
payment_methods, document_types_digitization, clients_and_providers).

No se modificaron permisos, helpers de permisos, ni el patrón
canView/isError de las páginas afectadas.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 13:07:57 -05:00
76b03b2938 Merge pull request 'fix(goods): corregir selección y cuadro informativo en Clases de Activo Fijo' (#400) from fix/clases into development
Reviewed-on: ADUANASOFT/anexo76#400
2026-05-14 17:49:52 +00:00
34bbfff9d2 Merge pull request 'fix/catalogos-fijos' (#399) from fix/catalogos-fijos into development
Reviewed-on: ADUANASOFT/anexo76#399
2026-05-14 17:49:26 +00:00
1c7337915d Merge pull request 'eliminacion y cracion de registros reactivos' (#398) from fix/conversion-unidades into development
Reviewed-on: ADUANASOFT/anexo76#398
2026-05-14 17:48:43 +00:00
dd14f23779 Merge pull request 'Se le puse la opcion ambas en el modelo de puertos' (#397) from fix/puertos into development
Reviewed-on: ADUANASOFT/anexo76#397
2026-05-14 17:48:00 +00:00
2cf3b711f2 Merge pull request 'Mejoramiento de los errores en vehiculos' (#396) from fix/vehiculos into development
Reviewed-on: ADUANASOFT/anexo76#396
2026-05-14 17:47:08 +00:00
fa2f8a587d Merge pull request 'fix/equivalencias' (#395) from fix/equivalencias into development
Reviewed-on: ADUANASOFT/anexo76#395
2026-05-14 17:46:41 +00:00
d739a89d91 Merge pull request 'fix/clientes-provedores-traduccion' (#394) from fix/clientes-provedores-traduccion into development
Reviewed-on: ADUANASOFT/anexo76#394
2026-05-14 17:45:48 +00:00
64f372a335 fix(goods): corregir selección y cuadro informativo en Clases de Activo Fijo
- Clic en fila hace toggle multi-select; el registro clickeado queda primero en el array para que el cuadro informativo siempre muestre su info
- Clic en checkbox mantiene comportamiento independiente para selección múltiple (eliminar)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 12:33:12 -05:00
924030e268 Merge pull request 'fix/logout-anexo' (#393) from fix/logout-anexo into development
Reviewed-on: ADUANASOFT/anexo76#393
2026-05-14 17:19:53 +00:00
0c876b11bf fix(docker): change hub-net to be non-external in docker-compose 2026-05-14 12:19:16 -05:00
7a7e8a67a3 fix(auth): ensure id_token is cleared and set during SSO exchange for Keycloak logout 2026-05-14 12:15:37 -05:00
59052bee8d chore(gitignore): agregar .claude/ a archivos ignorados 2026-05-14 12:09:05 -05:00
0ed350ca11 fix(auth): enhance logout and login flow with Keycloak integration and cookie management 2026-05-14 12:07:10 -05:00
054130f78a fix(catalogos-referencia): habilitar menú de acciones para usuarios sin permisos de edición 2026-05-14 12:02:24 -05:00
3f55d19ce6 fix(catalogos-referencia): corregir etiqueta "Modos" a "Métodos de Transporte" 2026-05-14 12:02:06 -05:00
23ae03343b eliminacion y cracion de registros reactivos 2026-05-14 11:28:09 -05:00
dacfe8f6e8 docs: update frontend .env.example with all required vars for dev local
Agrega INTERNAL_API_URL, INTERNAL_HUB_URL, HUB_URL, KEYCLOAK_URL y ORIGIN
al ejemplo para que el dev local tenga el mismo conjunto de variables que
usa Docker Compose, evitando que el SSO exchange y el refresh proactivo
fallen silenciosamente por vars indefinidas.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 09:19:24 -05:00
85f31f8eca fix(auth): replace all /login redirects with redirectToWorkspaceLogin
Todos los page.server.ts que hacían throw redirect(302, '/login') ahora
usan redirectToWorkspaceLogin(cookies, url) para enviar al usuario directo
al login del workspace en lugar de pasar por la página /login local de Anexo76.

Archivos actualizados:
- dashboard/pedimentos/+page.server.ts
- dashboard/pedimentos/edit/[id]/+page.server.ts (2 redirects)
- dashboard/invoices/+page.server.ts
- dashboard/invoices/edit/[id]/+page.server.ts
- dashboard/invoices/settings/+page.server.ts
- dashboard/goods/parts/edit/[[id]]/+page.server.ts
- dashboard/general_catalogs/ports/+page.server.ts
- dashboard/general_catalogs/seal/+page.server.ts
- dashboard/reports/vencimiento/+page.server.ts
- dashboard/reports/invoices/+page.server.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 09:09:34 -05:00
228cd533d2 fix(sso): reduce cookie chunk threshold and add defensive error handling in SSO exchange
- Reduce ACCESS_TOKEN_MAX_SINGLE y ACCESS_TOKEN_CHUNK_SIZE de 3500 a 2800
  para garantizar que cada cookie fragmentada no supere el límite de 4096 bytes
  del navegador (incluye overhead del nombre, path, attrs).
- Agrega try/catch alrededor de response.json() en el load de /auth/sso para
  evitar SyntaxError no manejado si el body no es JSON.
- Type guards explícitos en tokens.access_token, refresh_token y tenant_id
  para detectar respuestas incompletas del hub antes de llamar cookies.set().
- .catch(() => ({})) en refreshRes.json() para que el refresh proactivo nunca
  bloquee el flujo SSO aunque el body sea inesperado.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 08:30:15 -05:00
458d348638 Se le puse la opcion ambas en el modelo de puertos 2026-05-13 09:54:20 -05:00
1482af22cb Mejoramiento de los errores en vehiculos 2026-05-13 09:10:25 -05:00
d927d7761b Merge branch 'development' of https://git.aduanasoft.com/ADUANASOFT/anexo76 into fix/equivalencias 2026-05-13 08:39:51 -05:00
eced3accdc Arreglo de equivalencias 2026-05-13 08:39:37 -05:00
6f2ce605a8 Merge pull request 'fix/logout-anexo' (#392) from fix/logout-anexo into development
Reviewed-on: ADUANASOFT/anexo76#392
2026-05-12 22:46:49 +00:00
35c47e32df fix: update secure cookie handling to use origin-based context for improved security 2026-05-12 17:32:03 -05:00
d8c012d968 Merge branch 'development' of https://git.aduanasoft.com/ADUANASOFT/anexo76 into fix/clientes-provedores-traduccion 2026-05-12 16:53:15 -05:00
d73c0dca83 fix: add ORIGIN environment variable for SvelteKit to prevent internal IP/port usage 2026-05-12 11:17:43 -05:00
2436a4d563 fix: update logout flow to use registered post-logout route and add redirect handler 2026-05-12 11:01:34 -05:00
cf27f6103d Merge pull request 'fix/redirect-invitation-users' (#391) from fix/redirect-invitation-users into development
Reviewed-on: ADUANASOFT/anexo76#391
2026-05-12 15:37:30 +00:00
51d29950c8 fix: implement backfill for UserCompanyRole during user login and invite flow 2026-05-12 10:35:52 -05:00
47d5257925 Merge pull request 'fix/head-alembic' (#390) from fix/head-alembic into development
Reviewed-on: ADUANASOFT/anexo76#390
2026-05-12 15:32:46 +00:00
99a6daa160 fix/head-alembic 2026-05-12 09:31:37 -06:00