Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
92fd55b
release: Update release message for 1.11.0
bummoblizard Jan 11, 2026
10bd8c5
Add Esc, Del and Ctrl and Alt modifier support to terminal toolbar
ThalesMMS Jan 11, 2026
70e4aa7
Prevent modification of bracketed paste sequences
ThalesMMS Jan 11, 2026
ea7a2b9
Add support for ControlReset and AltReset events in terminal
ThalesMMS Jan 16, 2026
5958c03
Use inputWithModifiers for terminal input
ThalesMMS Jan 16, 2026
192a8ce
Adjust orders of editor keyboard toolbar items
bummoblizard Jan 17, 2026
db5f282
update app version to 1.12.0
bummoblizard Jan 17, 2026
6f610d8
Improve terminal management and cleanup logic
ThalesMMS Jan 19, 2026
1d1df5d
Reformat long lines for readability in terminal code
ThalesMMS Jan 19, 2026
3c7f54f
Remove Python venv scripts and update lock files
ThalesMMS Jan 25, 2026
3d74afd
Revert "Remove Python venv scripts and update lock files"
ThalesMMS Jan 26, 2026
6c06d22
Remove interrupt button from terminal toolbar
bummoblizard Feb 7, 2026
b0c6f7a
Add accessibility labels and confirmation messages for terminal tab a…
bummoblizard Feb 7, 2026
458d9cd
Reset terminals and editors on remote connection or disconnection
bummoblizard Feb 7, 2026
eb71d0f
Remove commented-out code in disconnect method for clarity
bummoblizard Feb 7, 2026
47afe0e
Restrict terminal creation when a remote terminal is active and updat…
bummoblizard Feb 7, 2026
9638980
Add modifier states management to multi-terminal and sync with keyboa…
bummoblizard Feb 7, 2026
3dd2cf5
Fix async handling for terminal executor retrieval in local execution
bummoblizard Feb 7, 2026
41a620f
Remove deprecated terminalInstance property
bummoblizard Feb 7, 2026
249d270
Clarify terminal instance creation by disabling remote terminal support
bummoblizard Feb 7, 2026
7eb27dd
Refactor terminal service provider assignment to target only the acti…
bummoblizard Feb 7, 2026
cd9abc0
Update accessibility hints for terminal tab in multiple languages
bummoblizard Feb 7, 2026
4f2bc85
Fix remoteTerminal property to return nil when no remote terminal is set
bummoblizard Feb 7, 2026
e5e4e3b
Add canReset property to TerminalManager and conditionally enable res…
bummoblizard Feb 7, 2026
42ab50d
Update localization files for version 1.12.0: correct release date an…
bummoblizard Feb 7, 2026
a7edb0a
Merge pull request #1302 from ThalesMMS/Multi-terminal
bummoblizard Feb 7, 2026
332d7ca
Update macOS version for CI workflows to macOS-26
bummoblizard Feb 7, 2026
8698695
Update Xcode path to version 26.2 in CI workflows
bummoblizard Feb 7, 2026
6273bcf
feat: fix terminal focus when switching between multi terminal
bummoblizard Feb 15, 2026
8c4b403
fix: delay terminal fitting to fix terminal glitch
bummoblizard Mar 1, 2026
0f7147b
Update multi terminal icon color
bummoblizard Mar 1, 2026
17f7a87
Initial plan
Copilot Mar 18, 2026
3ebd024
Merge upstream PR#1: multi-terminal architecture from thebaselab/codeapp
Copilot Mar 18, 2026
25243c7
Fix typos: 'Feburary' -> 'February' in changelogs, 'exepct' -> 'excep…
Copilot Mar 18, 2026
94dfdc1
Security: add explicit permissions block to test.yml workflow
Copilot Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ concurrency:
jobs:
deploy:
name: Deploying to App Store
runs-on: macOS-15
runs-on: macOS-26

steps:
- name: Checkout repository
Expand Down Expand Up @@ -38,4 +38,4 @@ jobs:
JUDGE0_KEY: "${{ secrets.JUDGE0_KEY }}"
JUDGE0_ENDPOINT: "${{ secrets.JUDGE0_ENDPOINT }}"
DISTRIBUTE_EXTERNAL: "false"
XCODE_PATH: "/Applications/Xcode_26.0.app"
XCODE_PATH: "/Applications/Xcode_26.2.app"
7 changes: 5 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ on:
- "*"
- "!gitbook"

permissions:
contents: read

