{"id":28203872,"url":"https://github.com/fisapool/subi","last_synced_at":"2025-06-10T14:30:51.758Z","repository":{"id":289673043,"uuid":"971164469","full_name":"fisapool/subi","owner":"fisapool","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-02T14:30:46.000Z","size":13358,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-17T03:14:38.222Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fisapool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-23T05:42:06.000Z","updated_at":"2025-05-02T14:30:51.000Z","dependencies_parsed_at":"2025-04-24T13:51:51.961Z","dependency_job_id":null,"html_url":"https://github.com/fisapool/subi","commit_stats":null,"previous_names":["fisapool/subi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisapool%2Fsubi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisapool%2Fsubi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisapool%2Fsubi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisapool%2Fsubi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fisapool","download_url":"https://codeload.github.com/fisapool/subi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fisapool%2Fsubi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259092544,"owners_count":22804034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-17T03:15:27.243Z","updated_at":"2025-06-10T14:30:51.750Z","avatar_url":"https://github.com/fisapool.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FISABytes Sessions\n\nA powerful browser extension for managing sessions, tabs, and cookies across different browsers. This extension combines efficient session management with advanced cookie handling capabilities.\n\n## Overview\n\nFISABytes is a professional-grade browser extension that provides comprehensive session and cookie management tools. It allows users to save, restore, and transfer browser sessions while also managing cookies across different browsers or sessions.\n\n## Features\n\n- Session Management\n  - Save and restore browser sessions\n  - Tab management and organization\n  - Cross-device session synchronization\n  - Customizable settings\n  - Keyboard shortcuts for quick actions\n\n- Cookie Management\n  - Export browser cookies to file\n  - Import cookies from previously exported files\n  - Cross-browser cookie management\n  - Secure cookie handling\n  - User-friendly popup interface\n  - Session cookie monitoring and protection\n  - Cookie consent management\n\n- Productivity Features\n  - Focus mode for productivity\n  - Meeting mode for muting distracting tabs\n  - Session activity logging\n\n- General Features\n  - Multi-language support (English, German, French, Russian, Vietnamese)\n  - Offline functionality\n  - Modern security practices\n  - Comprehensive error handling\n\n## Technical Stack\n\n- TypeScript\n- Chrome/Firefox Extension (Manifest V3)\n- Service Worker for background operations\n- Modern security practices\n- Comprehensive error handling\n\n## Test Coverage\n\nThe project maintains comprehensive test coverage across all major components:\n\n### Core Components\n\n- SessionManager: 100% coverage\n  - Session operations\n  - Tab management\n  - State synchronization\n- CookieManager: 100% coverage\n  - Cookie operations\n  - Error handling\n  - State management\n- StorageManager: 100% coverage\n  - Storage operations\n  - Data persistence\n  - State synchronization\n\n### Test Categories\n\n- Unit Tests: Core functionality and individual components\n- Integration Tests: Component interactions and workflows\n- Security Tests: Validation and security measures\n- Edge Cases: Error conditions and boundary scenarios\n\n### Current Status\n\n- Total Test Files: 5\n- Passing Tests: 51/54\n- Coverage: ~94%\n- Remaining Issues: E2E tests require Puppeteer configuration\n\nTo run the tests:\n\n```bash\nnpm test\n\n# Run end-to-end tests\nnpm run test:e2e\n\n# For coverage report\nnpm test -- --coverage\n```\n\n## Installation\n\n### Development Mode\n\n1. Clone the repository\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n3. Build the extension:\n   ```bash\n   npm run build\n   ```\n4. Load the extension in your browser:\n   - Chrome: Go to `chrome://extensions/`\n   - Enable \"Developer mode\"\n   - Click \"Load unpacked\"\n   - Select the `dist` directory\n\n### Production Mode\n\nThe extension will be available on the Chrome Web Store (link coming soon).\n\n## Development\n\nThe project structure is organized as follows:\n\n```\nFISABytes/\n├── src/\n│   ├── core/           # Core application logic\n│   ├── utils/          # Utility functions\n│   └── tests/          # Test files\n├── assets/             # Static assets and icons\n├── components/         # Reusable UI components\n├── types/             # TypeScript type definitions\n├── validation/        # Validation related code\n├── security/          # Security related code\n├── errors/            # Error handling\n├── _locales/          # Internationalization files\n├── manifest.json      # Extension manifest\n├── popup.html         # Extension popup interface\n├── settings.html      # Extension settings page\n├── background.js      # Background service worker\n├── content-script.js  # Content scripts\n└── service-worker-loader.js\n```\n\n## Permissions\n\nThe extension requires the following permissions:\n\n- `tabs`: For managing browser tabs\n- `storage`: For storing extension data\n- `cookies`: For cookie management\n- `activeTab`: For accessing active tab data\n- `scripting`: For executing scripts in tabs\n- `alarms`: For scheduled tasks\n\n## Security\n\nFISABytes implements strict security measures:\n\n- Content Security Policy (CSP)\n- Secure cookie handling\n- Protected storage mechanisms\n- Input validation\n- Secure session management\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\nFor support, please open an issue in the GitHub repository or contact the maintainers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffisapool%2Fsubi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffisapool%2Fsubi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffisapool%2Fsubi/lists"}