Skip to content

Review issues and migrate tabs folder#143

Closed
BenGWeeks wants to merge 93 commits intomainfrom
claude/review-issues-migrate-tabs-AkjtN
Closed

Review issues and migrate tabs folder#143
BenGWeeks wants to merge 93 commits intomainfrom
claude/review-issues-migrate-tabs-AkjtN

Conversation

@BenGWeeks
Copy link
Copy Markdown
Collaborator

The Zaplie Web App has been moved to the separate repository knowall-ai/zaplie-webapp and is now hosted at zaplie.knowall.ai.

This commit removes the duplicate tabs folder from this repository and updates the README to point to the new location.

BenGWeeks and others added 30 commits September 28, 2024 18:49
…hancements (#29)

* updated env varibale. Fixed the wallet tabs filtering and fetched the  correct details.

* Code review feedback fix

* Added message if no transactions

* Added transaction type

* Resolved confusion in code between zaps and transactions

- Renamed fetchZaps to fetchTransactions
- Rephrased catch statement that error is about getting transactions not users
- Renamed use of `zaps` to `transactions`

* Fix Zap match (tag not type)

---------

Co-authored-by: Ben Weeks <ben.weeks@outlook.com>
on-behalf-of: @Azure opensource@microsoft.com
* Enhancement 91756: Product details display if there is product details saved for the item

* Bug 91757: When text is too long use ...

* Enhancement 91758: Display only Close button when not enough fund

* Amended pop-up text

---------

Co-authored-by: Ben Weeks <ben.weeks@outlook.com>
* Updated bot manifest file. Added staticwebapp file for routing to fix 404 errors

* updating manifest files and workflow

* Manifest updated

* fixed duplicate tab names in the bot

* Added environment variables in workflow

* Updated the StaticWebapp.config to exclude API endpoints

* Added new file to update .env files with the LNBits variables in the env.dev file

* Bug 91658: The redirect URI 'http://localhost:3000/'

* Fixed issue with LNBits variables,Added RequireAuth to pages

* Added Store Owner environment variable

* Running scripts updated

* Added scripts to replace Content and Website URL links in the bot

* removed old workflow file

---------

Co-authored-by: Mario DeSousa <Mario.DeSousa@evros.ie>
* Bug 91649: Incorrect cursor appearance when hover over

* Enhancement 91754: When no image in reward display default image instead
* updated logic in userService.ts

* Added in deleted code to check if user and wallets are created.

* added automatic topup on new allowance wallets

* removed hardcoded URL and updated Accesstoken in the topup wallet

* removed hardcoded URL and updated Accesstoken in the topup wallet

* Initial updates

- Removed globalstate as that's what userService essentially does
- Simplified teamsBot somewhat
- Updated middleware
- Moved code to logical ensureUserSetup
- Removed duplicate code

* Amends to messages and removed unnecessary code

* Re-implemented filtering but not in GetUsers

* Reverted to currentUser implementation

Will need to check how the solution behaves concurrently.

* Resolving conflict

* Added Sign out to footer.

* Initial allowance updates

- Use environment variable
- Only top-up if empty

---------

Co-authored-by: Mario DeSousa <Mario.DeSousa@evros.ie>
Co-authored-by: Ben Weeks <ben.weeks@outlook.com>
…ing environments (#44)

* Update the test build and deploy pipeline

* Specifically set Git permissions so workflow is permitted to write back to PR

* Updated app registration for staged apps

* Minor update to secret
* Uploaded Test workflow for evrosDemo

* Update azure-static-web-apps-calm-smoke-0bd84271e.yml

* Update azure-static-web-apps-calm-smoke-0bd84271e.yml

* Update and rename azure-static-web-apps-calm-smoke-0bd84271e.yml to UAT-release.yml

* Update UAT-release.yml

* Create Prod-release.yml

* Update Prod-release.yml

* Update Prod-release.yml

* Delete .github/workflows/UAT-release.yml

* Rename Prod-release.yml to azure-static-web-apps-prod.yml
* updated logic in userService.ts

* Added in deleted code to check if user and wallets are created.

* added automatic topup on new allowance wallets

* removed hardcoded URL and updated Accesstoken in the topup wallet

* removed hardcoded URL and updated Accesstoken in the topup wallet

* Initial updates

- Removed globalstate as that's what userService essentially does
- Simplified teamsBot somewhat
- Updated middleware
- Moved code to logical ensureUserSetup
- Removed duplicate code

* Amends to messages and removed unnecessary code

* Re-implemented filtering but not in GetUsers

* Reverted to currentUser implementation

Will need to check how the solution behaves concurrently.

* Resolving conflict

* Added Sign out to footer.

* Initial allowance updates

- Use environment variable
- Only top-up if empty

* Fixed yaml workflow to deploy to azure, Changed te allowance topup condition.

* Fixed issues with deploy function to Azure

* Removd Test enviroment variables, Update Gitignore file

* Gitignore was updated.

* Removed duplicate EnsureUserSetup calls in the bot

* removed details in the env.dev file

---------

Co-authored-by: Mario DeSousa <Mario.DeSousa@evros.ie>
Co-authored-by: Ben Weeks <ben.weeks@outlook.com>
* Refactored and removed warnings

* Resolved cancelling sign-in and proper handling of not authenticated
Co-authored-by: Mario DeSousa <Mario.DeSousa@evros.ie>
* The code conflict has been removed.

* Remove submodules to be excluded from workflow
* Fixing Azure login and removed Manual deployment

* Replace Azure login method

* fixed web.redirect to spa.redirect

* Changed method to up App SPA redirect

* change method to Rest as other method not supported

* added shell type in action

* reviewing all variables.

* declaring outputs on job

* added a echo step

* Update step output to correct output value

* fixing errors

* removed spacing

* updated steps to remove the URL after PR

* fixing errors

* fixing errors

* adding logic to see if URL exists

* updated Prod workflow
* PR

* Enhancement 97674: Introduce paginated feed

* I implemented a code fix for the SignOutButton.tsx file
…tton (#60)

* Change Zaps Amount type and added regex expression

* updated regex to ensure number greater 0 are entered
akash2017sky and others added 26 commits November 20, 2025 13:23
- Changed app-name from 'zaplie-dev' to 'zaplie-prod-webapp'
- Removed slot management logic (not needed for production)
- Added web.config for Azure App Service IIS configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Removed OIDC authentication (requires federated credentials setup)
- Using publish profile for simpler authentication

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
React environment variables need to be set at build time to be baked into the bundle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This allows using repository-level secrets instead of environment-specific secrets.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Detect Teams environment before initializing Teams SDK
- Prevent duplicate loginPopup calls that cause interaction_in_progress error
- Check for Teams using window.name, user agent, and URL parameters

This fixes login in regular browsers while maintaining Teams functionality.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Added handleRedirectPromise() to properly handle MSAL redirects on page load
- Added check to prevent login when interaction is already in progress
- Import InteractionStatus to track MSAL interaction state

This resolves the "interaction is currently in progress" error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Disable button when interaction is in progress
- Clear stale interaction status flags from storage
- Show "Signing In..." text while authenticating
- Add detailed logging for interaction status

This prevents double-clicks and clears stuck MSAL flags.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Changed browser login from popup to redirect flow (more reliable)
- Fixed redirectUri to use origin instead of /auth-end
- Added allowRedirectInIframe: false to prevent iframe issues

Redirect flow avoids popup blocker and interaction_in_progress errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Wait for handleRedirectPromise() to complete before rendering app
- Made initialization async/await to ensure proper sequencing
- Added logging for successful login
- App now renders AFTER authentication is processed

This prevents blank screen when redirecting back from Microsoft login.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated from 2.5.1 to latest version (2.7+)
- Fixes "l.default.scale is not a function" error
- Resolves d3-scale compatibility issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Claude/issue 108 20251119 0734 - Migration from usermanager to core user API #122
* feat: Implement "Send some zaps" popup for Allowance wallet

- Created SendZapsPopup component with user selection, amount input, and memo field
- Integrated with existing LNbits service for zap transactions
- Added balance validation before sending
- Implemented success/error feedback UI
- Added "Send some zaps" button to WalletAllowanceComponent
- Includes search/filter functionality for user selection

Closes #126

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>

* Created the send zap popup and added UI popup

* Modified teh design to place the button

* Removed the GUI loading of the users

* fixed the code review comments for statemanagement, wallet callback

* code review comments

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>
* feat: Hide navigation menu in Microsoft Teams integration

- Created useTeamsContext hook to detect Teams environment
- Updated FooterComponent to conditionally hide navigation in Teams
- Navigation now shows in standalone web app and hides in Teams bot

Resolves #124

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>

* Updated the Menu display conditionally. left the power by KnowAll ai

* Highlighted the selected menu

* fixed the code review comments

* Code review comments fixed for the header menu navigation

* Medium code review comments fixed

* Removed wiki handle duplicate navigation

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>
#136)

* Updated the code to only display payments from allowance wallet to private

* Fixed the code review comments for logging, Null check and Missing Receiver Match

* fixed the Performance, Wallet tracking and Null saftey checks comments

* Code review comments better quality and Error in Transaction Filtering
* Fix wallet transaction fetch error by validating inkey before API calls

- Add null check for wallet inkey in WalletTransactionLog component
- Add conditional transaction fetch in WalletAllowanceComponent
- Provide clear error messages when wallet not found
- Prevent 'Failed to fetch' errors on wallet screens

Fixes #135

Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>

* Updated the Allowance and Private wallet feedlist on the wallet screen

* Modified the feedlist to individual wallet fetch

* Fixed the Feed filtering issue

* Fixed the broken wllet feed screen

* Code review comments fixed

* Code review from claude. Error handling, variable names and Module-Level State in Service File

* Fixed the final code review changes.

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: akash2017sky <akash2017sky@users.noreply.github.com>
The Zaplie Web App has been moved to the separate repository
knowall-ai/zaplie-webapp and is now hosted at zaplie.knowall.ai.

This commit removes the duplicate tabs folder from this repository
and updates the README to point to the new location.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Jan 3, 2026

Pull Request Review: Migration of Zaplie Web App

Summary

This PR successfully migrates the Zaplie Web App to a separate repository (knowall-ai/zaplie-webapp) and removes the duplicate tabs folder from this repository. The changes are clean and appropriate for this architectural improvement.

✅ Strengths

1. Clean Separation of Concerns

  • Moving the web app to its own repository is a good architectural decision that will make maintenance and deployment easier
  • Each repository can now have its own CI/CD pipeline and versioning strategy

2. Documentation Updates

  • The README has been properly updated with clear references to the new repository location
  • The new location (https://zaplie.knowall.ai) is documented for users

3. Proper Cleanup

  • All 132 files related to the tabs folder have been removed
  • The migration appears to be complete with no orphaned references in the main codebase

⚠️ Issues & Recommendations

1. CRITICAL: Security Concern - Credentials Committed

File: tabs/.env.development (line 2-11)

The deleted file contained hardcoded credentials including:

  • LNbits admin keys
  • Passwords
  • API keys
  • Tenant IDs
  • Client IDs
REACT_APP_LNBITS_PASSWORD=vKE9Ha&DQ*7YVs4q%skb
REACT_APP_LNBITS_ADMINKEY=8becdcec2da040949b8bdddf0ebd2476

Action Required:

  1. ✅ These credentials are being removed from the repository (good!)
  2. IMPORTANT: These credentials are still in the git history and should be considered compromised
  3. 🔒 You must rotate ALL credentials that were in this file:
    • Reset the LNbits admin key
    • Change the LNbits password
    • Rotate the Azure AD client credentials if possible
    • Update these in the new webapp repository using proper secrets management

Recommendation: Consider using git-filter-repo or BFG Repo Cleaner to remove these credentials from git history entirely.

2. Incomplete Cleanup - tsconfig.json

File: tsconfig.json:19

The tsconfig.json still excludes "tabs" in the exclude array:

"exclude": ["node_modules","tabs", "functions"]

Recommendation: Since the tabs folder no longer exists, remove it from the exclude array:

"exclude": ["node_modules", "functions"]

3. Potential References to Check

Please verify there are no remaining references to the tabs folder in:

  • GitHub Actions workflows (.github/workflows/)
  • Any deployment scripts or configuration files
  • Package.json scripts
  • Environment variable files

I noticed workflow files that might reference tabs:

  • .github/workflows/Azure_App_Service_zaplie-prod.yml
  • .github/workflows/Azure_App_Service_zaplie-test.yml

Please confirm these don't have any hardcoded references to the tabs folder.

4. Missing Migration Documentation

Recommendation: Consider adding a note in the PR description or a migration guide explaining:

  • Why the separation was done
  • What developers should do if they were working on tabs-related features
  • How to set up the new webapp repository
  • Any environment variables that need to be migrated

📝 Testing Checklist

Before merging, please confirm:

  • The bot still builds and runs without the tabs folder
  • No runtime errors related to missing tabs references
  • The new webapp repository is properly set up and accessible
  • All credentials have been rotated
  • CI/CD pipelines are updated (if needed)
  • Team members are aware of the new repository structure

🔒 Security Score: 3/10 (Critical - Credentials Exposed)

While the code changes themselves are clean, the historical exposure of credentials in the .env.development file is a critical security issue that must be addressed immediately.

📊 Code Quality: 9/10

The migration itself is well-executed with minimal changes needed (just the tsconfig cleanup).

Overall Recommendation: ⚠️ CONDITIONAL APPROVAL

Approve AFTER:

  1. All credentials from tabs/.env.development are rotated
  2. The tsconfig.json is updated to remove "tabs" from exclude array
  3. Verification that no other files reference the tabs folder

The architectural decision and execution are solid, but the security concern must be addressed before merging.


Great work on the repository reorganization! The separation of concerns will make the project easier to maintain going forward.

- Added .env.development and .env.*.local to .gitignore
- Removed tabs/.env.development from entire git history using filter-branch
- Added security note clarifying the removed file contained fake/void wallet
  credentials used only for local development testing (throwaway environment)
@BenGWeeks BenGWeeks closed this Jan 3, 2026
@BenGWeeks BenGWeeks force-pushed the claude/review-issues-migrate-tabs-AkjtN branch from 782a38d to 1805a61 Compare January 3, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants