Merged
Conversation
…mporarily disable the Settings menu item.
… for pipeline_result and fallback to result. Include input_content from outer result if not present in nested result. This improves data handling consistency across various API responses.
…s a constant outside the component. Update input and output content type selectors for better user experience and reset logic. Optimize pipeline steps management using useMemo in PipelineVisualizer for improved performance.
…sers to trigger reruns with comments. Update decision handling logic and button labels across various approval components for improved clarity and functionality.
…ers to select multiple social media platforms for content generation. Enhance pipeline configuration handling and add variations count selector for A/B testing. Update UI components for improved user experience and validation feedback.
…ies to the most recent 50, preventing unbounded growth. Update QueryProvider to include garbage collection time for unused cache entries.
…ccordionSection components for improved code organization and readability. Update various sections to enhance user experience with structured content display and error handling. Introduce LoadingErrorState for better loading and error management across components.
…essibility. Adjust flex properties for better responsiveness and update aria-labels for button interactions. Enhance readability of approval items with truncation and consistent styling.
…que identification of items in the list, improving rendering stability.
… conditionally render version information only when available, improving user experience and preventing undefined values from being shown.
…k UI for empty states, improving user experience and preventing crashes when no items are available.
…and settings descriptions
…ceDisplayName utility for improved display consistency. Update ContentList, ContentSources, and ContentSelector components to enhance user experience by showing more descriptive source names. Adjust PipelinePage to use typed state for selected content, improving type safety.
…d improving type safety for blogRequest. Update content type handling to ensure consistent processing flow. Clean up code for better readability and maintainability.
…el. Update useJobList hook to manage dateFrom and dateTo states, and refactor API calls to support date range filtering. Enhance UI with date input fields for improved user experience.
…ns for pending approvals. Remove rendering logic and implement polling for specific routes. Enhance user experience by showing alerts for new approvals while maintaining clean code structure.
… and adjust the typography for improved layout. This change streamlines the user interface while maintaining the core messaging of the marketing tool.
…ent. Implement buttons for approving and canceling all pending approvals, with toast notifications for success and error handling. Refactor state management for improved user experience.
…Update env.example with Keycloak settings and add NextAuth configuration. Modify next.config.js to resolve NextAuth module issues. Implement request interceptor in api.ts to include access token in API requests and handle token refresh on 401 errors. Update package.json and package-lock.json to include new dependencies for authentication and testing.
…ement. Update request interceptor to streamline access token inclusion and refresh logic on 401 errors. Adjust package dependencies for enhanced authentication support.
… environment configuration in env.example for Keycloak integration and enhance next.config.js for module resolution. Remove deprecated NextAuth setup and adjust API client for improved session management. Update package dependencies for better compatibility and performance. Enhance UI components with session checks and loading states for a smoother user experience.
Auth routes
…GET and POST handlers, enhancing modularity and performance.
…son and package-lock.json for improved compatibility and performance.
feat: add delete jobs before date in settings
…teps Deleted dead components: - src/components/pipeline/pipeline-model-config.tsx - src/components/settings/pipeline-model-config-settings.tsx Cleaned up remaining references: - default-settings.tsx: removed AVAILABLE_MODELS, Default Model select, model recommendations - pipeline-controls.tsx: removed PipelineModelConfig usage and pipelineConfig state - enhanced-progress.tsx: removed "Model: ..." display (Arthur controls model) - pipeline-settings.ts: removed default_model from DEFAULT_CONFIG - settings/page.tsx: removed default_model from all 3 state initializations - types/api.ts: removed default_model from PipelineConfig interface - types/results.ts: removed default_model from inline pipeline_config type Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…clear date on mutation failure
…t mode to preserve prev job state for transition detection
feat: add delete-jobs-before-date and remove model selection UI
Adds a 55s in-memory cache so repeated API calls within the same session don't hit the auth endpoint on every request. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5s was hammering the backend unnecessarily — approvals don't change that frequently. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…polish - Add author? field to ContentItem (top-level API field, not metadata) - content-list: show uploader from item.author first, suppress generic "Unknown" placeholder; add search + type filter; design system styling - content-selector: same author logic; dark design tokens throughout; search, type chips, healthy-source indicator - pipeline: remove stat boxes (Completed / In Progress / Failed / Total) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ields All four places (job list subline, details panel, header, job detail page) now prioritize triggered_by_username → triggered_by.username → email, and never fall back to showing the raw UUID. The user filter dropdown in admin view also prefers username over ID. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: content display improvements + job user ID fix
…fied content input The pipeline content input was using a separate component (unified-content-input.tsx) that didn't get the earlier improvements. Now matches content-selector styling: - Search box with live filter across title/snippet - Source dropdown with dark design tokens and teal healthy indicator - Content cards use amber selection state, dark surface colors, no MUI theme colors - Author reads item.author first, suppresses generic "Unknown" placeholder - Empty/no-results states distinguish between "no content" and "no search matches" - Selected content preview uses amber border instead of primary.50 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both views now show a "Load more (N remaining)" button when total_count exceeds the current limit. Each click fetches 20 more. The counter in the filter bar reflects the true total from the API. Source changes in the pipeline content input reset the limit back to 20. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Content was rendering flush to viewport edges. Now has responsive horizontal padding (16px → 24px → 32px) and caps at 1440px centered. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Feat/UI improvements
New TypeScript types (UserSettings, UserSettingsResponse) and API methods
for per-user settings (GET/PUT /v1/users/me/settings) and content item
deletion (DELETE /v1/content/{contentType}/{fileId}).
New hooks: useUserSettings, useUpdateUserSettings, useDeleteContentItem.
Uploaded content items now show a delete icon button. Clicking it opens a confirmation dialog before permanently removing the item via the API. Deletion only shown for items with extractable UUID file IDs (uploaded files). Fixes: UUID regex now enforces lowercase, error toast on delete failure, and typo fix in release_notes path check.
New MySettingsPanel component and tab in Settings. Users can toggle their personal require_approval override (on/off) or reset to the global default. Shows loading skeleton during fetch, disables controls during save.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- settings/page.test.tsx: mock useUserSettings + useUpdateUserSettings so MySettingsPanel renders without hitting the real API - setup.ts: suppress MUI anchorEl warning (jsdom has no layout engine) and the intentional getPipelineSettings fallback warn (test mock rejects by design)
feat: per-user approval settings and content item deletion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.