7168 Commits

Author SHA1 Message Date
Mitchell Hashimoto
e6c3ba2cf9 update zig cache hash 2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie
151bb030de fix typos 2024-09-02 20:45:08 -07:00
Jeffrey C. Ollie
6dbb82c259 kitty graphics: performance enhancements
Improve the performance of Kitty graphics by switching to the WUFFS
library for decoding PNG images and for "swizzling" G, GA, and RGB data
to RGBA formats needed by the renderers.

WUFFS claims 2-3x performance benefits over other implementations, as
well as memory-safe operations.

Although not thorougly benchmarked, performance is on par with Kitty's
graphics decoding.

https://github.com/google/wuffs
2024-09-02 20:45:08 -07:00
Mitchell Hashimoto
b8b89acf5e Merge pull request #2180 from xdBronch/push-wqyprmonmtnx
make +version hyperlink to the github commit
2024-09-02 18:50:09 -07:00
xdBronch
b748ae6c0f make +version hyperlink to the github commit 2024-09-02 18:48:49 -07:00
Mitchell Hashimoto
ee95b8373b Merge pull request #2181 from injust/disable-fork-workflows
Stop GitHub workflow jobs from running on forks
2024-09-02 18:43:48 -07:00
Mitchell Hashimoto
2f32efbc82 Merge pull request #2173 from ghostty-org/crashlog
Initial Crash Logging
2024-09-02 10:35:27 -07:00
Mitchell Hashimoto
8f5eea6bf8 core: set crash state in surface in various places 2024-09-02 10:30:09 -07:00
Mitchell Hashimoto
f07cda07d6 update README about crashes 2024-09-02 10:14:32 -07:00
Mitchell Hashimoto
bae12993b3 crash: tag the thread type 2024-09-02 10:02:14 -07:00
Mitchell Hashimoto
d8cc19612f crash: beforeSend needs to add contexts to the event directly 2024-09-02 09:55:57 -07:00
Mitchell Hashimoto
d499f7795b input: crash binding can configure which thread to crash 2024-09-02 09:44:35 -07:00
Justin Su
b27667fcfc Don't run GitHub workflows on forks 2024-09-02 02:27:22 -04:00
Mitchell Hashimoto
d8fc54d1bf Merge pull request #2177 from jcollie/kitty-graphics-local-more
kitty graphics: fix usage of "m" key for local-only transmission mediums
2024-09-01 21:19:05 -07:00
Jeffrey C. Ollie
5e925db521 kitty graphics: fix usage of "m" key for local-only transmission mediums
If the transmission medium is a local-only medium, ignore the "m"
key. The Kitty graphics protocol specification does not explicitly
call out this behavior (although the "m" key is only mentioned in
connection with remote clients) but that's how it's implemented in
Kitty and at least one client (mpv) relies on this behavior when
using the shared memory transmission medium.

https://sw.kovidgoyal.net/kitty/graphics-protocol/#the-transmission-medium
ccc3bee9af/kitty/graphics.c (L547-L592)
2024-09-01 21:10:08 -07:00
Mitchell Hashimoto
5d476135c5 terminal: do not run page integrity checks unless slow runtime safety 2024-09-01 21:02:44 -07:00
Mitchell Hashimoto
8f477b00da renderer/termio attach thread local state for crash capture 2024-09-01 14:15:12 -07:00
Mitchell Hashimoto
f0916d58e8 crash: try to attach dimensions to the crash report 2024-09-01 14:15:11 -07:00
Mitchell Hashimoto
37577630ac crash: add build mode to sentry tags 2024-09-01 10:12:34 -07:00
Mitchell Hashimoto
5ade197f91 Merge pull request #2175 from qwerasd205/pagelist-fix
fix(terminal/PageList): update self.cols at start of resizeCols
2024-09-01 09:58:39 -07:00
Qwerasd
7fb2bd16a9 fix(terminal/PageList): update self.cols at start of resizeCols
It's possible for `self.grow` to be called within the body of the
function, and `self.grow` uses `self.cols` to create a new page if
there's no more room in the current one.
2024-09-01 09:55:00 -07:00
Mitchell Hashimoto
a947e20826 Merge pull request #2174 from ghostty-org/release-safe
Build ReleaseSafe builds for testing, make them more usable
2024-08-31 21:50:03 -07:00
Mitchell Hashimoto
0ab3d964dd apprt/gtk: show debug warning whenever runtime safety is on 2024-08-31 21:38:02 -07:00
Mitchell Hashimoto
6cf61f4d7b macos: show debug build warning even with releasesafe for now 2024-08-31 21:37:22 -07:00
Mitchell Hashimoto
9043ca470b ci: release-pr only on dispatch 2024-08-31 21:32:54 -07:00
Mitchell Hashimoto
ac2a0a04d4 ci: build releasesafe builds for macOS 2024-08-31 21:32:45 -07:00
Mitchell Hashimoto
6aab430caf terminal: disable slow safety tests in releasesafe 2024-08-31 21:14:12 -07:00
Mitchell Hashimoto
49e56a9057 input: add crash binding action, remove key input crash 2024-08-31 20:19:06 -07:00
Mitchell Hashimoto
9ce789cc85 Merge pull request #2060 from jcollie/gtk-compatibility
Conditional compilation against different GTK versions
2024-08-31 20:04:49 -07:00
Jeffrey C. Ollie
bbb204ac85 rename gtkVersionMinimum->gtkVersionAtLeast for consistency 2024-08-31 19:16:43 -07:00
Jeffrey C. Ollie
b6c943386c Conditional compilation against different GTK versions
Adds a comptime function to enable conditional compilation against
different GTK versions that have added new API calls in newer versions
of GTK.

