@lobehub/lobehub 2.0.0-next.233 → 2.0.0-next.234

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.github/workflows/e2e.yml +6 -12
  2. package/.github/workflows/test.yml +3 -3
  3. package/CHANGELOG.md +34 -0
  4. package/CLAUDE.md +1 -1
  5. package/changelog/v1.json +9 -0
  6. package/docs/development/basic/feature-development.mdx +4 -5
  7. package/docs/development/basic/feature-development.zh-CN.mdx +4 -5
  8. package/e2e/README.md +6 -6
  9. package/e2e/src/features/community/detail-pages.feature +9 -9
  10. package/e2e/src/features/community/interactions.feature +13 -13
  11. package/e2e/src/features/community/smoke.feature +6 -6
  12. package/e2e/src/steps/agent/conversation-mgmt.steps.ts +196 -25
  13. package/e2e/src/steps/agent/conversation.steps.ts +58 -0
  14. package/e2e/src/steps/agent/message-ops.steps.ts +20 -15
  15. package/e2e/src/steps/community/detail-pages.steps.ts +60 -19
  16. package/e2e/src/steps/community/interactions.steps.ts +145 -32
  17. package/e2e/src/steps/hooks.ts +12 -2
  18. package/locales/en-US/setting.json +3 -0
  19. package/locales/zh-CN/file.json +4 -0
  20. package/locales/zh-CN/setting.json +3 -0
  21. package/package.json +5 -5
  22. package/packages/const/src/index.ts +1 -0
  23. package/packages/const/src/lobehubSkill.ts +55 -0
  24. package/packages/types/package.json +1 -1
  25. package/packages/types/src/files/upload.ts +11 -1
  26. package/packages/types/src/message/common/tools.ts +1 -1
  27. package/packages/types/src/serverConfig.ts +1 -0
  28. package/public/not-compatible.html +1296 -0
  29. package/src/app/[variants]/(main)/resource/features/FileDetail.tsx +20 -12
  30. package/src/app/[variants]/(main)/resource/features/modal/FullscreenModal.tsx +2 -4
  31. package/src/app/[variants]/layout.tsx +50 -1
  32. package/src/features/ChatInput/ActionBar/Tools/LobehubSkillServerItem.tsx +304 -0
  33. package/src/features/ChatInput/ActionBar/Tools/useControls.tsx +74 -10
  34. package/src/features/Conversation/Messages/AssistantGroup/Tool/Inspector/ToolTitle.tsx +9 -0
  35. package/src/features/FileViewer/Renderer/Code/index.tsx +224 -0
  36. package/src/features/FileViewer/Renderer/Image/index.tsx +8 -1
  37. package/src/features/FileViewer/Renderer/PDF/index.tsx +3 -1
  38. package/src/features/FileViewer/Renderer/PDF/style.ts +2 -1
  39. package/src/features/FileViewer/index.tsx +135 -24
  40. package/src/features/PageEditor/EditorCanvas/useSlashItems.tsx +7 -4
  41. package/src/features/PageEditor/store/initialState.ts +2 -1
  42. package/src/features/ResourceManager/components/Editor/FileContent.tsx +1 -4
  43. package/src/features/ResourceManager/components/Editor/FileCopilot.tsx +64 -0
  44. package/src/features/ResourceManager/components/Editor/index.tsx +98 -31
  45. package/src/features/ResourceManager/components/Explorer/ItemDropdown/useFileItemDropdown.tsx +3 -2
  46. package/src/features/ResourceManager/components/Explorer/ListView/ColumnResizeHandle.tsx +119 -0
  47. package/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx +67 -22
  48. package/src/features/ResourceManager/components/Explorer/ListView/Skeleton.tsx +46 -11
  49. package/src/features/ResourceManager/components/Explorer/ListView/index.tsx +140 -81
  50. package/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx +20 -12
  51. package/src/features/ResourceManager/components/Explorer/ToolBar/ViewSwitcher.tsx +18 -10
  52. package/src/features/ResourceManager/components/UploadDock/Item.tsx +38 -6
  53. package/src/features/ResourceManager/components/UploadDock/index.tsx +62 -41
  54. package/src/features/ResourceManager/index.tsx +1 -0
  55. package/src/helpers/toolEngineering/index.test.ts +3 -0
  56. package/src/helpers/toolEngineering/index.ts +12 -1
  57. package/src/locales/default/file.ts +4 -0
  58. package/src/locales/default/setting.ts +3 -0
  59. package/src/server/globalConfig/index.ts +1 -0
  60. package/src/server/modules/ModelRuntime/index.test.ts +214 -1
  61. package/src/server/modules/ModelRuntime/index.ts +43 -7
  62. package/src/server/routers/lambda/document.ts +44 -0
  63. package/src/server/routers/tools/market.ts +261 -0
  64. package/src/server/services/document/index.ts +22 -0
  65. package/src/services/document/index.ts +4 -0
  66. package/src/services/upload.ts +22 -2
  67. package/src/store/chat/slices/plugin/actions/internals.ts +15 -2
  68. package/src/store/chat/slices/plugin/actions/pluginTypes.ts +104 -0
  69. package/src/store/file/slices/fileManager/action.test.ts +9 -3
  70. package/src/store/file/slices/fileManager/action.ts +165 -70
  71. package/src/store/file/slices/upload/action.ts +3 -0
  72. package/src/store/global/actions/general.ts +15 -0
  73. package/src/store/global/initialState.ts +13 -0
  74. package/src/store/serverConfig/selectors.ts +1 -0
  75. package/src/store/tool/initialState.ts +11 -2
  76. package/src/store/tool/selectors/index.ts +1 -0
  77. package/src/store/tool/selectors/tool.ts +3 -1
  78. package/src/store/tool/slices/lobehubSkillStore/action.ts +361 -0
  79. package/src/store/tool/slices/lobehubSkillStore/index.ts +4 -0
  80. package/src/store/tool/slices/lobehubSkillStore/initialState.ts +24 -0
  81. package/src/store/tool/slices/lobehubSkillStore/selectors.ts +145 -0
  82. package/src/store/tool/slices/lobehubSkillStore/types.ts +100 -0
  83. package/src/store/tool/store.ts +8 -2
  84. package/vitest.config.mts +1 -0
  85. package/src/features/FileViewer/Renderer/JavaScript/index.tsx +0 -66
  86. package/src/features/FileViewer/Renderer/TXT/index.tsx +0 -50
