Skip to content

Commit bf046b1

Browse files
committed
Merge remote-tracking branch 'origin/master' into store-purchase-course
2 parents b00436f + 2fe6d18 commit bf046b1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3051
-220
lines changed

.github/workflows/make-and-test.yml

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Make all packages and run their tests
1+
name: Test
22

33
# newer commits in the same PR abort running ones for the same workflow
44
concurrency:
@@ -43,7 +43,7 @@ jobs:
4343
- name: Check doc links
4444
run: cd src/scripts && python3 check_doc_urls.py || sleep 5 || python3 check_doc_urls.py
4545

46-
build:
46+
test:
4747
runs-on: ubuntu-latest
4848

4949
services:
@@ -94,7 +94,7 @@ jobs:
9494
- name: Download and install Valkey
9595
run: |
9696
VALKEY_VERSION=8.1.2
97-
curl -LO https://download.valkey.io/releases/valkey-${VALKEY_VERSION}-jammy-x86_64.tar.gz
97+
curl -LOq https://download.valkey.io/releases/valkey-${VALKEY_VERSION}-jammy-x86_64.tar.gz
9898
tar -xzf valkey-${VALKEY_VERSION}-jammy-x86_64.tar.gz
9999
sudo cp valkey-${VALKEY_VERSION}-jammy-x86_64/bin/valkey-server /usr/local/bin/
100100
@@ -106,6 +106,52 @@ jobs:
106106
pip install ipykernel
107107
python -m ipykernel install --prefix=./jupyter-local --name python3-local --display-name "Python 3 (Local)"
108108
109-
- run: cd src && npm install -g pnpm
110-
- run: cd src && pnpm run make
111-
- run: source venv/bin/activate && cd src && pnpm run test-github-ci
109+
110+
- name: install pnpm
111+
uses: pnpm/action-setup@v4
112+
with:
113+
version: 10
114+
run_install: false
115+
116+
- name: build
117+
run: cd src && pnpm run make
118+
119+
# This runs all the tests with text output and jest-junit reporters to generate junit.xml reports
120+
# That test-github-ci target runs workspaces.py for testing, which in turn runs the depchecks
121+
- name: test
122+
run: source venv/bin/activate && cd src && pnpm run test-github-ci --report
123+
124+
- name: upload test results
125+
uses: actions/upload-artifact@v4 # upload test results
126+
if: ${{ !cancelled() }} # run this step even if previous step failed
127+
with:
128+
name: "test-results-node-${{ matrix.node-version }}-pg-${{ matrix.pg-version }}"
129+
path: 'src/packages/*/junit.xml'
130+
131+
report:
132+
runs-on: ubuntu-latest
133+
134+
needs: [test]
135+
136+
if: ${{ !cancelled() }}
137+
138+
steps:
139+
- name: Checkout code
140+
uses: actions/checkout@v4
141+
142+
- name: Download all test artifacts
143+
uses: actions/download-artifact@v4
144+
with:
145+
pattern: "test-results-*"
146+
merge-multiple: true
147+
path: test-results/
148+
149+
- name: Test Report
150+
uses: dorny/test-reporter@v2
151+
with:
152+
name: CoCalc Jest Tests
153+
path: 'test-results/**/junit.xml'
154+
reporter: jest-junit
155+
use-actions-summary: 'true'
156+
fail-on-error: false
157+

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,6 @@ src/packages/frontend/i18n/trans/*.compiled.json
161161
**/*.bash_history
162162

163163
src/.claude/settings.local.json
164+
165+
# test reports by jest-junit
166+
junit.xml

src/GEMINI.md

Lines changed: 0 additions & 156 deletions
This file was deleted.

src/GEMINI.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CLAUDE.md