jobs:
Linting:
runs-on: macOS-15
runs-on: macOS-26
steps:
- uses: actions/checkout@v3
- name: Install swift-format
Expand All @@ -17,4 +20,4 @@ jobs:
- name: Unit Tests
run: fastlane tests
env:
XCODE_PATH: "/Applications/Xcode_26.0.app"
XCODE_PATH: "/Applications/Xcode_26.2.app"
152 changes: 82 additions & 70 deletions Code.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions CodeApp/Containers/MainScene.swift
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ struct MainScene: View {
}
App.monacoInstance.theme = EditorTheme(
dark: ThemeManager.darkTheme, light: ThemeManager.lightTheme)
App.terminalInstance.applyTheme(rawTheme: theme.dictionary)
App.terminalManager.applyThemeToAll(rawTheme: theme.dictionary)
}
)
}
Expand Down Expand Up @@ -155,7 +155,7 @@ private struct MainView: View {
panelHeight = 200
}
isPanelVisible.toggle()
App.terminalInstance.webView.becomeFirstResponder()
App.terminalManager.activeTerminal?.webView.becomeFirstResponder()
}

var body: some View {
Expand Down Expand Up @@ -239,7 +239,7 @@ private struct MainView: View {
App.setUpEditorInstance()
}
.onChange(of: terminalOptions) { newValue in
App.terminalInstance.options = newValue.value
App.terminalManager.applyOptionsToAll(newValue.value)
}
.hiddenScrollableContentBackground()
.onAppear {
Expand Down
6 changes: 1 addition & 5 deletions CodeApp/Containers/RemoteContainer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,7 @@ struct RemoteContainer: View {
continuation.resume(throwing: error)
} else {
DispatchQueue.main.async {
App.loadRepository(url: hostUrl)
App.notificationManager.showInformationMessage(
"remote.connected")
App.terminalInstance.terminalServiceProvider =
App.workSpaceStorage.terminalServiceProvider
App.loadFolder(url: hostUrl)
}
continuation.resume(returning: ())
}
Expand Down
30 changes: 24 additions & 6 deletions CodeApp/Localization/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (Oktober 2025)**
##### **v1.12.0 (Februar 2026)**
#### Start
[Neue Datei](https://thebaselab.com/code/newfile)
[Datei öffnen](https://thebaselab.com/code/openfile)
Expand All @@ -22,7 +22,14 @@
";

"Changelog.message" =
"
"### 1.12.0 (February 2026)
- Unterstützung für mehrere Terminals
- Unterstützung für Terminal‑Modifikatortasten
- Besonderer Dank an @ThalesMMS für den Beitrag

### 1.11.0 (Januar 2026)
- Liquid Glass-Benutzeroberfläche übernommen

### 1.10.4 (September 2025)
- Fehlerbehebungen im Zusammenhang mit dem Diff-Editor

Expand Down Expand Up @@ -224,13 +231,15 @@

---

### v1.2.3 (April 2021)
### 1.12.0 (Februar 2026)
- Unterstützung für mehrere Terminals
- Unterstützung für Terminal‑Modifikatortasten
- Besonderer Dank an @ThalesMMS für den Beitrag

- Editor
- 6 Additional Color Themes
- Read-only mode
- Built-in types for Node.js
- Support for @types definitions
- Explorer
- Multi-file searching
- Python Runtime
- Built-in Matplotlib, Pandas
Expand Down Expand Up @@ -663,4 +672,13 @@
"remote.port_forward.configure_description" = "Um eine Portweiterleitung zu konfigurieren, geben Sie die lokale und die Remote-Adresse ein. Wenn Sie eine Adresse eingeben, wird der Port 22 verwendet.";
"remote.port_forward.address_example" = "z.B. 6000 oder 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH Remote";
"remote.settings.resolve_home_path" = "Pfad auflösen";
"remote.settings.resolve_home_path" = "Pfad auflösen";

"terminal.tab.accessibility.active" = "Aktiv";
"terminal.tab.accessibility.running" = "Läuft";
"terminal.tab.accessibility.hint" = "Tippen, um zu diesem Terminal zu wechseln";
"terminal.tab.kill" = "Terminal beenden";
"terminal.tab.kill_confirmation.title" = "Terminal beenden?";
"terminal.tab.kill_confirmation.cancel" = "Abbrechen";
"terminal.tab.kill_confirmation.kill" = "Beenden";
"terminal.tab.kill_confirmation.message" = "Dieses Terminal hat einen laufenden Prozess. Möchten Sie ihn wirklich beenden?";
18 changes: 17 additions & 1 deletion CodeApp/Localization/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (October 2025)**
##### **v1.12.0 (February 2026)**
#### Start
[New file](https://thebaselab.com/code/newfile)
[Open file](https://thebaselab.com/code/openfile)
Expand All @@ -23,6 +23,14 @@

"Changelog.message" =
"
### 1.12.0 (February 2026)
- Support multi-terminal
- Support terminal key modifiers
- Special thanks to @ThalesMMS for contribution

### 1.11.0 (January 2026)
- Adopt Liquid Glass UI

### 1.10.4 (September 2025)
- Bug fixes regarding diff editor

Expand Down Expand Up @@ -558,3 +566,11 @@ are licensed under [BSD-3-Clause License](https://en.wikipedia.org/wiki/BSD_lice
"remote.port_forward.address_example" = "e.g. 6000 or 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH Remote";
"remote.settings.resolve_home_path" = "Resolve Home Path";
"terminal.tab.accessibility.active" = "Active";
"terminal.tab.accessibility.running" = "Running";
"terminal.tab.accessibility.hint" = "Tap to switch to this terminal";
"terminal.tab.kill" = "Kill Terminal";
"terminal.tab.kill_confirmation.title" = "Kill Terminal?";
"terminal.tab.kill_confirmation.cancel" = "Cancel";
"terminal.tab.kill_confirmation.kill" = "Kill";
"terminal.tab.kill_confirmation.message" = "This terminal has a running process. Are you sure you want to kill it?";
30 changes: 24 additions & 6 deletions CodeApp/Localization/ja.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (2025年10月)**
##### **v1.12.0 (2026 年 2 月)**
#### 開始
[新しいファイル](https://thebaselab.com/code/newfile)
[ファイルを開く](https://thebaselab.com/code/openfile)
Expand All @@ -22,7 +22,14 @@
";

"Changelog.message" =
"
"### 1.12.0 (February 2026)
- マルチターミナルに対応
- ターミナルの修飾キーに対応
- @ThalesMMS の貢献に特別感謝

### 1.11.0 (2026 年 1 月)
- Liquid Glass UI の採用

### 1.10.4 (2025 年 9 月)
- diff エディターに関するバグ修正

Expand Down Expand Up @@ -225,13 +232,15 @@

---

### v1.2.3 (2021年 4月)
### 1.12.0 (2026年2月)
- マルチターミナルに対応
- ターミナルの修飾キーに対応
- @ThalesMMS の貢献に特別感謝

- エディター
- 6 つの追加カラー テーマ
- 読み取り専用モード
- Node.js の組み込み型
- @types 定義のサポート
- エクスプローラー
- 複数ファイル検索
- Python ランタイム
- 組み込みの Matplotlib、Pandas
Expand Down Expand Up @@ -663,4 +672,13 @@
"remote.port_forward.configure_description" = "ポートフォワーディングを使用すると、リモート ホストのポートをローカル ホストに転送できます。";
"remote.port_forward.address_example" = "例えば 6000 または 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH リモート";
"remote.settings.resolve_home_path" = "ホーム パスを解決する";
"remote.settings.resolve_home_path" = "ホーム パスを解決する";

"terminal.tab.accessibility.active" = "アクティブ";
"terminal.tab.accessibility.running" = "実行中";
"terminal.tab.accessibility.hint" = "タップしてこのターミナルに切り替える";
"terminal.tab.kill" = "ターミナルを閉じる";
"terminal.tab.kill_confirmation.title" = "ターミナルを閉じますか?";
"terminal.tab.kill_confirmation.cancel" = "キャンセル";
"terminal.tab.kill_confirmation.kill" = "閉じる";
"terminal.tab.kill_confirmation.message" = "このターミナルは実行中のプロセスを持っています。本当に閉じますか?";
22 changes: 19 additions & 3 deletions CodeApp/Localization/ko.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (2025년 10월)**
##### **v1.12.0 (2026년 2월)**
#### 시작
[새 파일...](https://thebaselab.com/code/newfile)
[파일 열기...](https://thebaselab.com/code/openfile)
Expand All @@ -22,7 +22,14 @@
";

"Changelog.message" =
"
"### 1.12.0 (February 2026)
- 멀티 터미널 지원
- 터미널 키 모디파이어 지원
- 기여해 주신 @ThalesMMS님께 특별한 감사

### 1.11.0 (2026년 1월)
- Liquid Glass UI 채택

### 1.10.4 (2025년 9월)
- diff 에디터 관련 버그 수정

Expand Down Expand Up @@ -662,4 +669,13 @@
"remote.port_forward.configure_description" = "원격 시스템의 포트에 액세스하도록 포트 전달을 구성합니다.";
"remote.port_forward.address_example" = "예를 들어 6000 또는 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH 원격 서버";
"remote.settings.resolve_home_path" = "홈 경로 해결";
"remote.settings.resolve_home_path" = "홈 경로 해결";

"terminal.tab.accessibility.active" = "활성";
"terminal.tab.accessibility.running" = "실행 중";
"terminal.tab.accessibility.hint" = "이 터미널로 전환하려면 탭하세요";
"terminal.tab.kill" = "터미널 닫기";
"terminal.tab.kill_confirmation.title" = "터미널을 닫으시겠습니까?";
"terminal.tab.kill_confirmation.cancel" = "취소";
"terminal.tab.kill_confirmation.kill" = "닫기";
"terminal.tab.kill_confirmation.message" = "이 터미널은 실행 중의 프로세스가 있습니다. 정말 닫으시겠습니까?";
19 changes: 17 additions & 2 deletions CodeApp/Localization/ru.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (Октябрь 2025)**
##### **v1.12.0 (Февраль 2026)**
#### Начало
[Новый файл](https://thebaselab.com/code/newfile)
[Открыть файл](https://thebaselab.com/code/openfile)
Expand All @@ -22,7 +22,14 @@
";

"Changelog.message" =
"
"### 1.12.0 (February 2026)
- Поддержка нескольких терминалов
- Поддержка клавиш-модификаторов терминала
- Особая благодарность @ThalesMMS за вклад

### 1.11.0 (Январь 2026)
- Принята Liquid Glass UI

### 1.10.4 (Сентябрь 2025)
- Исправлены ошибки, связанные с редактором различий

Expand Down Expand Up @@ -701,3 +708,11 @@
"remote.port_forward.address_example" = "пр. 6000 или 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH-подключение";
"remote.settings.resolve_home_path" = "Открывать домашний каталог";
"terminal.tab.accessibility.active" = "Активна";
"terminal.tab.accessibility.running" = "Выполняется";
"terminal.tab.accessibility.hint" = "Нажмите, чтобы переключиться на этот терминал";
"terminal.tab.kill" = "Закрыть терминал";
"terminal.tab.kill_confirmation.title" = "Закрыть терминал?";
"terminal.tab.kill_confirmation.cancel" = "Отмена";
"terminal.tab.kill_confirmation.kill" = "Закрыть";
"terminal.tab.kill_confirmation.message" = "Этот терминал имеет запущенный процесс. Вы уверены, что хотите его закрыть?";
27 changes: 22 additions & 5 deletions CodeApp/Localization/zh-Hans.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"Welcome Message" =
"# CodifyOne
##### **v1.11.0 (202510 月)**
##### **v1.12.0 (20262 月)**
#### 开始
[新文件](https://thebaselab.com/code/newfile)
[打开文件](https://thebaselab.com/code/openfile)
Expand All @@ -22,7 +22,14 @@
";

"Changelog.message" =
"
"### 1.12.0 (February 2026)
- 支持多终端
- 支持终端修饰键
- 特别感谢 @ThalesMMS 的贡献

### 1.11.0 (2026 年 1 月)
- 采用 Liquid Glass 用户界面

### 1.10.4 (2025 年 9 月)
- 修复了 diff 编辑器相关的错误

Expand Down Expand Up @@ -224,13 +231,15 @@

---

### v1.2.3 (April 2021)
### 1.12.0 (2026年2月)
- 支持多终端
- 支持终端修饰键
- 特别感谢 @ThalesMMS 的贡献

- 编辑器
- 6 个颜色主题
- 只读模式
- Node.js 的内置类型
- 支持 @types 定义
- 资源管理器
- 多文件搜索
- Python
- 内置 Matplotlib,Pandas
Expand Down Expand Up @@ -654,3 +663,11 @@
"remote.port_forward.address_example" = "例如 6000 或 127.0.0.1:6000";
"remote.settings.ssh_remote" = "SSH 远程";
"remote.settings.resolve_home_path" = "解析主目录路径";
"terminal.tab.accessibility.active" = "活跃";
"terminal.tab.accessibility.running" = "运行中";
"terminal.tab.accessibility.hint" = "点按以切换到此终端";
"terminal.tab.kill" = "关闭终端";
"terminal.tab.kill_confirmation.title" = "关闭终端?";
"terminal.tab.kill_confirmation.cancel" = "取消";
"terminal.tab.kill_confirmation.kill" = "关闭";
"terminal.tab.kill_confirmation.message" = "此终端有正在运行的进程。您确定要关闭它吗?";
Loading
Loading