Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: munimtechnologies/mtcode

Tags

munim-v0.0.64

Toggle munim-v0.0.64's commit message
merge(upstream): sync 30 commits from pingdotgg/t3code main

Compact sidebar rail and compact thread rows, connections organized by
environment, in-app thread notifications, pull request routing across
matching accounts, streaming paragraph flush, and a reusable dev-worktree
auth token.

Conflicts resolved in upstream's favor wherever both sides implemented the
same behavior; fork-only features were kept and re-grafted onto upstream's
structure:

- useResizableWidth: took upstream's extracted useResizeDrag verbatim,
  dropping the fork's cross-window useLocalStorage variant of the same hook.
- SettingsSidebarNav: upstream's collapsible footer layout; the fork's
  settings routes and shrink-0 avatar box stay.
- ConnectionsSettings: upstream's flattened environments list and Version
  row; the environment rename (upstream PR pingdotgg#7267, not yet landed there) is
  re-grafted through a new EnvironmentRow labelSlot, and the accounts
  section keeps its place at the top.
- Sidebar: upstream's compact thread rows, with GoalActiveMarker alongside
  the title and hidden in the icon rail, where it would print "Active".
- contracts/settings, rpc, ws, PullRequestService: additive on both sides.

Typecheck clean, web builds, contracts 453/453 and web 5186/5186 pass. The
28 server-suite failures reproduce unchanged on the pre-merge commit.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.63

Toggle munim-v0.0.63's commit message
merge(upstream): sync 3 commits, adopt upstream's Forgejo and Gitea

Upstream implemented Forgejo and Gitea over the `fj` and `tea` CLIs
(pingdotgg#11436). This fork had already added its own Forgejo support, so the
merge arrived with two providers for the same host — the shape that has
crash-looped this backend before, when contracts and server disagreed
about one model.

Upstream's wins, by the standing rule and because it is a superset: it
covers Gitea as well, and neither host is in use here. The fork's
implementation is dropped, not kept alongside — ForgejoApi,
ForgejoKeyStore and their tests are gone, and `server.ts` and `ws.ts`
no longer wire `ForgejoApi.layer`.

Dropping it left dangling and duplicate references in files that merged
without conflicting, each of which would have been silent breakage: a
duplicate `"forgejo"` in `SourceControlProviderKind`, duplicate keys in
`PROVIDER_REQUIREMENT` and the PR link menu, a duplicate `ForgejoIcon`
export and a duplicate import specifier in SourceControlSettings, three
duplicated `case "forgejo"` arms in the palette, duplicated branches in
two mobile screens, and a dead `case "forgejo": return null` shadowing
upstream's real `fj` checkout command.

Unrelated fork features kept where they shared a file: the Goals
palette action, the Grok adapter's desktop-MCP wiring, the PR code tab's
review-next-step, and `CHANGE_REQUEST_URL_PATTERNS` in shared
sourceControl, which CheckpointReactor uses.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.62

Toggle munim-v0.0.62's commit message
fix(web): drop the MT wordmark onto the cap line

A single pixel was not enough. The mark is top-heavy — its ink centroid
sits 45% of the way down rather than 50% — so centring its bounding box
still leaves it reading high next to the label.

Offsetting 2px puts the top of the mark on the cap line of "Code" and
lets it hang slightly below the baseline, which is how the lockup is
meant to sit.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.61

Toggle munim-v0.0.61's commit message
fix(web): centre the MT wordmark instead of shrinking it

The previous fix treated an alignment problem as a size problem and
dropped the mark to 10px, which read as too small next to the label.

The row is baseline-aligned, so an inline SVG rests its bottom edge on
the text baseline. The mark is 12px and the `text-sm` label's caps are
10px in SF Pro, so the whole 2px difference sat above the label. Moving
the mark down a pixel centres it on the cap block and keeps its size.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.60

Toggle munim-v0.0.60's commit message
Merge remote-tracking branch 'upstream/main'

munim-v0.0.59

Toggle munim-v0.0.59's commit message
build(web): declare notices for the fork's math dependencies

Upstream's new third-party-licenses plugin (pingdotgg#8962) refuses to build when
a bundled package ships no license or notice file. `rehype-katex` and
`remark-math` are the fork's math-rendering dependencies, so upstream's
config never had to cover them, and the first release build after the
sync failed on exactly those two.

Both are MIT by Junyoung Choi — stated in each package's own readme and
author field. They carry no license file because the text lives at the
root of the remarkjs/remark-math monorepo rather than in the published
sub-packages.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.58

Toggle munim-v0.0.58's commit message
fix(chat): name a generated picture where the desktop client reads it

Four generated sky options still rendered as four bodiless "Image view"
rows on desktop, after both the server projection and the client learned to
read `item.savedPath`. Reading the client's own work-log entries out of React
in the running app shows why: on desktop `viewedImagePath` is never set, even
for activities whose payload plainly carries `data.imagePath`. Every picture
that does render there renders off the top-level `detail` field instead, which
`imageView` items arrive with and `imageGeneration` items do not.

The projection now names the file in `detail` as well, when the item does not
describe itself. That is where the rows that work get their path, it survives
to the client on desktop, and because the projection runs on read it applies to
threads that were recorded months ago.

Why `data.imagePath` is dropped on desktop and only there — a browser against
the same server reads it, from the same bundle — is still unexplained and worth
chasing; this stops the pictures being invisible in the meantime.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.57

Toggle munim-v0.0.57's commit message
feat(chat): lay a run of generated pictures out as one strip

Four generated options rendered as four full-width rows, each a screen apart,
with the message that asks the reader to pick between them below the last one.
Choosing between pictures means seeing them together.

A run of adjacent picture rows now collapses into one `image-batch` row: a
wrapping strip of equal-height thumbnails, free widths so nothing is cropped,
each one click-to-expand. A lone picture keeps its own row with its path
heading, the generate-then-read-back dedupe carries over, and a failed call or
a subagent CTA keeps the row it needs to say so.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

munim-v0.0.56

Toggle munim-v0.0.56's commit message
fix(web): render LaTeX properly in chat

Two causes made math in MT Code look worse than in Codex. The KaTeX
stylesheet was never imported, so the MathML branch KaTeX emits for
accessibility showed as duplicate plain text after every formula and the
math fell back to the page font. And bracket display blocks were only
paired within a single Markdown text node, so any \[...\] whose body
split the paragraph (an = line reads as a setext heading, _{...} as
emphasis) was left unrendered as raw TeX inside a heading.

Load katex.min.css from the web entry, and pair \(..\) / \[..\]
across text nodes in source order, refusing pairs that span a blank line.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01MPJSLhra3wugX8GEXAVz5h

munim-v0.0.55

Toggle munim-v0.0.55's commit message
merge: sync upstream t3code (4 commits, 20e2e89..3e6f856)

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_015rH8S45QU61ELNfez4sM6J