Code Monkey home page Code Monkey logo

camellia's People

Contributors

bleilejustin avatar ckk621 avatar dependabot[bot] avatar dimensi avatar flaksp avatar github-actions[bot] avatar tischenkob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

camellia's Issues

Managing bookmarks via Camellia interface

Ability to create, delete, edit and move bookmarks without needing to open browser's bookmark manager tool.

This is the most requested feature for the Camellia. However it's not close to its debut yet. Our goals for this feature:

  • It should be usable on devices with touch screens — it means no cursor hovers or something similar
  • We should avoid disabling native context menu — because people use it often to copy links or perform other actions with their bookmarks

And both these things are hard to achieve together. We haven't designed it yet.

Just press the "👍" reaction to vote for the feature if you are waiting for it too. And feel free to leave a comment if you have some ideas.

Install Dependabot

Dependabot will be installed when we will be about to release Camellia 2.0.

Allow UI customization

Because of Camellia uses CSS variables, it's possible to implement some customization functionality: change colors, sizes, etc (almost everything that exposed via CSS variables).

Customization should not allow inserting arbitrary CSS chunks, because some updates with breaking changes may naturally break the extension for some folks. We should create some kind of configurator like Telegram Desktop theme editor with list of allowed properties to modify. On top of that it is also possible to add ability to import and export themes.

Using Camellia 1.0 with Chromium Edge would cause the option page to display incompletely

When searching for a bookmark manager in GitHub, I was quite impressed by how Camellia fits my needs and gave it a try. The new tab looks pretty good with simple interface and clear listing of my tons of bookmarks

The only flaw I found is that when I want to configure the extension, the option window cannot display completely in my Edge browser. The most bottom of the option list I can reach is here (as the screenshot shown below), and the "save" button is beyond the option frame.

image

Currently I used F12 to expand the option window to reach the "save" button, so it does not cause much difficulty
for me, but it would be better if this could be fixed (or does not appear again in Camellia 2.0).

Thanks.

Feature request: option to customize the title of "New tab"

For example, with this option, I can change the currently default "New tab" to "My bookmarks" or "Clusterf*cks" or something else... 🤣

I didn't find an option to rename the "New tab" in the browser itself, and while it's quite trivial to the functionality of the extension, I would appreciate if you could implement this feature. Thanks.

In some cases background image loads without fade-in animation

The pink image at the video loaded without animation here:

Screen.Recording.2023-04-22.at.00.46.51.mov

Steps to reproduce:

  1. Select "Unsplash collection" as background image source
  2. Open developer tools in a browser
  3. Disable network cache in developer tools
  4. Refresh the page until one of images will load without an animation for some reason

Add "Learn more" link to the description of "Send anonymous usage statistics" and "Send error reports" options

Currently, there are only two options that responsible for collecting some data about our users:

  • "Send anonymous usage statistics"
  • "Send error reports"

But most users won't understand what these options do. For that purpose we should add a link to both descriptions to allow our users read our privacy policy.

It should be a link labeled "Learn more" that comes right after the description. In Russian it should be labeled as "Подробнее". This is an example how it should look like:

Screenshot 2023-02-19 at 16 13 09

The link should lead to our Privacy Policy page.

It would be good to add new optional property to the LabeledTextField component that will allow us to specify a link, and "Learn more" link should be displayed only if the link property was passed to the component.

Unblock the "Send error reports" option

The option can't be disabled right now:

Screenshot 2023-02-24 at 01 35 19

That's because at this moment we haven't implemented some way to stop sending stuff to Sentry after its initialisation.

Add hints to search dialog

Add hints to the bottom of the search dialog.

Screenshot 2023-02-19 at 18 48 46

Every time user opens the dialog a random hint should be displayed:

  • "You can open search with Ctrl + F or Ctrl + G shortcuts"
  • "You may press any character to open search"
  • "You can close search with Esc"
  • "Press Enter to open first link"

Show suggestions about better managing bookmarks

Notify user about following possible problems:

  1. Empty folder.
  2. There are two or more bookmarks or folders with identical names.
  3. Bookmark has invalid URL.
  4. Bookmark does not have name or has URL as its name.
  5. Bookmark or folder has too long name.

Also add ability to configure kind of notifications via options page.

Add "Other bookmarks" folder support

Add "Other bookmarks" folder support. Currently only bookmarks from "Bookmarks bar" folder displayed.


Добавить поддержку папки "Other bookmarks". На данный момент закладки берутся только из папки "Bookmarks bar".

Create new logo

At this moment Camellia has customized ugly logo taken somewhere from Internet. The project needs new authentic and qualitative logo.

Its requirements:

  • It should be SVG.
  • Should look good at lowest resolution 16x16 (as favicon) and up to 512x512.
  • May be colored, but it should also look good if filled with only white or only black colors.

Logo will be used as favicon, as extension icon, somewhere in Camellia interface and in promo materials.

I have no skills and ideas to create such logo, so I am looking for someone who has ideas and who can help.

Pull request actions from external contributors fail with unknown variables error

Example workflow with a problem: https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627

File ".env" is missing, making a copy from ".env.dist"
[12](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:13)
[webpack-cli] Failed to load '/home/runner/work/camellia/camellia/webpack.config.js' config
[13](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:14)
[webpack-cli] AssertionError [ERR_ASSERTION]: Environment variable UNSPLASH_BRIDGE_BASE_HOST is not defined
[14](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:15)
    at Object.<anonymous> (/home/runner/work/camellia/camellia/webpack.config.js:26:1)
[15](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:16)
    at Module._compile (node:internal/modules/cjs/loader:1226:14)
