Commit Graph

387 Commits

Author SHA1 Message Date
Ember
0b86916d8c feat(landing): integrate real community tweets in CommunitySection with author avatars and links 2025-11-02 23:48:25 +08:00
Icyoung
df062b73c5 Merge pull request #262 from Icyoung/beta
Beta Dev Merge Beta
2025-11-02 22:33:33 +08:00
Icyoung
f60f96ba28 Merge branch 'NoFxAiOS:beta' into beta 2025-11-02 22:32:57 +08:00
icy
76980f8ee7 Fixed Kline4h 2025-11-02 22:31:44 +08:00
icy
eae928ddf7 Merge branch 'dev' into beta
# Conflicts:
#	config/database.go
#	main.go
2025-11-02 22:11:07 +08:00
icy
dce18ea701 Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev 2025-11-02 21:54:48 +08:00
Roninchen
b336efde0f Merge pull request #176 from yuanshi2016/dev
Kline获取方式为Websocket缓存
2025-11-02 21:54:16 +08:00
icy
dcf9dfc468 Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev 2025-11-02 21:54:02 +08:00
tinkle-community
37c98c9626 Merge pull request #257 from SkywalkerJi/dev
Google Tag Manager
2025-11-02 21:47:38 +08:00
SkywalkerJi
4850aa568e Google Tag Manager 2025-11-02 21:44:53 +08:00
tinkle-community
e9f6ded053 Merge pull request #246 from xqliu/fix/model-config-validation-245 2025-11-02 18:32:45 +08:00
Liu Xiang Qian
4577adabbd fix: Update model validation in handleSaveModelConfig to support both configured and supported models
- Change validation to check allModels first, then supportedModels
- This allows saving new model configurations without "model does not exist" error
- Fixes issue where users couldn't save AI model config after selecting from dropdown

Fixes #245

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 18:08:25 +08:00
yuanshi2016
95c32fcb2e 修改Kline获取方式为Websocket缓存。 2025-11-02 17:59:19 +08:00
tinkle-community
e541f1ff65 Merge pull request #242 from Icyoung/beta
Fixed beta codes file mapping
2025-11-02 17:22:58 +08:00
icy
5db79ea68b Fixed beta codes file mapping 2025-11-02 17:19:58 +08:00
tinkle-community
241f4ae75a Merge pull request #235 from Icyoung/beta
Beta Beta mode support、UI design optimize
2025-11-02 15:32:31 +08:00
yuanshi2016
3b1db6f64f K线获取方式改为websocket组合流. 带重拨机制
流程为下:
1. 启动时使用所有交易员设置的币种(去重) 如果交易员未配置,则使用系统默认
2. 在决策获取K线时 如果没有缓存 则先实时获取后再添加订阅. ps: 适用于Api方式的币种列表
2025-11-02 14:03:13 +08:00
原始
1862223528 Merge branch 'tinkle-community:dev' into dev 2025-11-02 14:02:11 +08:00
tinkle
4f8be19a73 update aster exchange guide 2025-11-02 12:23:33 +08:00
原始
ebfdf4b9b6 Merge branch 'tinkle-community:dev' into dev 2025-11-02 12:19:40 +08:00
tinkle
23392e7409 update aster exchange guide 2025-11-02 12:15:40 +08:00
Liu Xiang Qian
8b4c107dfd docs: Enhance timestamp/timezone troubleshooting based on Issue #60
Enhanced the Exchange API errors section with more detailed solutions
for timestamp-related failures, based on Issue #60.

Problem:
- code=-1021: Timestamp outside of recvWindow
- System time not synced with Binance servers
- Docker container time drift

Enhanced Solutions:
1. System Time Sync (Multiple methods)
   - ntpdate pool.ntp.org (recommended)
   - ntpdate with different NTP servers
   - timedatectl for automatic sync
   - Aliyun NTP for China users

2. Docker-specific fixes
   - Check container time vs host time
   - Restart Docker service
   - Add TZ environment variable

3. API Key verification steps
   - Regeneration procedure
   - Permission checklist

4. Rate limit considerations
   - Reduce trader count
   - Increase decision interval

Both English and Chinese versions updated.

Fixes: #60

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 11:44:57 +08:00
Liu Xiang Qian
1271e278f2 docs: Add Docker image pull failure troubleshooting (China)
Added comprehensive troubleshooting guide for Docker image pull failures
in mainland China, based on Issue #168.

Problem:
- Users in China cannot pull Docker images from Docker Hub
- ERROR: load metadata for docker.io/library/...
- Timeouts and connection failures

Solutions Added:
1. Configure Docker registry mirrors (Recommended)
   - List of working China mirrors
   - Step-by-step configuration for Linux/macOS/Windows
   - Verification commands

