From 566fbb120bc436385aa5a4cb93d7c351dec2127e Mon Sep 17 00:00:00 2001 From: Zvonimir Sabljic Date: Sun, 24 Aug 2025 13:37:44 -0700 Subject: [PATCH 1/5] Revert "Implemented weekend discount" This reverts commit 17923847f40863e977588d1a81bec2ae16e9801f. --- core/agents/frontend.py | 6 +----- core/agents/spec_writer.py | 5 +---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/core/agents/frontend.py b/core/agents/frontend.py index 60ee86e444..ff76eb505b 100644 --- a/core/agents/frontend.py +++ b/core/agents/frontend.py @@ -25,7 +25,7 @@ from core.llm.parser import DescriptiveCodeBlockParser, OptionalCodeBlockParser from core.log import get_logger from core.telemetry import telemetry -from core.ui.base import ProjectStage, UISource +from core.ui.base import ProjectStage log = get_logger(__name__) @@ -168,10 +168,6 @@ async def iterate_frontend(self): if user_input: await self.send_message("Errors detected, fixing...") else: - await self.ui.send_message( - "Use code CODE20 and subscribe https://pythagora.ai/pricing", - source=UISource("Congratulations", "success"), - ) answer = await self.ask_question( "Do you want to change anything or report a bug?" if frontend_only else FE_CHANGE_REQ, buttons={"yes": "I'm done building the UI"} if not frontend_only else None, diff --git a/core/agents/spec_writer.py b/core/agents/spec_writer.py index 6d95a9ac5a..2ca25c0d02 100644 --- a/core/agents/spec_writer.py +++ b/core/agents/spec_writer.py @@ -11,7 +11,7 @@ from core.log import get_logger from core.telemetry import telemetry from core.templates.registry import PROJECT_TEMPLATES -from core.ui.base import ProjectStage, UISource +from core.ui.base import ProjectStage log = get_logger(__name__) @@ -122,9 +122,6 @@ async def initialize_spec_and_project(self) -> AgentResponse: await self.ui.send_front_logs_headers("specs_0", ["E1 / T1", "Writing Specification", "working"], "") - await self.ui.send_message( - "Use code CODE20 and subscribe https://pythagora.ai/pricing", source=UISource("Congratulations", "success") - ) await self.send_message( "## Write specification\n\nPythagora is generating a detailed specification for app based on your input.", # project_state_id="setup", From 1d76d241944212300acd446c56492416df62308f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 25 Aug 2025 07:40:08 +0000 Subject: [PATCH 2/5] version 2.0.10 --- CHANGELOG.md | 7 ++++++- pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb0a9e840c..394c3a1c4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ -# (2025-08-18) +# (2025-08-25) + + +### Reverts + +* Revert "Implemented weekend discount" ([734e0c7](https://github.com/Pythagora-io/pythagora-v1/commit/734e0c726b179a45f235a0fd230a6310c77ae740)) diff --git a/pyproject.toml b/pyproject.toml index ae4420007a..ebdc0039de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pythagora-core" -version = "2.0.9" +version = "2.0.10" description = "Build complete apps using AI agents" authors = ["Leon Ostrez "] license = "FSL-1.1-MIT" From 0819827ce20346ef5f25b3fe29293cb448840565 Mon Sep 17 00:00:00 2001 From: MarkoBosnjak98 Date: Wed, 3 Sep 2025 13:09:02 +0200 Subject: [PATCH 3/5] Update cloud-staging-build.yaml, update build --- .github/workflows/cloud-staging-build.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/cloud-staging-build.yaml b/.github/workflows/cloud-staging-build.yaml index 620d809d68..094dd94a77 100644 --- a/.github/workflows/cloud-staging-build.yaml +++ b/.github/workflows/cloud-staging-build.yaml @@ -118,8 +118,6 @@ jobs: - name: Setup extension run: | cd tmp_extension - npm install - npm run compile:ts npm install -g @vscode/vsce@3.3.2 npm run build vsce package @@ -182,4 +180,4 @@ jobs: git commit -m "version $VERSION" git push origin staging fi - cd .. \ No newline at end of file + cd .. From 53154df1c66b42021f230c3fb6ef797c4b7c3e83 Mon Sep 17 00:00:00 2001 From: LeonOstrez <41999013+LeonOstrez@users.noreply.github.com> Date: Mon, 10 Nov 2025 14:12:31 +0100 Subject: [PATCH 4/5] Update README.md --- README.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b97572b1ff..8fc7be17f3 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@
-[![Discord Follow](https://dcbadge.vercel.app/api/server/HaqXugmxr9?style=flat)](https://discord.gg/HaqXugmxr9) +[![Discord](https://img.shields.io/badge/Discord-Join%20Us-5865F2?style=social&logo=discord)](https://discord.gg/HaqXugmxr9) [![GitHub Repo stars](https://img.shields.io/github/stars/Pythagora-io/gpt-pilot?style=social)](https://github.com/Pythagora-io/gpt-pilot) -[![Twitter Follow](https://img.shields.io/twitter/follow/HiPythagora?style=social)](https://twitter.com/HiPythagora) +[![Twitter Follow](https://img.shields.io/twitter/follow/PythagoraAI?style=social)](https://x.com/PythagoraAI)
@@ -28,17 +28,25 @@
- + ### GPT Pilot doesn't just generate code, it builds apps!
+
+ +This repo is not being maintained anymore. + +# Visit [Pythagora.ai](https://www.pythagora.ai/) for more info + +
+ ---
-[![See it in action](https://i3.ytimg.com/vi/4g-1cPGK0GA/maxresdefault.jpg)](https://youtu.be/4g-1cPGK0GA) +[![See it in action](https://img.youtube.com/vi/o1nEvwjKziw/0.jpg)]([https://youtu.be/4g-1cPGK0GA](https://www.youtube.com/watch?v=o1nEvwjKziw)) -(click to open the video in YouTube) (1:40min) +(click to open the video in YouTube) (1:04min)
@@ -46,11 +54,11 @@
-Pythagora-io%2Fgpt-pilot | Trendshift +Pythagora-io%2Fgpt-pilot | Trendshift
-GPT Pilot is the core technology for the [Pythagora VS Code extension](https://bit.ly/3IeZxp6) that aims to provide **the first real AI developer companion**. Not just an autocomplete or a helper for PR messages but rather a real AI developer that can write full features, debug them, talk to you about issues, ask for review, etc. +GPT Pilot is the core technology for the [Pythagora VS Code extension](https://marketplace.visualstudio.com/items?itemName=PythagoraTechnologies.pythagora-vs-code) that aims to provide **the first real AI developer companion**. Not just an autocomplete or a helper for PR messages but rather a real AI developer that can write full features, debug them, talk to you about issues, ask for review, etc. --- From d0c182c29d4330158ab1bf80dc23a6ca4e76a29c Mon Sep 17 00:00:00 2001 From: octo-patch Date: Tue, 28 Apr 2026 09:07:31 +0800 Subject: [PATCH 5/5] fix: use Python-level default for Specification.complexity to prevent MissingGreenlet error (fixes #1105) `server_default` only sets a DB-level default that requires a round-trip to the database before the value is available on the Python object. When `clone()` is called before the first commit, `self.complexity` is `None`, causing SQLAlchemy to attempt a lazy IO fetch outside an async greenlet, raising `MissingGreenlet`. Switch to `default=Complexity.HARD` so the value is set at the Python level on instantiation, matching how all other string columns in this model are configured. Also add an `or Complexity.HARD` fallback in `clone()` to guard against rows in existing databases that have a NULL complexity value. Co-Authored-By: Octopus --- core/db/models/specification.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/db/models/specification.py b/core/db/models/specification.py index b0411b343f..026adc73d0 100644 --- a/core/db/models/specification.py +++ b/core/db/models/specification.py @@ -34,7 +34,7 @@ class Specification(Base): package_dependencies: Mapped[list[dict]] = mapped_column(default=list) templates: Mapped[Optional[dict]] = mapped_column() - complexity: Mapped[str] = mapped_column(server_default=Complexity.HARD) + complexity: Mapped[str] = mapped_column(default=Complexity.HARD) example_project: Mapped[Optional[str]] = mapped_column() # Relationships @@ -52,7 +52,7 @@ def clone(self) -> "Specification": system_dependencies=self.system_dependencies, package_dependencies=self.package_dependencies, templates=deepcopy(self.templates) if self.templates else None, - complexity=self.complexity, + complexity=self.complexity or Complexity.HARD, example_project=self.example_project, ) return clone