This is an automated email from the ASF dual-hosted git repository.
yasithdev pushed a change to branch modernization
in repository https://gitbox.apache.org/repos/asf/airavata-portals.git
at fe2271051 chore(portal): ignore sqlite WAL/SHM sidecar files
This branch includes the following new commits:
new f830df6d5 refactor: replace Thrift infrastructure with AiravataClient
facade
new 7d1c7e800 refactor: migrate API views.py from Thrift to SDK facade (95
call sites)
new 39c0047a0 build: add Tiltfile for portal development
new f85d5e8ec refactor: delete portal-sdk, portal-commons, cookiecutters;
merge templates into portal
new c1b5678cf refactor: migrate remaining Thrift type imports to proto
compatibility layer
new 6a98cf703 refactor: Django 3.2 -> 5.1, Wagtail 2.x -> 6.x namespace
migration
new 132d75d69 build: pyproject.toml, Python 3.12+, modern dependencies
new f6b3cd93c refactor: remove obsolete thrift_utils.py (replaced by
proto_utils.py)
new ecbf56d7a build: replace Webpack with Vite across all frontend apps
new 1d9b60051 refactor: migrate Vue 2 to Vue 3, update router and state
management
new f7fe7db65 refactor: replace bootstrap-vue with Bootstrap 5
new e9be3333c build: update Dockerfile for Python 3.12, Node 22, Vite
builds
new be8e1b543 style: apply ruff formatting, upgrade Python syntax to 3.12
patterns
new 54a3b4991 docs: update README for modernized portal stack
new 9e8593eca fix: replace portal-sdk user_storage/experiment_util imports
with SDK facade calls
new 3abcc7784 build: replace pip with uv, add ty type checker and
pre-commit hooks
new 9c82698e2 build: clean up legacy configs, add npm workspace, simplify
build scripts
new f8c1d0362 ci: modernize GitHub workflow — uv, Python 3.12, ruff, ty
new 85db32694 feat: add type hints to core API files (10 files, ~200
functions)
new 36251dd8d fix: resolve ty-found import errors — wagtail namespace,
django.urls, pkg_resources
new 6aebc442a fix: resolve ty type errors, add AiravataRequest type stub
new 33749b1a3 style: fix all ruff lint errors in non-migration code
new 8fe81b43f fix: resolve runtime dependency issues for portal startup
new d8e0c2115 feat: add default_project_created flag to
WorkspacePreferences
new edd8f1e53 feat: remove Experiments and Datasets from top-level sidebar
nav
new 2c8a06676 feat: add BreadcrumbNav shared component to common-ui
new 33f56a3e3 feat: restructure workspace URLs with project-scoped
experiments and datasets
new a1d4e33ee feat: add project overview view, default project
auto-creation, and breadcrumb data to all views
new fe351eb82 feat: add breadcrumb and project_id data attributes to
workspace templates
new cb9f1c0fa feat: add project overview dashboard with recent experiments
and datasets
new 64dffa75a feat: update URL helpers and project list to link to project
overview
new 7a2778cb9 feat: scope experiment list to project with breadcrumb
navigation
new 47e2a4c49 feat: scope datasets container to project with breadcrumb
navigation
new 0bea15f14 feat: add project deletion with cascading confirmation modal
new bca6f889f feat: add cascading project deletion — block if running
experiments, delete all experiments then project
new 1688e774c feat: SDK facade migration baseline — portal, admin, auth,
API, tests
new 37de01bcf feat: add proto_to_dict/dict_to_proto helpers for direct
proto serialization
new b632dba17 refactor: rewrite research-backed ViewSets to use
proto_to_dict, eliminate serializers
new c6a4f9ecc refactor: rename JS model fields and Vue components from
camelCase to snake_case (research domain)
new fff5d1860 refactor: rewrite compute-backed ViewSets to use
proto_to_dict
new 8ef5d3635 refactor: rename compute JS models and Vue components to
snake_case
new c4de45835 refactor: rewrite sharing, storage, credential and IAM
ViewSets to use proto_to_dict
new 5df8c9dfc refactor: rename sharing/IAM JS models, Vue components, and
session to snake_case
new f7c89f6b8 refactor: rename storage JS models and Vue components to
snake_case
new 0fc1516c9 refactor: rename credential and admin JS models to snake_case
new 55af89b60 refactor: rewrite remaining utility views to return plain
dicts
new a7c0f9106 refactor: delete proto_utils and serializers — dead code
removal
new 26d8ecd43 fix: add future annotations import to fix Python 3.12 type
hint error
new 255760cb8 fix: complete camelCase to snake_case migration in remaining
JS/Vue files
new 52113f0df fix: rename projectID to project_id in ProjectList.vue key
binding
new e0501607e fix: replace remaining camelCase proto field accesses with
snake_case in helpers, context_processors, views
new 0f7be7c4e fix: remove gateway_id arg from get_group_resource_list
(facade uses metadata)
new c20ca5cd0 fix: add strict typing, structured SSH error classification
in Django portal
new b2a38449f feat: add sync_slurm_accounting Django view with strict
typing
new 36d63d6dc fix compat issues with new airavata api
new 0d8de8425 fix(research-portal): align catalog calls with backend
gRPC-HTTP transcoding
new cfcfe04ba fix(django-portal): defensively set airavata_client in
OAuthAuthentication and guard initialize_user_profile
new a1374738e fix(workspace): use proper URL route for storage detail
instead of hash fragment
new 0f0301432 feat(workspace): proper URL routing for storage detail +
file tree browser
new 9fef799f7 fix(api): handle response from create_group_resource_profile
to retrieve profile_id
new ff0ebd46f feat(storage): Type/Owner/Status columns; row click
navigates to detail
new 259d0e602 feat(ui): make compute/applications/projects/groups table
rows clickable
new 68f82730c fix(auth): read gateway admin flags from JWT realm roles
(removes sharing call)
new 091ca6803 feat(auth): auto-provision personal project + Gateway
membership on first login
new b20604462 feat(portal): project detail page shows Members card
new 601b21a06 feat(portal): project detail page shows Resources card (PRP
editor)
new aff2b2c48 refactor(portal): delete groups app and /resources/sharing
routes
new dbaef75ce fix(portal): restore Resources sidebar section
(Storage/Compute/Credentials)
new 601a6fb49 refactor(portal): remove stale GroupService callers from Vue
components
new e7c18e25d feat(auth): first-login signal auto-registers UserProfile +
joins system projects
new b622ea903 refactor(portal): delete dead group_resource_profile admin UI
new 1a0b2a74e refactor(portal): complete group→project resource profile
rename
new 543b0c2eb fix(portal-tiltfile): auto-load wagtail CMS default theme on
first tilt up
new e2f709352 fix(portal-tiltfile): CMS load non-fatal so portal still
boots
new 3724437c5 feat(portal): auto-generate settings_local.py on fresh clone
new 862b715f6 fix(portal): modernize new_default_theme fixture for Wagtail
6
new a6afa3def fix(portal): UI issues surfaced by default-admin walkthrough
new 6aa41c9b3 fix(portal): propagate realm_access + groups claims, read
project membership from Keycloak
new d45ee9183 feat(portal): wire ProjectResourceProfileViewSet to real
server data
new 2725d4fea fix(portal): rename Vue 2 destroyed/beforeDestroy hooks to
Vue 3 names
new e96aabf43 perf(portal): unblock rapid navbar navigation
new a7a4b3fef perf(portal): share one SSE EventSource across pages via
SharedWorker
new 5a9bfc944 chore(portal): run dev server on uvicorn (ASGI) instead of
Django runserver
new 2f9d13757 docs(spec): airavata-django-portal modernization umbrella
new fe8a1e4b4 docs(plan): umbrella implementation plan for portal
modernization
new fe2271051 chore(portal): ignore sqlite WAL/SHM sidecar files
The 86 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.