2. Use VPN
   - Taiwan nodes recommended
   - Global mode required

3. Offline image download
   - Image proxy websites
   - Manual import instructions

Both English and Chinese versions updated.

Fixes: #168

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 11:38:53 +08:00
Liu Xiang Qian
65809aa037 docs: Fix AI model list in FAQ - correct supported models
Fixed incorrect information about supported AI models:

Before (Incorrect):
- Listed OpenAI GPT-4 and Claude as directly supported
- These are NOT natively supported

After (Correct):
- DeepSeek (native support, recommended)
- Qwen (native support, Alibaba Cloud)
- Custom OpenAI-compatible APIs (can use OpenAI, Claude via proxy, etc.)

Also updated cost estimates to reflect actual supported models.

Reference: mcp/client.go shows only DeepSeek, Qwen, and Custom providers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 11:09:18 +08:00
Liu Xiang Qian
89bb8d3eb6 docs: Expand FAQ and clarify separation from TROUBLESHOOTING
Addressed review feedback on PR #226:
- FAQ and TROUBLESHOOTING serve different purposes and should both be kept
- FAQ: Quick Q&A format for common questions (now expanded)
- TROUBLESHOOTING: Detailed step-by-step diagnostic guide

Changes:
- Expanded FAQ from 26 lines to 200+ lines with 7 sections:
  * General Questions (What is NOFX, supported exchanges, profitability)
  * Setup & Configuration (requirements, API keys, subaccounts)
  * Trading Questions (decision frequency, position limits, customization)
  * Technical Issues (quick fixes for common errors)
  * AI & Model Questions (supported models, costs, learning)
  * Data & Privacy (storage, security, export)
  * Contributing (how to help, feature requests)

- Added cross-references between FAQ and TROUBLESHOOTING
- FAQ provides quick answers with links to detailed troubleshooting
- TROUBLESHOOTING remains comprehensive diagnostic guide

Both English and Chinese versions updated.

