Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: unfault/unfault
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.57
Choose a base ref
...
head repository: unfault/unfault
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.0.58
Choose a head ref
  • 2 commits
  • 11 files changed
  • 1 contributor

Commits on Jul 1, 2026

  1. fix: capture Flask blueprint url_prefix and FastAPI APIRouter constru…

    …ctor prefix
    
    Flask:
    - Add url_prefix: Option<String> to FlaskBlueprint, populated from
      Blueprint(..., url_prefix=...) constructor kwarg
    - Add BlueprintRegistration struct + blueprint_registrations field on
      FlaskFileSummary, capturing app.register_blueprint(bp, url_prefix=...)
      call sites (receiver-agnostic — works for flask-smorest Api.register_blueprint)
    - add_flask_nodes (core + analysis) builds a blueprint_prefix map before
      iterating routes; registration-time prefix wins over constructor prefix,
      mirroring Flask's own precedence rules
    - Works for plain @bp.route handlers, flask-smorest MethodView classes, and
      the custom action_route pattern
    
    FastAPI:
    - Add FastApiRouterInstance struct + router_instances field on FastApiFileSummary,
      capturing router = APIRouter(prefix=...) constructor calls
    - add_fastapi_nodes seeds router_prefix from router_instances (lowest priority)
      before include_router calls (highest priority), so the standard split-file
      pattern of APIRouter(prefix=) + route decorators in the same file resolves
      correctly
    
    Also fixed a latent bug: Flask extractor picks up @router.get() decorators in
    FastAPI files (identical syntax). add_flask_nodes now skips handlers already
    registered by add_fastapi_nodes; add_fastapi_nodes creates the Function node
    itself when add_function_nodes skipped it (which it does for all framework
    handlers via handler_names_to_skip).
    Lawouach committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    8b50eef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8392e82 View commit details
    Browse the repository at this point in the history
Loading