Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
f603824
feat(http): scaffold space registration, route and locales
antonreshetov Apr 30, 2026
463d50a
feat(http): add storage types, paths and contracts
antonreshetov Apr 30, 2026
ef372d9
feat(http): add state, frontmatter parser and disk sync
antonreshetov Apr 30, 2026
508e091
feat(http): add folders and requests storages
antonreshetov Apr 30, 2026
989970e
feat(http): wire environments, history, provider and watcher
antonreshetov Apr 30, 2026
4140784
feat(http): add API DTOs and routes for folders, requests, environmen…
antonreshetov Apr 30, 2026
ccc817c
feat(http): add execute IPC handler with undici, env interpolation an…
antonreshetov Apr 30, 2026
3927edd
refactor(http): extract shared types to src/main/types/http.ts
antonreshetov Apr 30, 2026
d91d9b1
feat(http): add renderer composables for folders, requests, environme…
antonreshetov Apr 30, 2026
624ea4c
feat(http): scaffold 3-column space layout with sidebar/editor/response
antonreshetov Apr 30, 2026
25ed720
feat(http): render sidebar tree with folders, requests and context menus
antonreshetov Apr 30, 2026
a8b1f9b
feat(http): split layout into folders sidebar, requests list and edit…
antonreshetov Apr 30, 2026
028d0aa
fix(http): use registered Http* component names and add search input
antonreshetov Apr 30, 2026
3377808
fix(http): match notes list header layout (single search row with + b…
antonreshetov Apr 30, 2026
e697cf9
feat(http): add description and enabled flags on header/query KV entries
antonreshetov May 1, 2026
6304ca5
feat(http): redesign KeyValueTable with checkbox, description column …
antonreshetov May 1, 2026
4dab428
refactor(http-editor): polish header, drop save button and rename des…
antonreshetov May 1, 2026
6f0eff4
style(http): show full uppercase method label in HttpMethodBadge
antonreshetov May 1, 2026
34a817c
refactor(http): migrate folders sidebar to UiTree with multi-select a…
antonreshetov May 1, 2026
dddd45f
feat(http): multi-select, multi-delete and drag-drop in request list
antonreshetov May 1, 2026
513842d
feat(store): add http selection state to app store
antonreshetov May 1, 2026
da0a16d
feat(http): persist selected request and folder across reloads
antonreshetov May 1, 2026
9a05182
refactor(http): remove unused send button label and folder info display
antonreshetov May 1, 2026
a7df7d5
feat(http): bidirectional sync between request URL and query params
antonreshetov May 1, 2026
786cbf7
feat(http): implement body, auth and description tabs
antonreshetov May 1, 2026
a46bc35
feat(http): polish ResponsePanel with status, headers and copy
antonreshetov May 1, 2026
cd053a8
fix(http): use Http* prefix for tab components
antonreshetov May 1, 2026
3a0da80
feat(http): replace body textarea with CM6 editor and JSON validation
antonreshetov May 1, 2026
c630f6f
feat(http): validate JSON body on blur instead of every change
antonreshetov May 1, 2026
018f9d7
fix(http): hide internal JSON parse error details from user
antonreshetov May 1, 2026
9538175
fix(http): nest response i18n keys inside editor namespace
antonreshetov May 1, 2026
0ecd8bd
fix(http): apply custom scrollbar class to overflow containers
antonreshetov May 1, 2026
7e2d0e0
feat(http): hide pre-request tab until implementation
antonreshetov May 1, 2026
fda004c
fix(http): avoid duplicate query params
antonreshetov May 1, 2026
374ed73
fix(http): refresh state after storage changes
antonreshetov May 1, 2026
f8761f4
fix(http): persist active space
antonreshetov May 1, 2026
79232a4
fix(http): localize empty request url
antonreshetov May 1, 2026
e370fc6
feat(http): support sidebar/list visibility toggle via View menu
antonreshetov May 1, 2026
d3dd144
style(http): align RequestEditor header with code/notes editor pattern
antonreshetov May 2, 2026
de73d15
style(http): drop font-mono from URL input
antonreshetov May 2, 2026
cf1ae42
feat(http): api-based search with state restore
antonreshetov May 2, 2026
6dba1f4
feat(http): environments switcher and manager dialog
antonreshetov May 2, 2026
59d984c
feat(http): variable interpolation highlight and autocomplete
antonreshetov May 2, 2026
f70559c
style(http): render {{var}} as chips
antonreshetov May 2, 2026
dd190fa
style(http): theme-aware {{var}} chip colors via tokens
antonreshetov May 2, 2026
00c9581
feat(http): add request name input above url row
antonreshetov May 2, 2026
8970cc2
style(http): use default variant for method select and url input
antonreshetov May 2, 2026
3fc379c
style(http): tweak environment and send icons in editor header
antonreshetov May 2, 2026
ff31b57
feat(http): validate request name on rename
antonreshetov May 2, 2026
20c5b37
feat(http): auto-rename request on folder change conflict
antonreshetov May 2, 2026
ce43dc1
chore: prevent auto-focus on close for environment popover
antonreshetov May 3, 2026
6ea0ea4
fix(http): make response panel resizable
antonreshetov May 3, 2026
bb70e98
feat(http): add request preview panel
antonreshetov May 3, 2026
cacac56
refactor(http): use compact preview copy action
antonreshetov May 3, 2026
743dade
refactor(http): add response header copy action
antonreshetov May 3, 2026
6660225
refactor(http): move response summary to bottom panel
antonreshetov May 3, 2026
059791a
refactor(http): reuse code viewer for response body
antonreshetov May 3, 2026
6a16809
refactor(cm): share editor extensions
antonreshetov May 3, 2026
04becfb
feat(http): highlight request preview
antonreshetov May 3, 2026
c418d76
refactor(cm): remove notes extension aliases
antonreshetov May 3, 2026
15665a8
feat(http): move environments to sidebar
antonreshetov May 3, 2026
58544f2
feat(http): track donation activity
antonreshetov May 3, 2026
f8b85ae
fix(http): align environment rows
antonreshetov May 3, 2026
57cf97d
refactor(http): align body editor with cm6 viewer
antonreshetov May 3, 2026
98d6e36
fix(http): use ui font in url input
antonreshetov May 3, 2026
ec2c1c9
feat(http): reorder math space definition in getSpaceDefinitions
antonreshetov May 3, 2026
a517457
feat(http): add send request shortcut
antonreshetov May 3, 2026
e52b35c
feat(notes): link http requests
antonreshetov May 3, 2026
960f0b9
fix(http): refresh vault changes
antonreshetov May 3, 2026
2e7935d
fix(http): interpolate preview variables
antonreshetov May 3, 2026
c8e67ad
feat(http): expand request context menu
antonreshetov May 3, 2026
19306e0
feat(http): add http preferences
antonreshetov May 3, 2026
f5740c5
fix(http): tune environment panel
antonreshetov May 3, 2026
226e7df
fix(http): confirm environment deletes
antonreshetov May 3, 2026
7da32cf
refactor(http): reuse key value table
antonreshetov May 3, 2026
619f5f0
fix(http): improve selected request item
antonreshetov May 3, 2026
934c30e
feat(http): add folder custom icons
antonreshetov May 3, 2026
c826ab2
fix(http): select first request on folder change
antonreshetov May 3, 2026
20f12a3
docs: add http space documentation
antonreshetov May 3, 2026
c757d0f
chore(docs): remove AppVersion tag from environments and requests doc…
antonreshetov May 3, 2026
c54f644
fix(http): prevent environment dialog autofocus tooltips
antonreshetov May 3, 2026
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix(http): persist active space
  • Loading branch information
antonreshetov committed May 1, 2026
commit f8761f490535dc71ed1d3c2d470d3fb1936ef2f2
2 changes: 1 addition & 1 deletion src/main/store/module/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ function sanitizeAppStore(value: unknown): AppStore {
activeSpaceId: readEnum(
source,
'activeSpaceId',
['code', 'tools', 'math', 'notes'] as const,
['code', 'tools', 'math', 'notes', 'http'] as const,
APP_STORE_DEFAULTS.activeSpaceId,
) as SpaceId,
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/store/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export interface NotesDashboardWidgets {
topLinked: boolean
}

export type SpaceId = 'code' | 'tools' | 'math' | 'notes'
export type SpaceId = 'code' | 'tools' | 'math' | 'notes' | 'http'

export interface DonationsState {
lastActiveDay: string
Expand Down
5 changes: 3 additions & 2 deletions src/renderer/composables/useDonationTriggers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import { useDonations } from '@/composables/useDonations'
import { i18n } from '@/electron'
import { toast } from 'vue-sonner'

type CreatedSpace = Exclude<SpaceId, 'tools'>
type CopySpace = Exclude<SpaceId, 'http'>
type CreatedSpace = Exclude<SpaceId, 'tools' | 'http'>

const COPY_INTERVAL = 25
const CREATED_INTERVAL = 25
const COPY_SPACES: SpaceId[] = ['code', 'notes', 'math', 'tools']
const COPY_SPACES: CopySpace[] = ['code', 'notes', 'math', 'tools']
const CREATED_SPACES: CreatedSpace[] = ['code', 'notes', 'math']
const STREAK_MILESTONES = [7, 30, 100] as const

Expand Down
7 changes: 4 additions & 3 deletions src/renderer/composables/useDonations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import type { DonationsState, SpaceId } from '~/main/store/types'
import { store } from '@/electron'
import { format } from 'date-fns'

type CreatedSpace = Exclude<SpaceId, 'tools'>
type CopySpace = Exclude<SpaceId, 'http'>
type CreatedSpace = Exclude<SpaceId, 'tools' | 'http'>

const initial = store.app.get<DonationsState>('donations')

Expand All @@ -25,7 +26,7 @@ function dayDiff(a: string, b: string) {
return Math.round(ms / (1000 * 60 * 60 * 24))
}

function incrementCopy(space: SpaceId) {
function incrementCopy(space: CopySpace) {
state.copies[space] += 1
markActiveDay()
}
Expand Down Expand Up @@ -53,7 +54,7 @@ function markActiveDay() {
state.lastActiveDay = now
}

function markCopyMilestoneShown(space: SpaceId, milestone: number) {
function markCopyMilestoneShown(space: CopySpace, milestone: number) {
state.lastShownCopyMilestones[space] = milestone
}

Expand Down