@@ -80,18 +80,12 @@ jobs:
80
80
  - name: Run E2E tests
81
81
  run: bun run e2e
82
82
 
83
- - name: Upload Cucumber HTML report (on failure)
83
+ - name: Upload E2E test artifacts (on failure)
84
84
  if: failure()
85
85
  uses: actions/upload-artifact@v6
86
86
  with:
87
- name: cucumber-report
88
- path: e2e/reports
89
- if-no-files-found: ignore
90
-
91
- - name: Upload screenshots (on failure)
92
- if: failure()
93
- uses: actions/upload-artifact@v6
94
- with:
95
- name: test-screenshots
96
- path: e2e/screenshots
97
- if-no-files-found: ignore
87
+ name: e2e-artifacts
88
+ path: |
89
+ e2e/reports
90
+ e2e/screenshots
91
+ if-no-files-found: ignore
@@ -102,8 +102,8 @@ jobs:
102
102
  - name: Install deps
103
103
  run: bun i
104
104
 
105
- - name: Run tests with blob reporter
106
- run: bunx vitest --coverage --reporter=blob --silent='passed-only' --shard=${{ matrix.shard }}/2
105
+ - name: Run tests
106
+ run: bunx vitest --coverage --silent='passed-only' --shard=${{ matrix.shard }}/2
107
107
 
108
108
  - name: Upload blob report
109
109
  if: ${{ !cancelled() }}
@@ -139,7 +139,7 @@ jobs:
139
139
  merge-multiple: true
140
140
 
141
141
  - name: Merge reports
142
- run: bunx vitest --merge-reports --coverage
142
+ run: bunx vitest --merge-reports --reporter=default --coverage
143
143
 
144
144
  - name: Upload App Coverage to Codecov