[16](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:17)
    at Module._extensions..js (node:internal/modules/cjs/loader:1280:10)
[17](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:18)
    at Module.load (node:internal/modules/cjs/loader:1089:32)
[18](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:19)
    at Module._load (node:internal/modules/cjs/loader:930:12)
[19](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:20)
    at Module.require (node:internal/modules/cjs/loader:1113:19)
[20](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:21)
    at require (node:internal/modules/cjs/helpers:103:18)
[21](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:22)
    at WebpackCLI.tryRequireThenImport (/home/runner/work/camellia/camellia/node_modules/webpack-cli/lib/webpack-cli.js:216:22)
[22](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:23)
    at loadConfigByPath (/home/runner/work/camellia/camellia/node_modules/webpack-cli/lib/webpack-cli.js:1325:38)
[23](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:24)
    at WebpackCLI.loadConfig (/home/runner/work/camellia/camellia/node_modules/webpack-cli/lib/webpack-cli.js:1431:44) {
[24](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:25)
  generatedMessage: false,
[25](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:26)
  code: 'ERR_ASSERTION',
[26](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:27)
  actual: '',
[27](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:28)
  expected: true,
[28](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:29)
  operator: '=='
[29](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:30)
}
[30](https://github.com/camellia-app/camellia/actions/runs/4218273488/jobs/7328169627#step:7:31)
Error: Process completed with exit code 2.

It looks like ${{ vars.UNSPLASH_BRIDGE_BASE_HOST }} not working for some reason.

Click counter not working

Counter resets after page refresh. You may detect it when opening bookmark via mouse wheel button.


Счетчик сбрасывается после обновления страницы. Это можно заметить, если открывать страницы с помощью клика колесиком мыши.

Remove Chrome notification when failed to load background image

Remove Chrome notification when failed to load background image or create custom notification.


Убрать Хромовское уведомление об ошибке загрузки фоновой картинки или сделать кастомное уведомление. Проблема в том, что когда открываешь новую вкладку и сразу же из нее куда-то переходишь по ссылке (например, из адресной строки), то почему-то срабатывает ошибка загрузки фоновой картинки.

Firefox does not support `:has()` CSS selector

This is a blocker for releasing stable Firefox version of Camellia.

Firefox does not support :has() CSS selector. This selector is used on options page widely:

.checkbox:has(input[type='checkbox']:disabled) {
cursor: default;
opacity: 0.6;
}
.checkbox:has(input[type='checkbox']:focus) {
box-shadow: 0 0 0 var(--outline-width) var(--outline-color);
}
.checkbox:has(input[type='checkbox']:not(:disabled):hover) {
background-color: var(--acrylic-color-light-3);
}
.checkbox:has(input[type='checkbox']:not(:disabled):active) {
background-color: var(--acrylic-color-light-1);
}

Missing support of the selector breaks option controls, they do not change their appearance on hover and focus, and disabled state does not work too:

Screenshot 2023-02-23 at 19 28 43

We should wait until Mozilla will enable the selector in all stable versions of the browser.

Blockers

To Do

Centered content layout option

Option to center content which will be useful for users with small amount of bookmarks or users with ultra wide displays.

Screenshot 2022-03-13 at 22 17 55

Use favicon API in Firefox

Currently, we fetch favicons using our own Cloudflare Worker, which is fine for privacy, but not the best solution in terms of user experience and performance.

In Chrome, we use new favicon API (introduced later in Manifest V3). Unfortunately, there's no similar feature in Firefox yet. We should migrate to favicon API when it will be available in Firefox.

Blockers

To Do

Smoother bookmark link loading animation

In commit 74f1fac I've added bookmark link loading indicator. But this background animation appears very suddenly. It would be great to add something like 0.5-1.0s opacity transition to make Camellia feel smoother.

It's impossible to use transition with background-image, so this improvement needs some solution research.

ctrl+f не вызывает поиск по вкладкам

Подсказка на скрине ниже говорит, что при нажатии ctrl+f вызовется поиск по вкладкам
image

Фактически вызывается поиск по странице определенный браузером.

воспроизводится на Google Chrome, Win 10

есть вариант взять другое сочетание, как к примеру здесь https://tailwindcss.com/

Try to implement click counter synchronization

Try to implement click counter synchronization.


Попробовать реализовать синхронизацию счетчика переходов между браузерами.

Implement an API for different kinds of bookmarks

Currently, there's only one bookmark kind, it's called a Chip:

Screenshot 2023-02-23 at 20 12 43

In the future we would like to introduce new kinds, e.g. this is how bookmarks in Safari look like:

Screenshot 2023-02-23 at 20 14 45

Actual list of new kinds will be described in other issues. This issue is about implementing a base that will be used for future kinds. It's important to note that some bookmark kinds may require specific requirements to be enabled, for example if we want to introduce new bookmark kind that has a website preview, then we need to ask for additional permissions first (to screenshot pages and to store unlimited amount of data in the storage API).

Blockers

  1. enhancement

Tasks

Mark folders as categories

Add ability to mark folders as categories in options.

In this example, "Work" is a folder turned into a category:

Screenshot 2022-12-10 at 19 23 41

Implementation requirements:

  • Only root-level folders may be presented as categories. Root-level folders are folders placed in the root of "Bookmarks Bar" and "Other Bookmarks" folders.
  • If folder turned into a category, it should be hidden from "Bookmarks Bar" and "Other Bookmarks" folders.
  • On the Options page there should be a list of root-level folders with checkboxes. It should be possible to mark and unmark folders, and change order of categories.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.