Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9b0d34b
Initial
diluteoxygen Jan 14, 2023
df306fd
Update README.md
diluteoxygen Jan 14, 2023
141e469
Icons
diluteoxygen Jan 14, 2023
62674eb
Merge branch 'master' of https://github.com/diluteoxygen/Extensity
diluteoxygen Jan 14, 2023
cbc87c1
Update Strings
diluteoxygen Jan 14, 2023
ecc0113
Add files via upload
diluteoxygen Nov 7, 2024
61b5e8e
Initial plan
Copilot Feb 12, 2026
97fe9bf
Add comprehensive improvement roadmap in Update.md
Copilot Feb 12, 2026
c990480
Merge pull request #1 from diluteoxygen/copilot/suggest-code-improvem…
diluteoxygen Feb 12, 2026
6217774
Initial plan
Copilot Feb 13, 2026
c49404c
Fix critical error handling issues
Copilot Feb 13, 2026
232e9cb
Migrate to Manifest V3 with CSP
Copilot Feb 13, 2026
89b7e90
Address code review feedback: add error handling and fix naming consi…
Copilot Feb 13, 2026
02e9fc5
Use strict equality operators in migration.js
Copilot Feb 13, 2026
8366dc1
Improve code style: use dot notation for property access
Copilot Feb 13, 2026
0dded06
Remove dead code: unused function b() in migration.js
Copilot Feb 13, 2026
d3b93d2
Improve clarity and defensive coding in storage initialization
Copilot Feb 13, 2026
d43aaa3
Fix defensive check logic in profile storage retrieval
Copilot Feb 13, 2026
fba56df
Merge pull request #2 from diluteoxygen/copilot/update-critical-funct…
diluteoxygen Feb 13, 2026
48a199e
Update .gitignore
diluteoxygen Feb 13, 2026
0284868
Initial plan
Copilot Feb 14, 2026
4676e6b
Update dependencies and modernize JavaScript to ES6+
Copilot Feb 14, 2026
00d297f
Update documentation and version to 0.2.0
Copilot Feb 14, 2026
2b72470
Improve typeFilter function to use functional style
Copilot Feb 14, 2026
81d4f50
Add progress summary to UPDATE.md
Copilot Feb 14, 2026
e5b0fee
Revise update priorities and complete task entries
diluteoxygen Feb 14, 2026
cd61918
Add Import/Export functionality for profiles
Copilot Feb 14, 2026
bcd4e66
Update documentation for Import/Export feature
Copilot Feb 14, 2026
ddb563f
Add keyboard shortcuts support
Copilot Feb 14, 2026
52cd244
Update documentation for keyboard shortcuts feature
Copilot Feb 14, 2026
1ea4bf1
Address code review feedback and improve robustness
Copilot Feb 14, 2026
806a06b
Centralize magic strings into constants.js
Copilot Feb 14, 2026
9478cb4
Add profile name validation
Copilot Feb 14, 2026
db5c932
Add ESLint configuration for code quality
Copilot Feb 14, 2026
605aef2
Update documentation for Low Priority improvements
Copilot Feb 14, 2026
a3d84fa
Merge pull request #4 from diluteoxygen/copilot/update-performance-mo…
diluteoxygen Feb 14, 2026
e950bba
Merge branch 'master' into copilot/update-critical-functionalities
diluteoxygen Feb 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"extends": "eslint:recommended",
"env": {
"browser": true,
"es6": true,
"webextensions": true
},
"parserOptions": {
"ecmaVersion": 2017,
"sourceType": "script"
},
"globals": {
"ko": "readonly",
"_": "readonly",
"chrome": "readonly"
},
"rules": {
"no-unused-vars": ["warn", {
"args": "none",
"varsIgnorePattern": "^(fadeOutMessage|DismissalsCollection|OptionsCollection|ProfileModel|ProfileCollectionModel|ExtensionModel|ExtensionCollectionModel|boolean|RESERVED_PROFILES|init|visitedProfiles)$"
}],
"no-console": "off",
"no-extra-semi": "warn"
},
"overrides": [
{
"files": ["js/migration.js"],
"globals": {
"importScripts": "readonly",
"RESERVED_PROFILES": "readonly"
}
},
{
"files": ["js/engine.js"],
"globals": {
"RESERVED_PROFILES": "readonly"
}
},
{
"files": ["js/index.js", "js/options.js", "js/profiles.js"],
"globals": {
"fadeOutMessage": "readonly",
"DismissalsCollection": "readonly",
"OptionsCollection": "readonly",
"ProfileModel": "readonly",
"ProfileCollectionModel": "readonly",
"ExtensionModel": "readonly",
"ExtensionCollectionModel": "readonly",
"RESERVED_PROFILES": "readonly"
}
}
]
}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
dist/
.project
*.bak
node_modules/
.env
12 changes: 12 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@
npm install -g uglify-js csso-cli
```

## Development

### Linting

To check code quality with ESLint:

```bash
npm install # Install dev dependencies (first time only)
npm run lint # Check for issues
npm run lint:fix # Auto-fix some issues
```

## Building

To build the distributable version, just run:
Expand Down
76 changes: 76 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@

# Contributing to Rextensity

Thank you for considering contributing to Rextensity! Your support and involvement help improve the project for everyone.

## Table of Contents
- [Code of Conduct](#code-of-conduct)
- [How to Contribute](#how-to-contribute)
- [Issues](#issues)
- [Pull Requests](#pull-requests)
- [Setting Up Your Development Environment](#setting-up-your-development-environment)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)

---

## Code of Conduct
Please review and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) to maintain a respectful and collaborative environment.

## How to Contribute
There are several ways to contribute:
1. **Reporting Bugs** – Let us know about any issues you encounter.
2. **Suggesting Features** – Share your ideas for improving Rextensity.
3. **Contributing Code** – Tackle an open issue or propose new features.
4. **Improving Documentation** – Help keep documentation clear and up-to-date.

## Issues
1. Check existing issues to see if your issue has already been reported.
2. If it hasn’t, create a [new issue](https://github.com/diluteoxygen/Rextensity/issues) and provide detailed information.

## Pull Requests
1. **Fork** the repository and **clone** it locally.
2. Create a new branch: `git checkout -b feature-name`.
3. Make your changes, following the project's code style.
4. Test your changes thoroughly.
5. Commit and push your changes to your forked repository.
6. Create a pull request (PR) from your branch to the main branch of Rextensity:
- Provide a clear and descriptive title for your PR.
- Explain the purpose and scope of your changes in the description.

### Guidelines
- Follow coding conventions and style guides as per the project.
- Document any new functions or components.
- Write tests for new features and ensure all tests pass.

## Setting Up Your Development Environment
1. Clone the repository:
```bash
git clone https://github.com/diluteoxygen/Rextensity.git
```
2. Navigate to the project directory:
```bash
cd Rextensity
```
3. Install the dependencies:
```bash
# For example, if using npm
npm install
```
4. Start the development server:
```bash
npm start
```

## Reporting Bugs
To report a bug:
- Describe the problem and steps to reproduce it.
- Mention the expected vs. actual behavior.
- Include screenshots or logs if applicable.

## Suggesting Enhancements
When suggesting a feature:
- Explain the motivation and use case.
- Provide relevant context and details to guide development.

Thank you for contributing to Rextensity!
116 changes: 16 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Extensity
## Rextensity

### Quickly enable/disable Google Chrome extensions

Expand All @@ -17,110 +17,26 @@ get rid of it for a little while. You can also launch Chrome Apps right from the

Extensity is open source software. Full source code at GitHub https://github.com/sergiokas/Extensity

Install it from the [Chrome Web Store](https://chrome.google.com/webstore/detail/extensity/jjmflmamggggndanpgfnpelongoepncg).

Website: [https://sergiokas.github.io/Extensity/](https://sergiokas.github.io/Extensity/)

Follow us in Twitter: [@ExtensityChrome](https://twitter.com/ExtensityChrome)
Follow us Extensity Twitter: [@ExtensityChrome](https://twitter.com/ExtensityChrome)

### What's new:

v1.11.0 (Sep 2020)
- **New Feature**: Added "Always On" profile

v1.10.0 (Jan 2019)
- Save Profiles locally when the amount of data exceeds Google's quota.

v1.9.0 (Sep 2018)
- Removed `chrome.tabs` API dependency

v1.8.0 (Ago 2018)
- Removed jQuery dependency
- Updated build system

v1.7.0 (Ago 2018)
- Added icon for developer extensions

v1.6.0 (Jul 2018)
- **New Feature**: Added extension/app icon to access the options page

v1.5.0 (Jun 2018)
- Added visual indication of the currently active profile

v1.4.0 (Jan 2018)
- **New Feature**: Sync between computers through Chrome Storage

v1.3.1 (Nov 2017)
- Changed profiles icon, minor visual changes

v1.3.0 (Feb 2017)
- **New Feature**: Search box for extensions and apps
- Temporary workaround for [Chromium bug](https://bugs.chromium.org/p/chromium/issues/detail?id=307912)

v1.2.4 (Sept 2016)
- Added option to show enabled Extensions first

v1.2.3 (May 2016)
- Updated compatibility for ChromeOS

v1.2.2 (Apr 2016)
- Updated toggle switch style

v1.2.1 (Apr 2016)
- Backwards compatibility for toggle switch
- Small text fixes

v1.2.0 (Apr 2016)
- **New Feature**: Profiles! Our top-most requested feature is here. Quick switch between groups of extensions with a single click.
- Major overhaul of the engine
- New retina icons
- Minor style changes

v1.1.11 (Jun 2015)
- **New Feature**: turn all enabled extensions off, then turn them back on
- Style changes
- New icons

v1.1.10 (Feb 2015)
- More performance improvements
- Fixed Chrome's extensions page link

v0.1.9 (Jan 2015)
- Added option to show apps first

v0.1.8 (Dec 2014)
- Updated to flat icons
- Updated library versions
- Code cleanup
- Cosmetic fixes (e.g. extensions with very long names)
- Updated license

v0.1.7 (Jul 2013)
- Excluding Chrome themes from the list

v0.1.6 (Jul 2012)
- Added separate page initializer files
- Added underscore.js and underscore.string
- Removed deprecated jQuery templates dependency
- Added some performance improvements
- Added support for Chrome Extensions v2 manifest

v0.1.5 (Mar 2012)
- Updated font styles

v0.1.4 (Mar 2012)
- Updated styles
- Added makefile for extension distribution
- Fixed Twitter share link
v0.2.0 (Feb 2026)
- **New Feature**: Import/Export Profiles - Backup and restore your profile configurations
- **New Feature**: Keyboard Shortcuts - Quick access with keyboard commands (Ctrl+Shift+E, Ctrl+Shift+T, /, Esc, Ctrl+A)
- **Code Quality**: ESLint configuration for consistent code quality
- **Code Quality**: Centralized constants to prevent typos
- **Code Quality**: Profile name validation with clear error messages
- **Performance**: Updated Knockout.js to 3.5.1 (from 3.4.0)
- **Performance**: Updated Underscore.js to 1.13.6 (from 1.8.3)
- **Code Quality**: Modernized codebase to ES6+ (const/let instead of var)
- **Developer Experience**: Added source maps for better debugging
- **Maintenance**: Improved code maintainability and readability

v0.1.3 (Jun 2011)
- Added share and rate icons
v0.1.1 (Jan 2023)
- **Base**: Everything in v1.11.0 (Sep 2020)
- **New Feature**: Added Dark Theme

v0.1.2 (Jun 2011)
- Added header with link to chrome://extensions/ and Extensity options
- Added section headers for grouping Apps and Extensions
- Added ability to launch apps (as disabling them didn't make any real sense)
- Added options page to configure grouping and header display

v0.1.1 (May 2011)
- Fixed scrollbar for really long extension lists
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Extensity TO-DOs

- Allow import and export of profiles configuration
- Allow import and export of profiles configuration (Completed v0.2.0)
- Add list of favorite extensions
Loading