145
145
  uses: codecov/codecov-action@v5
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 2.0.0-next.234](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.233...v2.0.0-next.234)
6
+
7
+ <sup>Released on **2026-01-07**</sup>
8
+
9
+ #### ✨ Features
10
+
11
+ - **misc**: Add browser compatibility detection and fallback page, add the lobehub market tools servers.
12
+
13
+ #### 🐛 Bug Fixes
14
+
15
+ - **editor**: Fix slash command codeblock not working.
16
+
17
+ <br/>
18
+
19
+ <details>
20
+ <summary><kbd>Improvements and Fixes</kbd></summary>
21
+
22
+ #### What's improved
23
+
24
+ - **misc**: Add browser compatibility detection and fallback page, closes [#11309](https://github.com/lobehub/lobe-chat/issues/11309) ([8be32c2](https://github.com/lobehub/lobe-chat/commit/8be32c2))
25
+ - **misc**: Add the lobehub market tools servers, closes [#11315](https://github.com/lobehub/lobe-chat/issues/11315) ([a4003a3](https://github.com/lobehub/lobe-chat/commit/a4003a3))
26
+
27
+ #### What's fixed
28
+
29
+ - **editor**: Fix slash command codeblock not working, closes [#11321](https://github.com/lobehub/lobe-chat/issues/11321) ([f9a35eb](https://github.com/lobehub/lobe-chat/commit/f9a35eb))
30
+
31
+ </details>
32
+
33
+ <div align="right">
34
+
35
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
36
+
37
+ </div>
38
+
5
39
  ## [Version 2.0.0-next.233](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.232...v2.0.0-next.233)
6
40
 
7
41
  <sup>Released on **2026-01-07**</sup>
package/CLAUDE.md CHANGED
@@ -80,7 +80,7 @@ When creating new Linear issues using `mcp__linear-server__create_issue`, **MUST
80
80
 
81
81
  ### PR Linear Issue Association (REQUIRED)
82
82
 
83
- **When creating PRs for Linear issues, MUST include magic keywords in PR body:** `Fixes LOBE-123`, `Closes LOBE-123`, or `Resolves LOBE-123`
83
+ **When creating PRs for Linear issues, MUST include magic keywords in PR body:** `Fixes LOBE-123`, `Closes LOBE-123`, or `Resolves LOBE-123`, and summarize the work done in the linear issue comment and update the issue status to "In Review".
84
84
 
85
85
  ### IMPORTANT: Per-Issue Completion Rule
86
86
 
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "features": [
5
+ "Add browser compatibility detection and fallback page, add the lobehub market tools servers."
6
+ ]
7
+ },
8
+ "date": "2026-01-07",
9
+ "version": "2.0.0-next.234"
10
+ },
2
11
  {
3
12
  "children": {},
4
13
  "date": "2026-01-07",
@@ -254,14 +254,14 @@ Let's take the subcomponent `OpeningQuestion.tsx` as an example. Component imple
254
254
  import { DeleteOutlined, PlusOutlined } from '@ant-design/icons';
255
255
  import { Flexbox, SortableList } from '@lobehub/ui';
256
256
  import { Button, Empty, Input } from 'antd';
257
- import { createStyles } from 'antd-style';
257
+ import { createStaticStyles } from 'antd-style';
258
258
  import { memo, useCallback, useMemo, useState } from 'react';
259
259
  import { useTranslation } from 'react-i18next';
260
260
 
261
261
  import { useStore } from '../store';
262
262
  import { selectors } from '../store/selectors';
263
263
 
264
- const useStyles = createStyles(({ css, token }) => ({
264
+ const styles = createStaticStyles(({ css, cssVar }) => ({
265
265
  empty: css`
266
266
  margin-block: 24px;
267
267
  margin-inline: 0;
@@ -270,7 +270,7 @@ const useStyles = createStyles(({ css, token }) => ({
270
270
  margin-block-end: 8px;
271
271
  padding-block: 2px;
272
272
  padding-inline: 10px 0;
273
- background: ${token.colorBgContainer};
273
+ background: ${cssVar.colorBgContainer};
274
274
  `,
275
275
  questionItemContent: css`
276
276
  flex: 1;
@@ -281,7 +281,7 @@ const useStyles = createStyles(({ css, token }) => ({
281
281
  `,
282
282
  repeatError: css`
283
283
  margin: 0;
284
- color: ${token.colorErrorText};
284
+ color: ${cssVar.colorErrorText};
285
285
  `,
286
286
  }));
287
287
 
@@ -292,7 +292,6 @@ interface QuestionItem {
292
292
 
293
293
  const OpeningQuestions = memo(() => {
294
294
  const { t } = useTranslation('setting');
295
- const { styles } = useStyles();
296
295
  const [questionInput, setQuestionInput] = useState('');
297
296
 
298
297
  // Use selector to access corresponding configuration
@@ -254,14 +254,14 @@ lobe-chat 是个国际化项目,新加的文案需要更新默认的 `locale`
254
254
  import { DeleteOutlined, PlusOutlined } from '@ant-design/icons';
255
255
  import { Flexbox, SortableList } from '@lobehub/ui';
256
256
  import { Button, Empty, Input } from 'antd';
257
- import { createStyles } from 'antd-style';
257
+ import { createStaticStyles } from 'antd-style';
258
258
  import { memo, useCallback, useMemo, useState } from 'react';
259
259
  import { useTranslation } from 'react-i18next';
260
260
 
261
261
  import { useStore } from '../store';
262
262
  import { selectors } from '../store/selectors';
263
263
 
264
- const useStyles = createStyles(({ css, token }) => ({
264
+ const styles = createStaticStyles(({ css, cssVar }) => ({
265
265
  empty: css`
266
266
  margin-block: 24px;
267
267
  margin-inline: 0;
@@ -270,7 +270,7 @@ const useStyles = createStyles(({ css, token }) => ({
270
270
  margin-block-end: 8px;
271
271
  padding-block: 2px;
272
272
  padding-inline: 10px 0;
273
- background: ${token.colorBgContainer};
273
+ background: ${cssVar.colorBgContainer};
274
274
  `,
275
275
  questionItemContent: css`
276
276
  flex: 1;
@@ -281,7 +281,7 @@ const useStyles = createStyles(({ css, token }) => ({
281
281
  `,
282
282
  repeatError: css`
283
283
  margin: 0;
284
- color: ${token.colorErrorText};
284
+ color: ${cssVar.colorErrorText};
285
285
  `,
286
286
  }));
287
287
 
@@ -292,7 +292,6 @@ interface QuestionItem {
292
292
 
293
293
  const OpeningQuestions = memo(() => {
294
294
  const { t } = useTranslation('setting');
295
- const { styles } = useStyles();
296
295
  const [questionInput, setQuestionInput] = useState('');
297
296
 
298
297
  // 使用 selector 访问对应配置
package/e2e/README.md CHANGED
@@ -84,13 +84,13 @@ HEADLESS=false BASE_URL=http://localhost:3000 npm run test:smoke
84
84
  Feature files are written in Gherkin syntax and placed in the `src/features/` directory:
85
85
 
86
86
  ```gherkin
87
- @discover @smoke
88
- Feature: Discover Smoke Tests
89
- Critical path tests to ensure the discover module is functional
87
+ @community @smoke
88
+ Feature: Community Smoke Tests
89
+ Critical path tests to ensure the community module is functional
90
90
 
91
- @DISCOVER-SMOKE-001 @P0
92
- Scenario: Load discover assistant list page
93
- Given I navigate to "/discover/assistant"
91
+ @COMMUNITY-SMOKE-001 @P0
92
+ Scenario: Load community assistant list page
93
+ Given I navigate to "/community/assistant"
94
94
  Then the page should load without errors
95
95
  And I should see the page body
96
96
  And I should see the search bar
@@ -1,4 +1,4 @@
1
- @discover @detail
1
+ @community @detail
2
2
  Feature: Discover Detail Pages
3
3
  Tests for detail pages in the discover module
4
4
 
@@ -9,7 +9,7 @@ Feature: Discover Detail Pages
9
9
  # Assistant Detail Page
10
10
  # ============================================
11
11
 
12
- @DISCOVER-DETAIL-001 @P1
12
+ @COMMUNITY-DETAIL-001 @P1
13
13
  Scenario: Load assistant detail page and verify content
14
14
  Given I navigate to "/community/assistant"
15
15
  And I wait for the page to fully load
@@ -20,7 +20,7 @@ Feature: Discover Detail Pages
20
20
  And I should see the assistant author information
21
21
  And I should see the add to workspace button
22
22
 
23
- @DISCOVER-DETAIL-002 @P1
23
+ @COMMUNITY-DETAIL-002 @P1
24
24
  Scenario: Navigate back from assistant detail page
25
25
  Given I navigate to "/community/assistant"
26
26
  And I wait for the page to fully load
@@ -32,7 +32,7 @@ Feature: Discover Detail Pages
32
32
  # Model Detail Page
33
33
  # ============================================
34
34
 
35
- @DISCOVER-DETAIL-003 @P1
35
+ @COMMUNITY-DETAIL-003 @P1
36
36
  Scenario: Load model detail page and verify content
37
37
  Given I navigate to "/community/model"
38
38
  And I wait for the page to fully load
@@ -42,7 +42,7 @@ Feature: Discover Detail Pages
42
42
  And I should see the model description
43
43
  And I should see the model parameters information
44
44
 
45
- @DISCOVER-DETAIL-004 @P1
45
+ @COMMUNITY-DETAIL-004 @P1
46
46
  Scenario: Navigate back from model detail page
47
47
  Given I navigate to "/community/model"
48
48
  And I wait for the page to fully load
@@ -54,7 +54,7 @@ Feature: Discover Detail Pages
54
54
  # Provider Detail Page
55
55
  # ============================================
56
56
 
57
- @DISCOVER-DETAIL-005 @P1
57
+ @COMMUNITY-DETAIL-005 @P1
58
58
  Scenario: Load provider detail page and verify content
59
59
  Given I navigate to "/community/provider"
60
60
  And I wait for the page to fully load
@@ -64,7 +64,7 @@ Feature: Discover Detail Pages
64
64
  And I should see the provider description
65
65
  And I should see the provider website link
66
66
 
67
- @DISCOVER-DETAIL-006 @P1
67
+ @COMMUNITY-DETAIL-006 @P1
68
68
  Scenario: Navigate back from provider detail page
69
69
  Given I navigate to "/community/provider"
70
70
  And I wait for the page to fully load
@@ -76,7 +76,7 @@ Feature: Discover Detail Pages
76
76
  # MCP Detail Page
77
77
  # ============================================
78
78
 
79
- @DISCOVER-DETAIL-007 @P1
79
+ @COMMUNITY-DETAIL-007 @P1
80
80
  Scenario: Load MCP detail page and verify content
81
81
  Given I navigate to "/community/mcp"
82
82
  And I wait for the page to fully load
@@ -86,7 +86,7 @@ Feature: Discover Detail Pages
86
86
  And I should see the MCP description
87
87
  And I should see the install button
88
88
 
89
- @DISCOVER-DETAIL-008 @P1
89
+ @COMMUNITY-DETAIL-008 @P1
90
90
  Scenario: Navigate back from MCP detail page
91
91
  Given I navigate to "/community/mcp"
92
92
  And I wait for the page to fully load
@@ -1,4 +1,4 @@
1
- @discover @interactions
1
+ @community @interactions
2
2
  Feature: Discover Interactions
3
3
  Tests for user interactions within the discover module
4
4
 
@@ -9,14 +9,14 @@ Feature: Discover Interactions
9
9
  # Assistant Page Interactions
10
10
  # ============================================
11
11
 
12
- @DISCOVER-INTERACT-001 @P1
12
+ @COMMUNITY-INTERACT-001 @P1
13
13
  Scenario: Search for assistants
14
14
  Given I navigate to "/community/assistant"
15
15
  When I type "developer" in the search bar
16
16
  And I wait for the search results to load
17
17
  Then I should see filtered assistant cards
18
18
 
19
- @DISCOVER-INTERACT-002 @P1
19
+ @COMMUNITY-INTERACT-002 @P1
20
20
  Scenario: Filter assistants by category
21
21
  Given I navigate to "/community/assistant"
22
22
  When I click on a category in the category menu
@@ -24,7 +24,7 @@ Feature: Discover Interactions
24
24
  Then I should see assistant cards filtered by the selected category
25
25
  And the URL should contain the category parameter
26
26
 
27
- @DISCOVER-INTERACT-003 @P1
27
+ @COMMUNITY-INTERACT-003 @P1
28
28
  Scenario: Navigate to next page of assistants
29
29
  Given I navigate to "/community/assistant"
30
30
  When I click the next page button
@@ -32,7 +32,7 @@ Feature: Discover Interactions
32
32
  Then I should see different assistant cards
33
33
  And the URL should contain the page parameter
34
34
 
35
- @DISCOVER-INTERACT-004 @P1
35
+ @COMMUNITY-INTERACT-004 @P1
36
36
  Scenario: Navigate to assistant detail page
37
37
  Given I navigate to "/community/assistant"
38
38
  When I click on the first assistant card
@@ -43,7 +43,7 @@ Feature: Discover Interactions
43
43
  # Model Page Interactions
44
44
  # ============================================
45
45
 
46
- @DISCOVER-INTERACT-005 @P1
46
+ @COMMUNITY-INTERACT-005 @P1
47
47
  Scenario: Sort models
48
48
  Given I navigate to "/community/model"
49
49
  When I click on the sort dropdown
@@ -51,7 +51,7 @@ Feature: Discover Interactions
51
51
  And I wait for the sorted results to load
52
52
  Then I should see model cards in the sorted order
53
53
 
54
- @DISCOVER-INTERACT-006 @P1
54
+ @COMMUNITY-INTERACT-006 @P1
55
55
  Scenario: Navigate to model detail page
56
56
  Given I navigate to "/community/model"
57
57
  When I click on the first model card
@@ -62,7 +62,7 @@ Feature: Discover Interactions
62
62
  # Provider Page Interactions
63
63
  # ============================================
64
64
 
65
- @DISCOVER-INTERACT-007 @P1
65
+ @COMMUNITY-INTERACT-007 @P1
66
66
  Scenario: Navigate to provider detail page
67
67
  Given I navigate to "/community/provider"
68
68
  When I click on the first provider card
@@ -73,14 +73,14 @@ Feature: Discover Interactions
73
73
  # MCP Page Interactions
74
74
  # ============================================
75
75
 
76
- @DISCOVER-INTERACT-008 @P1
76
+ @COMMUNITY-INTERACT-008 @P1
77
77
  Scenario: Filter MCP tools by category
78
78
  Given I navigate to "/community/mcp"
79
79
  When I click on a category in the category filter
80
80
  And I wait for the filtered results to load
81
81
  Then I should see MCP cards filtered by the selected category
82
82
 
83
- @DISCOVER-INTERACT-009 @P1
83
+ @COMMUNITY-INTERACT-009 @P1
84
84
  Scenario: Navigate to MCP detail page
85
85
  Given I navigate to "/community/mcp"
86
86
  When I click on the first MCP card
@@ -91,21 +91,21 @@ Feature: Discover Interactions
91
91
  # Home Page Interactions
92
92
  # ============================================
93
93
 
94
- @DISCOVER-INTERACT-010 @P1
94
+ @COMMUNITY-INTERACT-010 @P1
95
95
  Scenario: Navigate from home to assistant list
96
96
  Given I navigate to "/community"
97
97
  When I click on the "more" link in the featured assistants section
98
98
  Then I should be navigated to "/community/assistant"
99
99
  And I should see the page body
100
100
 
101
- @DISCOVER-INTERACT-011 @P1
101
+ @COMMUNITY-INTERACT-011 @P1
102
102
  Scenario: Navigate from home to MCP list
103
103
  Given I navigate to "/community"
104
104
  When I click on the "more" link in the featured MCP tools section
105
105
  Then I should be navigated to "/community/mcp"
106
106
  And I should see the page body
107
107
 
108
- @DISCOVER-INTERACT-012 @P1
108
+ @COMMUNITY-INTERACT-012 @P1
109
109
  Scenario: Click featured assistant from home
110
110
  Given I navigate to "/community"
111
111
  When I click on the first featured assistant card
@@ -1,8 +1,8 @@
1
- @discover @smoke
1
+ @community @smoke
2
2
  Feature: Community Smoke Tests
3
3
  Critical path tests to ensure the community/discover module is functional
4
4
 
5
- @DISCOVER-SMOKE-001 @P0
5
+ @COMMUNITY-SMOKE-001 @P0
6
6
  Scenario: Load Community Home Page
7
7
  Given I navigate to "/community"
8
8
  Then the page should load without errors
@@ -10,7 +10,7 @@ Feature: Community Smoke Tests
10
10
  And I should see the featured assistants section
11
11
  And I should see the featured MCP tools section
12
12
 
13
- @DISCOVER-SMOKE-002 @P0
13
+ @COMMUNITY-SMOKE-002 @P0
14
14
  Scenario: Load Assistant List Page
15
15
  Given I navigate to "/community/assistant"
16
16
  Then the page should load without errors
@@ -20,7 +20,7 @@ Feature: Community Smoke Tests
20
20
  And I should see assistant cards
21
21
  And I should see pagination controls
22
22
 
23
- @DISCOVER-SMOKE-003 @P0
23
+ @COMMUNITY-SMOKE-003 @P0
24
24
  Scenario: Load Model List Page
25
25
  Given I navigate to "/community/model"
26
26
  Then the page should load without errors
@@ -28,14 +28,14 @@ Feature: Community Smoke Tests
28
28
  And I should see model cards
29
29
  And I should see the sort dropdown
30
30
 
31
- @DISCOVER-SMOKE-004 @P0
31
+ @COMMUNITY-SMOKE-004 @P0
32
32
  Scenario: Load Provider List Page
33
33
  Given I navigate to "/community/provider"
34
34
  Then the page should load without errors
35
35
  And I should see the page body
36
36
  And I should see provider cards
37
37
 
38
- @DISCOVER-SMOKE-005 @P0
38
+ @COMMUNITY-SMOKE-005 @P0
39
39
  Scenario: Load MCP List Page
40
40
  Given I navigate to "/community/mcp"
41
41
  Then the page should load without errors