fix: resolve CI failures — SQLAlchemy mapper conflict and lint errors
- Add back_populates to SessionBranch.session ↔ AISession.branches to fix SQLAlchemy InvalidRequestError that broke all backend tests - Remove unused 'tree' variable in command-palette.spec.ts - Suppress setState-in-effect lint rule in TaskLane (intentional sync) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -247,6 +247,7 @@ class AISession(Base):
|
||||
branches: Mapped[list["SessionBranch"]] = relationship(
|
||||
"SessionBranch",
|
||||
foreign_keys="SessionBranch.session_id",
|
||||
back_populates="session",
|
||||
cascade="all, delete-orphan",
|
||||
order_by="SessionBranch.branch_order",
|
||||
)
|
||||
|
||||
@@ -51,7 +51,7 @@ class SessionBranch(Base):
|
||||
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), onupdate=lambda: datetime.now(timezone.utc))
|
||||
|
||||
# Relationships
|
||||
session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id])
|
||||
session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id], back_populates="branches")
|
||||
parent_branch: Mapped[Optional["SessionBranch"]] = relationship("SessionBranch", remote_side="SessionBranch.id", foreign_keys=[parent_branch_id])
|
||||
fork_point_step: Mapped[Optional["AISessionStep"]] = relationship("AISessionStep", foreign_keys=[fork_point_step_id])
|
||||
status_changed_by_user: Mapped[Optional["User"]] = relationship("User", foreign_keys=[status_changed_by])
|
||||
|
||||
@@ -29,7 +29,7 @@ test.describe('command palette smoke tests', () => {
|
||||
|
||||
test('searches and shows AI Assistant option', async ({ page }) => {
|
||||
const api = await createAuthenticatedApiContext()
|
||||
const tree = await createTroubleshootingTree(api, {
|
||||
await createTroubleshootingTree(api, {
|
||||
name: uniqueName('PW Palette Search Flow'),
|
||||
})
|
||||
|
||||
|
||||
@@ -101,7 +101,8 @@ export function TaskLane({ questions, actions, onSubmit, onClose, loading }: Tas
|
||||
}
|
||||
}, [handleMouseMove, handleMouseUp])
|
||||
|
||||
// Reset when new tasks come in
|
||||
// Reset when new tasks come in from AI response
|
||||
// eslint-disable-next-line react-hooks/set-state-in-effect -- intentional: syncs derived state from prop changes
|
||||
useEffect(() => {
|
||||
setTasks([
|
||||
...questions.map((q): QuestionResponse => ({
|
||||
|
||||
Reference in New Issue
Block a user