Fixes review comment from @reviewer on PR #226

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 11:04:58 +08:00
Luna Martinez
7b5970567f Merge pull request #88 from fanyinghao/fix-decision-result
fix: Correct error handling in GetFullDecision function
2025-11-01 23:03:55 -04:00
Luna Martinez
5878b10c8f Merge pull request #181 from Xeron2000/fix-broken-dashscope-link-issue-128
Fix broken DashScope link in README files (fixes #128)
2025-11-01 23:00:27 -04:00
Liu Xiang Qian
9ab7a36fbb test: Add minimal UT infrastructure and fix Issue #227
This commit sets up a minimal, KISS-principle testing infrastructure
for both backend and frontend, and includes the fix for Issue #227.

Backend Changes:
- Add Makefile with test commands (test, test-backend, test-frontend, test-coverage)
- Add example test: config/database_test.go
- Fix Go 1.25 printf format string warnings in trader/auto_trader.go
  (Changed log.Printf to log.Print for non-format strings)
- All backend tests pass ✓

Frontend Changes:
- Add Vitest configuration: web/vitest.config.ts (minimal setup)
- Add test utilities: web/src/test/test-utils.tsx
- Add example test: web/src/App.test.tsx
- Add dependencies: vitest, jsdom, @testing-library/react
- All frontend tests pass ✓

Issue #227 Fix:
- Fix AITradersPage to allow editing traders with disabled models/exchanges
- Change validation to use allModels/allExchanges instead of enabledModels/enabledExchanges
- Add comprehensive tests in web/src/components/AITradersPage.test.tsx
- Fixes: https://github.com/tinkle-community/nofx/issues/227

CI/CD:
- Add GitHub Actions workflow: .github/workflows/test.yml
- Non-blocking tests (continue-on-error: true)
- Runs on push/PR to main and dev branches

Test Results:
- Backend: 1 test passing
- Frontend: 5 tests passing (including 4 for Issue #227)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 10:58:31 +08:00
Xeron
ff9b66bf11 Fix broken DashScope link in README files (fixes #128) 2025-11-02 10:56:24 +08:00
Luna Martinez
1333121b85 Merge pull request #228 from hzb1115/dev
fix: github workflow permission
2025-11-01 22:28:22 -04:00
zbhan
c084de7277 fix: github workflow permission 2025-11-01 22:25:32 -04:00
Liu Xiang Qian
03d709de8e docs: Enhance bug report template and add comprehensive troubleshooting guide
- Enhanced bug report template with detailed log capture instructions
  - Added bug categorization system (6 main categories)
  - Frontend error capture guide (DevTools Console/Network tabs)
  - Backend log capture for Docker and PM2 deployments
  - Trading/decision logs location and usage
  - Comprehensive environment information checklist
  - Quick diagnostic tips for faster issue resolution

- Created bilingual troubleshooting guides (EN/ZH)
  - Common trading issues (e.g., Issue #202: only short positions)
  - Detailed explanation of Binance position mode requirements
  - AI decision problems and diagnostics
  - Connection and API error solutions
  - Frontend and database issues
  - Complete log capture instructions with commands
  - Emergency reset procedures

- Updated documentation cross-references
  - Added troubleshooting guide links to bug report template
  - Added links in README Common Issues section
  - Bilingual support for better accessibility

This reduces maintainer workload by helping users self-diagnose issues
and submit higher-quality bug reports with all necessary information.

Addresses Issue #202 root cause documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 10:19:19 +08:00
icy
02fcfedd6e Merge branch 'dev' into beta 2025-11-02 07:13:41 +08:00
icy
c9281adb84 Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev 2025-11-02 07:13:33 +08:00
icy
f24b0fc2ab fix: resolve merge conflicts in RegisterPage.tsx
- Remove merge conflict markers
- Keep HeaderBar import instead of ArrowLeft
- Remove duplicate betaMode state declaration
- Remove duplicate useEffect hook
- Update translation keys to use authStep* variants
- Ensure proper beta mode functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 07:05:07 +08:00
icy
6c39206cdc fix: add beta_mode to config.json.example
Add missing beta_mode configuration option to the example config file.
This ensures Docker builds and new deployments include the beta_mode setting.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:51:17 +08:00
icy
7c395a7585 fix: use CSS variables for form background in RegisterPage
Replace hardcoded colors with CSS variables:
- background: var(--panel-bg)
- border: var(--panel-border)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:43:39 +08:00
icy
f04e36f1b5 fix: restore header bar and fix layout in RegisterPage
- Add HeaderBar component to registration page
- Change background to use CSS variables (var(--brand-black))
- Remove "back to home" button
- Update layout structure to match LoginPage pattern
- Fix container padding and spacing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:42:51 +08:00
icy
703b929aba fix: resolve all TypeScript build errors
- Remove unused imports (LoginModal, Zap) and variables
- Fix Language type mismatches across components
- Update HeaderBar interface to use Language type
- Remove unused onLoginClick parameter
- Fix duplicate translation keys by renaming auth steps
- Remove invalid language prop from CommunitySection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:39:23 +08:00
Luna Martinez
500ad4412f Merge pull request #219 from hzb1115/dev
feat: PR validation
2025-11-01 18:37:50 -04:00
icy
8069e7f0c5 fix: add beta_mode property to SystemConfig interface
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:31:51 +08:00
Luna Martinez
487a0cbe9e Merge pull request #1 from hzb1115/dev_pr_check
feat: pr validation
2025-11-01 18:29:56 -04:00
zbhan
9a604f9b27 feat: pr validation 2025-11-01 18:25:44 -04:00
icy
b8c3488e1f fix: remove extra closing div tag in RegisterPage JSX
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:25:09 +08:00
icy
ce371860d1 feat: update UI components and add new assets
- Update App, CompetitionPage, CryptoFeatureCard components with improvements
- Enhance Header and LoginPage components
- Update styling in index.css and API configurations
- Add new hand background and hand image assets
- Remove old logo.png file
- Update server configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:23:06 +08:00
icy
5668d4ec63 feat(auth): integrate beta mode functionality in registration
- Add beta code input field to registration form when beta mode is enabled
- Check system config on component mount to determine beta mode status
- Require 6-character alphanumeric beta code for registration in beta mode
- Maintain existing internationalization and styling patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:22:38 +08:00
icy
b3103730c1 feat(i18n): internationalize footer and login modal components
- Update FooterSection to use language prop pattern instead of useLanguage hook
- Add language prop support to LoginModal component
- Ensure consistent internationalization approach across UI components
- Maintain proper prop interfaces for language handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:22:16 +08:00
icy
621f105ddd feat(i18n): internationalize landing page sections
- Update AboutSection, FeaturesSection, HowItWorksSection to use language prop pattern
- Replace useLanguage hook with language prop interface for consistency
- Add comprehensive internationalization support for landing page content
- Update HeroSection and LandingPage to support language prop flow

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:21:48 +08:00
icy
e0347162cf feat(i18n): add navigation internationalization
- Add Chinese/English translations for navigation buttons (实时/Real-time, 配置/Config, 看板/Dashboard)
- Update HeaderBar component to use translation system for navigation elements
- Add realtimeNav, configNav, dashboardNav translation keys
- Support both desktop and mobile navigation internationalization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 06:20:28 +08:00
原始
d7567b2e0e Merge branch 'tinkle-community:dev' into dev 2025-11-02 04:09:26 +08:00