src/packages/backend/package.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
"./auth/*": "./dist/auth/*.js",
1111
"./auth/tokens/*": "./dist/auth/tokens/*.js"
1212
},
13-
"keywords": ["utilities", "cocalc"],
13+
"keywords": [
14+
"utilities",
15+
"cocalc"
16+
],
1417
"scripts": {
1518
"preinstall": "npx only-allow pnpm",
1619
"clean": "rm -rf dist node_modules",
@@ -28,7 +31,12 @@
2831
"conat-persist": "DEBUG=cocalc:* node ./bin/conat-persist.cjs",
2932
"conat-test-server": "node ./bin/conat-test-server.cjs"
3033
},
31-
"files": ["dist/**", "bin/**", "README.md", "package.json"],
34+
"files": [
35+
"dist/**",
36+
"bin/**",
37+
"README.md",
38+
"package.json"
39+
],
3240
"author": "SageMath, Inc.",
3341
"license": "SEE LICENSE.md",
3442
"dependencies": {

src/packages/frontend/app/localize.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ function loadAntdLocale(locale: Locale): Promise<AntdLocale> {
119119
return import("antd/locale/zh_CN");
120120
case "es":
121121
return import("antd/locale/es_ES");
122+
case "eu": // there is no basque for antd, but catalan is close enough
123+
return import("antd/locale/ca_ES");
122124
case "nl":
123125
return import("antd/locale/nl_NL");
124126
case "ru":
@@ -131,6 +133,8 @@ function loadAntdLocale(locale: Locale): Promise<AntdLocale> {
131133
return import("antd/locale/ja_JP");
132134
case "pt":
133135
return import("antd/locale/pt_PT");
136+
case "br":
137+
return import("antd/locale/pt_BR");
134138
case "ko":
135139
return import("antd/locale/ko_KR");
136140
case "pl":

src/packages/frontend/i18n/bin/common.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
LANGS="de_DE zh_CN es_ES fr_FR nl_NL ru_RU it_IT ja_JP pt_PT ko_KR pl_PL tr_TR he_IL hi_IN hu_HU ar_EG"
1+
LANGS="de_DE zh_CN es_ES es_PV fr_FR nl_NL ru_RU it_IT ja_JP pt_PT pt_BR ko_KR pl_PL tr_TR he_IL hi_IN hu_HU ar_EG"
22

33
check_api_key() {
44
if [ -z "${SIMPLELOCALIZE_KEY}" ]; then

src/packages/frontend/i18n/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ export function loadLocaleMessages(locale: Locale): Promise<Messages> {
4747
return import("@cocalc/frontend/i18n/trans/zh_CN.compiled.json");
4848
case "es":
4949
return import("@cocalc/frontend/i18n/trans/es_ES.compiled.json");
50+
case "eu":
51+
return import("@cocalc/frontend/i18n/trans/es_PV.compiled.json");
5052
case "fr":
5153
return import("@cocalc/frontend/i18n/trans/fr_FR.compiled.json");
5254
case "it":
@@ -59,6 +61,8 @@ export function loadLocaleMessages(locale: Locale): Promise<Messages> {
5961
return import("@cocalc/frontend/i18n/trans/ja_JP.compiled.json");
6062
case "pt":
6163
return import("@cocalc/frontend/i18n/trans/pt_PT.compiled.json");
64+
case "br":
65+
return import("@cocalc/frontend/i18n/trans/pt_BR.compiled.json");
6266
case "ko":
6367
return import("@cocalc/frontend/i18n/trans/ko_KR.compiled.json");
6468
case "pl":

src/packages/frontend/i18n/trans/ar_EG.json

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -600,22 +600,24 @@
600600
"frame_editors.frame_tree.title_bar.minimize": "عرض كافة الإطارات",
601601
"frame_editors.frame_tree.title_bar.symbols.label.explanation": "إذا تم عرض التسميات، يتم وضع شريط الرموز في صف خاص به تحت القائمة – وإلا فإنه يكون أصغر ويكون بجانب القائمة.",
602602
"frame-editors.frame-tree.add_remove_icon_button_bar.tooltip": "{isOnButtonBar, select, true {انقر على الأيقونة لإزالتها من شريط الأدوات} other {انقر على الأيقونة لإضافتها إلى شريط الأدوات}}",
603-
"i18n.localization.lang.arabic": "العربية",
604-
"i18n.localization.lang.chinese": "الصينية",
603+
"i18n.localization.lang.arabic": "عربي",
604+
"i18n.localization.lang.basque": "الباسكية",
605+
"i18n.localization.lang.chinese": "صيني",
605606
"i18n.localization.lang.dutch": "هولندي",
606607
"i18n.localization.lang.english": "الإنجليزية",
607-
"i18n.localization.lang.french": "فرنسية",
608-
"i18n.localization.lang.german": "ألمانية",
609-
"i18n.localization.lang.hebrew": "العبرية",
608+
"i18n.localization.lang.french": "الفرنسية",
609+
"i18n.localization.lang.german": "ألماني",
610+
"i18n.localization.lang.hebrew": "עברית",
610611
"i18n.localization.lang.hindi": "الهندية",
611612
"i18n.localization.lang.hungarian": "المجرية",
612-
"i18n.localization.lang.italian": "الإيطالية",
613+
"i18n.localization.lang.italian": "إيطالي",
613614
"i18n.localization.lang.japanese": "اليابانية",
614615
"i18n.localization.lang.korean": "الكورية",
615-
"i18n.localization.lang.polish": "البولندية",
616-
"i18n.localization.lang.portuguese": "البرتغالية",
616+
"i18n.localization.lang.polish": "تلميع",
617+
"i18n.localization.lang.portuguese.br": "البرتغالية (Br)",
618+
"i18n.localization.lang.portuguese.pt": "Português (UE)",
617619
"i18n.localization.lang.russian": "الروسية",
618-
"i18n.localization.lang.spanish": "الأسبانية",
620+
"i18n.localization.lang.spanish": "الإسبانية",
619621
"i18n.localization.lang.turkish": "التركية",
620622
"jupyter.about.features": "<ul> <li> <b>المزامنة الفورية:</b> يمكن لعدة أشخاص تحرير الدفاتر في نفس الوقت: مؤشرات متعددة، تراجع وإعادة خاصة بكل مستخدم عبر المستند، مزامنة فورية لـ ipywidgets </li> <li> <b>تقسيم المستند:</b> تحرير ورؤية أجزاء متعددة من دفتر كبير في نفس الوقت </li> <li> <b>TimeTravel:</b> رؤية تاريخ تفصيلي لكيفية إنشاء دفتر ملاحظات بالضبط </li> <li> <b>النص/Markdown:</b> محرر رسومي قوي لخلايا markdown، بحيث يمكنك كتابة نص منسق بشكل جيد لشرح الكود الخاص بك دون الحاجة إلى كتابة markdown مباشرة. </li> <li> <b>مساعد الذكاء الاصطناعي:</b> عدة أدوات ذكاء اصطناعي تساعدك على فهم رسائل الخطأ، تحسين الكود، توليد خلايا كود جديدة بناءً على السياق، أو فقط شرح/توثيق الكود الموجود. </li> <li> <b>المقتطفات:</b> عينات كود للعديد من النوى </li> <li> <b>السبورة:</b> إنشاء سبورة (مستند ينتهي بـ \".board\") واستخدام خلايا Jupyter كجزء من السبورة </li> <li> <b>التكبير:</b> تغيير حجم الخط بسهولة </li> <li> <b>طي الكود:</b> رؤية هيكل المدخلات </li> <li> <b>تنسيق الكود:</b> انقر على زر التنسيق لتنسيق الكود وmarkdown تلقائيًا. </li> <li> <b>مظهر حديث:</b> أزرار، قوائم وتلميحات تنفيذ الخلايا تعكس الحالة بشكل أفضل </li> <li> <b>الإخراج الكبير:</b> التحكم في الخنق، التصفية، والتخزين المؤقت على الجانب الخادم </li> <li> <b>التقاط الخلفية للإخراج:</b> يعمل إذا لم يكن هناك مستخدم يفتح دفتر الملاحظات (<A>مناقشة</A>) </li> <li> <b>دعم الهواتف المحمولة:</b> الهواتف والأجهزة اللوحية </li> <li> <b>إنشاء الخلايا:</b> انقر على الخط الأزرق بين الخلايا لإنشاء خلايا جديدة </li> <li> <b>مشاركة:</b> عملك مرئي للجمهور عبر عارض الدفاتر الخفيف والسريع الخاص بنا </li> <li> <b>LaTeX:</b> تصدير دفتر الملاحظات إلى LaTeX، ثم تحرير LaTeX المُولد مباشرة في CoCalc. </li> <li> <b>اختصارات المفاتيح ومخططات الألوان:</b> اختصارات VIM، Emacs، وSublime، والعديد من مخططات الألوان (في إعدادات الحساب) </li> </ul>",
621623
"jupyter.about.message": "<Paragraph>أنت تستخدم دفتر ملاحظات CoCalc Jupyter.</Paragraph> <Paragraph> دفتر ملاحظات CoCalc Jupyter هو إعادة كتابة كاملة مفتوحة المصدر من قبل SageMath, Inc. لعميل دفتر الملاحظات الكلاسيكي من مشروع <A1>Jupyter</A1>. يحتفظ دفتر ملاحظات CoCalc Jupyter بالتوافق الكامل مع تنسيق الملفات والمظهر العام لدفتر الملاحظات الكلاسيكي. يحسن على الدفتر الكلاسيكي كما يلي: {features} بعض وظائف الإضافات الكلاسيكية لم تدعم بعد (إذا كنت بحاجة إلى شيء ما، <A2>تحقق هنا</A2> وأنشئ {support_link})، وبعض ما سبق متاح أيضًا في Jupyter الكلاسيكي عبر الإضافات. </Paragraph> <Title>أسئلة</Title> {faq} <Title>معلومات الخادم</Title> {server_info} <Title>معلومات النواة الحالية</Title> {kernel_info}",

0 commit comments

Comments
 (0)