35 Commits

Author SHA1 Message Date
Mazen Touati
7b6e0f89f4 chore(base): release 0.4.1-alpha (#57)
* chore(base): release 0.4.1-alpha

* build: update production artifacts for v0.4.1-alpha
2026-02-02 02:34:48 +01:00
Mazen Touati
e1fe4eefeb chore: wiki and artificats cleanups (#56)
* chore: document OpenAPI support

* chore: update readme

* refactor: use scrollArea wherever applicable

* chore: update demo video

* build: exclude more files from the release

* style: apply TS style fixes
2026-02-02 02:31:42 +01:00
github-actions[bot]
23af80288e chore(base): release 0.4.0-alpha (#36)
* chore(base): release 0.4.0-alpha

* build: update production artifacts for v0.4.0-alpha

---------

Co-authored-by: Mazen Touati <14861869+sunchayn@users.noreply.github.com>
2026-01-31 16:26:06 +01:00
Mazen Touati
8c028773d8 feat(client): add tabs support (#52)
* feat(client): add `tabs` support

* chore: apply fixes

* test: fix types

* build: pw again

* build: more attempts to improve PW

* fix: regressions after refactoring to tabs

* style: apply TS style fixes

* build: more PW

* test: run a problematic test in serial mode

* test: no parallel pw

* test: fix race condition in PW

* test: pw one worker no retry
2026-01-31 02:10:41 +01:00
Mazen Touati
bc43530a9e chore: remove the status page (#51)
* chore: remove the status page

* style: apply TS style fixes

* build: reconfigure PW once again

* tes: update snapshots

* build: PW again
2026-01-30 02:07:37 +01:00
Mazen Touati
c015e62533 feat(routes): add support for processing OpenAPI specs (#50)
* feat: add support for processing OpenAPI specs

* refactor: apply rector
2026-01-29 01:56:57 +01:00
Mazen Touati
aa99eacd2c feat(relay): add transaction mode to requests (#49)
* feat(ui): initialize scroll masks onmount

* feat(relay): add transaction mode to requests

* test: set sqlite as default connection

* test(relay): add missing test

* chore: clearer access to implementation

* style: apply rector

* style: apply php style fixes

* test: ts type fixes
2026-01-26 01:03:55 +01:00
Mazen Touati
9118ad6d20 fix(ui): ui improvements follow up (tabs + state persistence + error viewer) (#47)
* chore(request): add horizontal scroll to tabs

* fix(ui): properly re-sync global headers when switching apps

* style: apply TS style fixes

* feat(response): show relay exception message when available

* test: update snapshot

* style: apply TS style fixes

* chore: improve select menu position to avoid border clash

* build: reduce PW workers in CI

* style: apply TS style fixes

* build: enable 8 workers for PW in CI

* test: fix e2e flakiness in multi-workers run

* test: halve PW workers

* test: one worker for PW in CI
2026-01-25 21:41:02 +01:00
Mazen Touati
35b96042f0 refactor: solidify the FE codebase and improve UI consistency (#45)
* chore: add storybook

* chore: unify FE codeabse

* chore: update eslint rules

* chore: harmonize the use of "subtle" color

* chore: remove an extra sidebar rail

* refactor: make panel items more consistent

* chore: cleanups after merging new code from base

* refactor: refine composables

* fix: add lost import

* chore: make icon style consistent

* fix: don't show empty "supported" methods

* refactor: solidify select items
2026-01-25 14:30:07 +01:00
Mazen Touati
2895a0ddc6 feat(export): add shareable links (#41)
* feat(export): add shareable links

* chore: reconfigure PW

* test: fix namespace

* style: apply prettier

* chore: reduce workers count in CI for PW

tests are running slower (to the point some time out) and flaky

* fix: initialize pending request from store immediately

* chore: apply rector
2026-01-24 03:01:32 +01:00
Mazen Touati
e1b844cee0 feat(history): add history viewer and rewind (#38)
* feat(ui): add `input group` base component

* feat(history): add history viewer and rewind

* test: update selector snapshot

* test: add PW base page

* style: apply TS style fixes

* chore(history): request history wiki

* chore(history): remove unwanted symbol

* chore: fix type

* style: apply TS style fixes
2026-01-17 20:50:00 +01:00
Mazen Touati
7b0af6feff fix(relay): properly process plain text payload (#39)
* fix(relay): properly process plain text payload

non-json text payload is passed as is.

* style: apply TS style fixes
2026-01-17 20:43:06 +01:00
Mazen Touati
a9e4e121ad build: use a hook for the version 2026-01-13 02:22:32 +01:00
Mazen Touati
141724eb84 build: add automated release flow (#35)
* chore: update to reflect the current version

* build: add automated release flow
2026-01-13 01:47:48 +01:00
Mazen Touati
a090c484f8 feat(routes): support multi-applications in config [breaking] (#34)
* chore: remove leftover console log

* chore: don't show a ring over dropdowns

* feat(routes): support multi-applications in config

* test: update snapshot
2026-01-12 21:56:38 +01:00
Mazen Touati
78d91a39c1 refactor(schemas): use standardized schema shapes (#33)
* refactor(schemas): use standardized schema shapes

* refactor: apply rector

* chore: fix types

* test(schemas): add missing tests

* chore(schemas): drop null schema

* feat(schemas): cover json rule
2026-01-12 21:23:04 +01:00
Mazen Touati
8780a79557 feat: persist UI state (#32)
* feat: persist UI state

* test: fix var declaration

* test: increate e2e timeout

sometimes there might be a network latency to load CDN assets like the fonts. Let's give the tests a maximum of 1 minute to fully run.
2026-01-11 01:32:57 +01:00
Mazen Touati
8bdd510f17 fix(curl): properly wrap JSON payload (#31) 2026-01-04 19:47:20 +01:00
Mazen Touati
e3b3370ebe feat(relay): render dd() responses properly (#29)
* feat(relay): render `dd()` responses correctly

* wiki(relay): `dd` responses

* test: fix failing test after changing test id

* style: apply TS style fixes

* style: apply php style fixes

* chore: fix types

* build: always run php and js test on PR changes

* test(relay): simplify test

* build: use proper cache key for e2e job

* feat(relay): more assertive dd parser

* build: fix package.json indentation

* build: properly build for `dev` mode

* test: correctly install current branch artifacts for E2E

* test: fail fast for PW tests

* build: don't run php and js tests twice on PRs

* test: PW fixes

* test: correctly build artifacts from branch for E2E

* chore: fix naming

* fix(relay): properly parse some type of closures in `dd`

* test: enable parallel runs for PW

* test(relay): simplify `dd` E2E test
2026-01-04 15:57:57 +01:00
Mazen Touati
4adb5a1bbf fix(curl): properly export get requests with body payload (#25) 2025-12-26 22:39:27 +01:00
Mazen Touati
8e05ce4978 feat(routes): auto-select route variables on click (#24)
* feat(routes): auto-select route variables on click

* style: apply TS style fixes
2025-11-22 19:45:15 +01:00
Mazen Touati
65d2a240b5 chore: fix TS types (#21)
* chore: fix TS types

* build: add types-check CI job

* style: apply TS style fixes
2025-11-18 19:29:37 +01:00
Mazen Touati
ed5dfa4664 fix(ui): properly access content's width 2025-11-16 19:03:40 +01:00
Mazen Touati
55a05a6b97 chore: add a todo 2025-11-16 19:03:40 +01:00
Mazen Touati
4724761231 chore: access localstorage from window object 2025-11-16 19:03:40 +01:00
Mazen Touati
6ba071dc98 test: front-end tests cleanup (round 1)
the aim is to make the tests more about the behavior rather than implementation, add some missing tests, and improve the code.
2025-11-16 19:03:40 +01:00
Mazen Touati
07b4708c76 chore: adjust documentation link 2025-11-12 20:19:27 +01:00
Mazen Touati
14abc80482 feat(settings): show current package version (#12) 2025-11-07 12:42:21 +01:00
Mazen Touati
8cb3e1bb73 feat(request): improve generators (#11)
* feat(request): auto-generate IP addresses

* feat(request): add `system` generator

* feat(request): auto-generate versions

* style: apply TS style fixes
2025-11-04 19:01:31 +01:00
Mazen Touati
47e94ca206 fix: persist headers across endpoints (#6)
* refactor: config are not reactive

* fix: persist headers across endpoints

make sure the UI and request builder are truly in sync
2025-11-04 18:41:37 +01:00
Mazen Touati
da56fd3070 fix(response): reset response size on endpoint change (#9)
* fix(response): reset response size on endpoint change

* test(request): move test to the right directory
2025-11-04 18:15:10 +01:00
Mazen Touati
cdde69c41b feat(request): don't reset request when re-selecting (#10)
re-selecting the same endpoint shouldn't re-trigger request initialization
2025-11-04 17:13:14 +00:00
Mazen Touati
950dd26ba7 fix(request): properly sync UI headers and store (#8) 2025-11-04 18:10:44 +01:00
Mazen Touati
8f49d68390 fix: properly initialize headers on method change (#5)
Fixes #2
2025-11-03 19:33:55 +01:00
Mazen Touati
c2aa6895d6 feat: initial alpha release
This commit represents the complete foundational codebase for Nimbus Alpha, a Laravel package that provides an integrated, in-browser API client with automatic schema discovery from validation rules.

IMPORTANT: This is a squashed commit representing the culmination of extensive development, refactoring, and architectural iterations. All previous commit history has been intentionally removed to provide a clean foundation for the public alpha release.

The development of Nimbus involved:
- Multiple architectural refactorings
- Significant structural changes
- Experimental approaches that were later abandoned
- Learning iterations on the core concept
- Migration between different design patterns

This messy history would:
- Make git blame confusing and unhelpful
- Obscure the actual intent behind current implementation
- Create noise when reviewing changes
- Reference deleted or refactored code

If git blame brought you to this commit, it means you're looking at code that was part of the initial alpha release. Here's what to do:

1. Check Current Documentation
   - See `/wiki/contribution-guide/README.md` for architecture details
   - Review the specific module's README if available
   - Look for inline comments explaining the reasoning

2. Look for Related Code
   - Check other files in the same module
   - Look for tests that demonstrate intended behavior
   - Review interfaces and contracts

3. Context Matters
   - This code may have been updated since alpha
   - Check git log for subsequent changes to this file
   - Look for related issues or PRs on GitHub

---

This commit marks the beginning of Nimbus's public journey. All future
commits will build upon this foundation with clear, traceable history.

Thank you for using or contributing to Nimbus!
2025-10-23 00:16:28 +02:00