11 KiB
Functionality Tracker - Hackerspace.sh
Purpose: Track what works vs what's broken, and document fixes as they're implemented
Last Updated: 2026-03-10
Overall Status Summary
| Module | Status | Issues |
|---|---|---|
| Authentication | PARTIAL | Social auth buttons non-functional |
| Dashboard | WORKING | Minor: stats may not load if no data |
| Tasks | WORKING | All CRUD operations functional |
| Projects | WORKING | All CRUD operations functional |
| Members | WORKING | All CRUD operations functional |
| Contacts | WORKING | All CRUD operations functional |
| Payments | PARTIAL | Only cash/CSV import works |
| Comms (Chat) | BROKEN | Messages don't show up - RLS issue |
| Ops | MOSTLY BROKEN | Tabs non-functional, missing pages |
| Settings | PARTIAL | Integrations UI-only |
| Import | BROKEN | UI mockup only, no functionality |
Critical Issues (Blocking)
1. Chat Messages Not Showing
Status: BROKEN
Symptoms: Users can send messages but they don't appear in the chat
Root Cause: RLS policy issue - messages are being inserted but not selected back
Analysis:
comms_messagestable has RLS policies:messages_select_members(SELECT)messages_insert_members(INSERT)
- The select policy likely checks
space_idmembership but may have issues - Client-side code does direct query:
supabase.from('comms_messages').select('*').eq('channel_id', ...) - Realtime subscription may also be blocked by RLS
Fix Required:
- Check RLS policy definition for messages_select_members
- May need to join through space_members to verify membership
- Realtime needs correct RLS configuration
Fix Status: [ ] NOT STARTED
2. Ops Page Tabs Non-Functional
Status: BROKEN
Symptoms: Clicking tabs does nothing - they're purely decorative buttons
Root Cause: No state management, no tab content switching
Analysis:
- Tabs are static buttons with no onClick handlers that change state
- No conditional rendering based on selected tab
- No client component for tab state
Fix Required:
- Convert to client component or add client tab wrapper
- Add state for active tab
- Add tab content for: Knowledge Base, Processes, Secrets & Credentials, Area Leads
Fix Status: [ ] NOT STARTED
3. Missing Pages - /ops/new and /ops/[id]
Status: BROKEN
Symptoms: Links to /ops/new and /ops/[id] return 404
Fix Required:
- Create
/app/(app)/ops/new/page.tsx- Form to create KB entry - Create
/app/(app)/ops/[id]/page.tsx- View/edit KB entry
Fix Status: [ ] NOT STARTED
4. Import Page - Non-Functional
Status: BROKEN
Symptoms: File upload doesn't work, buttons do nothing
Root Cause: UI mockup only with no actual functionality
Fix Required:
- Add actual file input handler
- Implement CSV parsing (use Papa Parse)
- Implement column mapping logic
- Connect to
importMembersandimportPaymentsCsvserver actions
Fix Status: [ ] NOT STARTED
Payment Platform Integration Research
PayPal
API Available: YES
Method: REST API (Transaction Search API)
Documentation: https://developer.paypal.com/docs/transaction-search/
Integration Approach:
- OAuth 2.0 authentication with Client ID + Secret
- GET
/v1/reporting/transactionsendpoint - Returns transaction history with payer info, amounts, dates
- Can filter by date range, status, etc.
Required Credentials:
- Client ID
- Client Secret
- Sandbox/Live mode toggle
Implementation Complexity: MEDIUM
Status: [ ] NOT IMPLEMENTED
Venmo
API Available: NO (Official)
Method: CSV Export only (Manual)
Documentation: N/A
Reality Check:
- Venmo does NOT provide a public API for businesses
- Business accounts can download CSV from web dashboard
- URL hack available to download full year: manipulate
startDateandendDateparams - Unofficial Python wrapper exists but not recommended
Integration Approach:
- CSV Import ONLY - no live API integration possible
- Provide instructions for users to export from Venmo web
- Parse Venmo CSV format (Date, Amount, Fees, Note, From/To)
Required Credentials: None (CSV import only)
Implementation Complexity: LOW (CSV parsing only)
Status: [ ] NOT IMPLEMENTED
Zeffy
API Available: NO
Method: CSV Export only (Manual)
Documentation: https://support.zeffy.com/how-do-i-export-my-donation
Reality Check:
- Zeffy is a free nonprofit fundraising platform
- NO public API available
- Users must manually export CSV from dashboard
- Export includes: donor name, email, amount, date, form name
Integration Approach:
- CSV Import ONLY - no live API integration
- Provide instructions for Zeffy export
- Parse Zeffy CSV format
Required Credentials: None (CSV import only)
Implementation Complexity: LOW (CSV parsing only)
Status: [ ] NOT IMPLEMENTED
Cash
API Available: N/A
Method: Manual entry
Status: WORKING
The logCashPayment server action is fully functional.
Module-by-Module Analysis
Authentication Module
| Feature | Status | Notes |
|---|---|---|
| Email/Password Login | WORKING | Uses Supabase Auth |
| Email/Password Signup | WORKING | Creates member record on trigger |
| Password Reset | NOT IMPLEMENTED | No forgot password page |
| Google OAuth | BROKEN | Button exists, not configured |
| GitHub OAuth | BROKEN | Button exists, not configured |
| Sign Out | WORKING | Server action works |
Fixes Needed:
- Remove non-functional OAuth buttons OR implement properly
- Add forgot password flow
Dashboard Module
| Feature | Status | Notes |
|---|---|---|
| Task summary | WORKING | Shows open tasks |
| Project summary | WORKING | Shows active projects |
| Payment stats | WORKING | Shows unlinked payments |
| Activity feed | WORKING | Shows recent activity |
| Quick actions | WORKING | Links work |
No Critical Fixes Needed
Tasks Module
| Feature | Status | Notes |
|---|---|---|
| Create task | WORKING | Full form with all fields |
| Claim task | WORKING | Updates status |
| Complete task | WORKING | Marks done |
| Delete task | WORKING | Removes task |
| Filter tasks | WORKING | By status, area |
| Search tasks | WORKING | Client-side search |
No Critical Fixes Needed
Projects Module
| Feature | Status | Notes |
|---|---|---|
| Create project | WORKING | Full form |
| Update status | WORKING | Kanban-style status changes |
| Delete project | WORKING | Removes project |
| View details | PARTIAL | No dedicated detail page |
Minor Improvement: Add project detail page
Members Module
| Feature | Status | Notes |
|---|---|---|
| View members | WORKING | Table with all info |
| Add member | WORKING | Admin-only form |
| Update member | WORKING | Edit modal |
| Remove member | WORKING | Admin-only delete |
| Approve pending | WORKING | For self-signup members |
| Payment status | WORKING | Shows overdue status |
No Critical Fixes Needed
Contacts Module
| Feature | Status | Notes |
|---|---|---|
| Create contact | WORKING | Full form |
| Update contact | WORKING | Edit modal |
| Delete contact | WORKING | Removes contact |
| Filter by type | WORKING | Vendors, Sponsors, etc. |
No Critical Fixes Needed
Payments Module
| Feature | Status | Notes |
|---|---|---|
| Log cash payment | WORKING | Form works |
| Import CSV | PARTIAL | Action exists but UI broken |
| Link to member | WORKING | Assignment works |
| View history | WORKING | Table displays |
| PayPal sync | NOT IMPLEMENTED | Needs API integration |
| Venmo sync | NOT POSSIBLE | CSV import only |
| Zeffy sync | NOT POSSIBLE | CSV import only |
Fixes Needed:
- Implement PayPal API integration
- Fix CSV import UI
- Add Venmo/Zeffy CSV format parsers
Comms (Chat) Module
| Feature | Status | Notes |
|---|---|---|
| View channels | WORKING | List loads |
| Select channel | WORKING | UI updates |
| Send message | BROKEN | Inserts but no display |
| View messages | BROKEN | RLS blocks select |
| Real-time updates | BROKEN | Subscription may fail |
| Create channel | NOT IMPLEMENTED | No UI |
Critical Fixes Needed:
- Fix RLS policy for message selection
- Test realtime subscription
- Add channel creation UI
Ops Module
| Feature | Status | Notes |
|---|---|---|
| Knowledge Base list | WORKING | Shows entries |
| KB entry detail | BROKEN | Page doesn't exist |
| KB create | BROKEN | Page doesn't exist |
| KB edit | BROKEN | Page doesn't exist |
| Processes tab | NOT IMPLEMENTED | Tab decorative |
| Secrets tab | NOT IMPLEMENTED | Tab decorative |
| Area Leads tab | NOT IMPLEMENTED | Tab decorative |
| Search KB | NOT IMPLEMENTED | Input decorative |
Critical Fixes Needed:
- Create /ops/new page
- Create /ops/[id] page
- Make tabs functional
- Implement search
Settings Module
| Feature | Status | Notes |
|---|---|---|
| Space settings | WORKING | Name, city, etc. |
| Member tiers | PARTIAL | UI exists, actions work |
| Payment config | UI ONLY | Platform toggles decorative |
| Integrations | UI ONLY | PayPal/etc forms don't save |
| Webhook config | WORKING | Secret rotation works |
Fixes Needed:
- Connect payment platform toggles
- Make integration saves functional
Import Module
| Feature | Status | Notes |
|---|---|---|
| CSV upload | BROKEN | No file handler |
| Column mapping | BROKEN | UI mockup only |
| Preview | BROKEN | No data |
| Execute import | BROKEN | No functionality |
| Database connector | BROKEN | UI mockup only |
Critical Fixes Needed:
- Implement full CSV import flow
- Connect to existing server actions
Fix Priority Order
- CRITICAL - Chat messages (core feature completely broken)
- CRITICAL - Ops tabs and pages (half the page non-functional)
- HIGH - Import page (needed for onboarding)
- HIGH - Payment CSV import (Venmo/Zeffy require this)
- MEDIUM - PayPal API integration (only platform with API)
- LOW - OAuth buttons (remove or implement)
- LOW - Password reset (nice to have)
Implementation Progress
Fix 1: Chat Messages
- Audit RLS policy for comms_messages
- Fix SELECT policy to allow member access
- Test message sending and receiving
- Verify realtime subscription works
Fix 2: Ops Module
- Create /ops/new page with form
- Create /ops/[id] page with view/edit
- Add client component for tab switching
- Implement Processes tab content
- Implement Secrets tab content
- Implement Area Leads management
- Add working search
Fix 3: Import Module
- Add file input with onChange handler
- Install and use Papa Parse for CSV
- Build column mapping state machine
- Create preview table
- Connect to importMembers action
- Connect to importPaymentsCsv action
Fix 4: Payment Platform Integration
- Build PayPal OAuth flow
- Implement transaction fetch
- Build Venmo CSV parser
- Build Zeffy CSV parser
- Create unified import UI
Notes
- Database schema is solid, most issues are frontend/RLS
- Server actions are comprehensive, just need UI connections
- Most "broken" features have backend support, just need wiring