Use this function to get fractional scaling information for GTK
surfaces, which is only available with GTK 4.12+.
2024-08-31 19:15:24 -07:00
Mitchell Hashimoto
e7cbeba140 pty: reset all signals after fork 2024-08-31 15:12:45 -07:00
Mitchell Hashimoto
9f6a28bf44 crash: initialize sentry off-thread 2024-08-31 14:14:37 -07:00
Mitchell Hashimoto
72c1b00b0b pkg/sentry: uuid string is null-terminated 2024-08-31 14:05:55 -07:00
Mitchell Hashimoto
920a1051e5 crash: discard envelopes that do not contain a crash 2024-08-31 12:24:11 -07:00
Mitchell Hashimoto
f930cf0b8f move crash init to crash package 2024-08-31 11:12:40 -07:00
Mitchell Hashimoto
f1aea10a84 cli/version: don't parse any args
Fixes #2166
2024-08-31 10:39:22 -07:00
Mitchell Hashimoto
f7d1fb8ba0 Merge pull request #2167 from qwerasd205/insert-delete-lines-fix
Fix `insertLines` and `deleteLines`
2024-08-31 10:36:09 -07:00
Mitchell Hashimoto
9d08ed32ee terminal: make error sets more explicit, capture explicit errors 2024-08-31 10:31:38 -07:00
Mitchell Hashimoto
42e3582f1f Merge pull request #2172 from ghostty-org/push-kpnkvvmzysom
build: build without Git, tag version as dev with 0 SHA
2024-08-31 09:59:15 -07:00
Mitchell Hashimoto
17db317916 build: build without Git, tag version as dev with 0 SHA
Fixes #2170

Example now: `info: ghostty version=0.1.0-dev+0000000`
2024-08-31 09:43:30 -07:00
Qwerasd
3807ee34c1 terminal: handle clonePartialRowFrom errors in insert/deleteLines
Handle `clonePartialRowFrom` errors in `insertLines` and `deleteLines`
by adjusting page capacity. To do this, I've rewritten both functions
with a new way of iterating rows by moving a tracked pin up/down.

Benchmarks seem to indicate that this has no effect on performance.
2024-08-30 13:45:18 -04:00
Qwerasd
daa1755793 terminal/page: discriminate cloneFrom errors
Doing this makes it possible to appropriately handle a failed cloneFrom
operation by adjusting the correct part of the page capacity accordingly
2024-08-30 13:45:18 -04:00
Qwerasd
3bc2dbfa72 RefCountedSet: make lookup public 2024-08-30 13:30:40 -04:00
Mitchell Hashimoto
8ba97eb745 crash: sentry envelope parsing 2024-08-30 10:16:44 -07:00
Mitchell Hashimoto
6f1a062b6c timers for start times for later 2024-08-29 15:19:21 -07:00
Mitchell Hashimoto
602bf6ba1e Merge pull request #2165 from ghostty-org/push-otsyrmzktntn
macos: get updated surface size metrics immediately on resize
2024-08-29 15:05:32 -07:00
Mitchell Hashimoto
90d24f9e82 macos: get updated surface size metrics immediately on resize
Fixes #2149

Previously, the way we were getting the updated surface size would use
outdated (previous) values because the resize event was not processed by
the surface before the SwiftUI view processed the resize overlay. And
since the property we used wasn't `@Published`, we didn't get notified
when we got that updated value.
2024-08-29 14:56:30 -07:00
Mitchell Hashimoto
e6ae8107c4 build: include breakpad in static lib bundle for lib 2024-08-28 21:44:38 -07:00
Mitchell Hashimoto
0f35f6267e pkg/breakpad: add linux_syscall_support.h to the vendored files 2024-08-28 21:43:18 -07:00