GithubHelp home page GithubHelp logo

wishthis / wishthis Goto Github PK

View Code? Open in Web Editor NEW
123.0 5.0 12.0 56.78 MB

wishthis is a simple, intuitive and modern wishlist platform to create, manage and view your wishes for any kind of occasion.

Home Page: https://wishthis.online

License: GNU Affero General Public License v3.0

PHP 10.19% JavaScript 56.71% Less 31.90% CSS 1.20%
wishlist php self-hosted wish wishes privacy-focused

wishthis's Introduction

wishthis logo

Make a wish

wishthis is a simple, intuitive and modern wishlist platform to create, manage and view your wishes for any kind of occasion (demo). Currently, wishthis is available in 99 different locales!

🖥️ Screenshots

Home Wishlists
Home Wishlists

👨‍👨‍👦 Join the conversation

Discord Matrix

✔️ Requirements

  • Apache or Nginx
  • PHP 8.1 - PHP 8.2
  • MySQL/MariaDB
  • MJML api keys (not required and used for rendering emails. Make sure sendmail is configured properly.)

🔨 Installation

Git (recommended)

git clone -b stable https://github.com/wishthis/wishthis.git .

Note: after pulling updates for a new version you might be prompted to update the database schema in the wishthis user interface (if necessary). Make sure you are logged in.

Manual

Download the code using the stable branch and upload it to your server.

Note: You will have to manually update wishthis by replacing all files with the changes from the stable branch.

Note

Make sure wishthis is setup via a domain directly and not running inside a sub-folder.

🏆 Contributing

As a tester

In the wishthis plattform, navigate to:

  1. Account -> Profile
  2. Preferences

And set your channel to "Release candidate". Make sure to give feedback!

As a translator

Localisation is currently done via Transifex.

https://www.transifex.com/wishthis/wishthis/

As a sponsor

Time spent on wishthis is time not doing for-profit work. Of course there is no expectation but if you would still like to show your appreciation, you can here. It is very appreciated!

GitHub Sponsors

As a developer

To setup your development environment you currently have two possibilities:

  1. Git

    Clone this repository and you're good to go!

  2. Docker

    An official Docker image is also available: https://github.com/wishthis/docker. It's created and maintained by Hiobi, thanks!

Updating

Fomantic-UI

After updating the fomantic-ui dependency, you can rebuild all assets like this:

$ cd ./node_modules/fomantic-ui
$ npx gulp build

wishthis's People

Contributors

cryptogeek13 avatar grandeljay avatar kumitterer avatar ldidry avatar transifex-integration[bot] avatar trup3s 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar

wishthis's Issues

German special letters are not correctly displayed

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

German special characters (called "Umlaute" like ä, ü, ö) are not correctly displayed in search results. Instead of 'ä' it displays 'ä'.

Additional info

tested Browsers: Firefox, Chrome

Screenshot

Screenshot (14)

Can not access my lists

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Once connected on the website, I can not access the lists I created when I click on "My lists" in the "Whishlist" dropdown menu

Can't set a price

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

When I enter a price for a wish and click save, it isn't displayed. When I then edit that same wish again, the price input is empty.

I do get a success toast after saving and there are no errors in console or network tab.

Temporary fulfilled wish does not become available again after 30 minutes, except when viewing as the owner of the list.

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Both version 0.7.3

Description

  1. Create a list and add a wish.
  2. Copy the share link and open it in incognito.
  3. Fulfill a wish temporarily and wait 30+ minutes. Do NOT confirm the wish as fulfilled.
  4. Notice that the wish is not available again.
  5. Refresh the page after nothing happening, noticing that the wish is still not available.

Waiting 60+ minutes also did not make the wish come back.

I also tested viewing the shared list url, after the wish was supposed to be available again, as a different logged in user and as the owner of the list.

It seems that the item in the list IS added back (after 30 minutes) in the shared wishlist for the owner, but anyone else (either logged in or anonymous) will not see the item returned after 30 minutes.

official docker image

Branch

On which branch did you notice this bug?

  • [x ] stable
  • [ x] release-candidate
  • [ x] develop

Description

at the bottom of the readme, it states a unofficial docker image of hiob. but there apparently is a official image now.

Charset issue (UTF-8 content) and special characters interpreting

Hi @grandeljay

It seems that the issue with charset UTF-8 special characters interpretation (as reported on discord) still occurred.
When I wrote a text with special characters (semicolon, comma, etc), special characters aren't interpreted.
The issue didn't happened after you fixed it at first time, but it's re-happen every time I publish or edit a wish, since few days.

I'm using wishthis docker version > built on stable branch


Example link (UTF-8 content) used : https://hiob.fr/octoprint/

wishthis_charset

Add a way to "cancel" a wish + see one's "to buy" list

Hi there 👋
First, thanks a lot for this aaawesome project which has saved me from years of hardship, between my in-laws' Trello boards which don't avoid duplicate gifts and my family's google sheet which lets everyone see what they're getting for Christmas. 🙏

I have 1,5 idea that'd make this tool even awesomer, based on a few "surprises" I faced when using it:
As of now, when you "fulfill a wish", it just disappears. If someone misclicks on a wish, there's no way to get it back. Plus, if you didn't save the details (associated link, whaveter detail was in the wish), you're screwed 😄
Also, if you change your mind, you can't "unfulfill" a wish.

So, that'd be super awesome if a user could:

  1. unfulfill a wish to let it appear again in the global pshared list
  2. see a dashboard/list of the wishes he clicked "fulfill", to access the details of each wish

What do you think of that? 🙂

Share link - Error 403 forbidden

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

When I open the share link (while not logged in), I got the message "Error 403 forbidden" and then an empty list

Screenshot_20231112-090015.png

Error 500 after fresh install - Undefined constant "CHANNELS"

Branch

On which branch did you notice this bug?

  • stable

Description

A fresh install
And on the loading of the page, http 500.
Meaningfull logs:
Got error 'PHP message: PHP Fatal error: Uncaught Error: Undefined constant "CHANNELS" in /XXXX/src/functions/redirect.php:22
Commenting the loop after "/** Determine if host is a defined channel */" allow to bypass the issue.

Sin i don't know exactly what it's about, i'm just reporting it here

Only remove purchased/fulfilled wishes on the 'public' side of the list.

Right now, when someone fulfills a wish, it is removed for everyone. This is good, because otherwise it could be bought twice or even more.
However, it is also removed for the person who made the list.
So whenever I look at the list to edit it and I see something's gone, that is a way to know what I will get.
I think this should probably change. Maybe it's possible to keep showing those items to the person who creates the list?
So, yes. This just happened to me. Now I know what I will receive. I hope it won't be too hard to fix this.
Maybe have two databases or something. Or have a field for whether an item has been fulfilled. With that latter option, only items that have not been checked as fulfilled can be shown and to the creator of the list all the items can be shown.

Add a config flag to disable plausible.io calls

Even if I know plausible.io is a privacy-friendly analytics service, I would like to be able to deactivate it in the configuration file, since it’s no use for someone who don’t have a plausible.io account like me.

Good job on wishthis, by the way ! 👍

Switching channels doesn't (fully) work

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Browser: Firefox 118.0.2

stable

  • log in to wishthis.online
  • go to profile -> preferences
  • change channel to 'release-candidate'
  • click save

I'd expect being navigated to rc.wishthis.online. Instead, that does happen only if I trigger another navigation by using the home button or going to my wishlists.
I also end up with a blank page after being redirected. Reloading the page fixes that.
Screenshot

release-candidate

  • log in to rc.wishthis.online
  • go to profile -> preferences
  • change channel to 'stable'
  • click save

this time nothing happens. I stay on rc.wishlist.online and can navigate around as long as I want, log out, log back in, hit strg+f5 without being redirected to wishlist.online

smtp settings

Is your feature request related to a problem? Please describe.
i am using the official docker image. im looking for either a gui related setting that handles smtp, or, a docker compose setup that pushes the configs into the image on build.

Describe the solution you'd like
see above? i dont think i can extrapolate any further?

Describe alternatives you've considered
the other option is to exec into the docker image, but that is not a permanent solution, and any upgrade would wipe my work. as well as requiring a higher level of service management, that may turn off newcomers to using this service.

Additional context
perhaps a way to turn off the related buttons if smtp is not enabled would be a good idea, lets users kinda choose if they think the effort is worth it. personally i dont think so, but as the service stands, it breaks the function of many things

Error message - Button "Thanks for nothing" sounds strange

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Is the button "Thanks for nothing" written on purpose or is it a misspelling mistake for "Thanks for noting"?

Screenshot_20231112-090307.png

The current sentence does not sounds really welcoming 😅

Add Support for other number delimiters than point

Is your feature request related to a problem? Please describe.
Some countries (like germany for example) do not use point ("9.99€") as a delimiter, but comma ("9,99€"). So when I enter 9,99€ as the price for a wish, it's converted to 999.00€.

Describe the solution you'd like
Best solution would be, if the delimiter would be somehow linked to the selected language

Describe alternatives you've considered
Another solution - that'd be a lot easier to implement I guess - would be to allow the user to choose their delimiter in user settings.

It would also be okay to only allow point as a delimiter and show an error message with a hint to use point instead of comma in case a user enters a comma.

Additional context
I didn't know if this would be considered a bug or a feature request, but considering the amount of work for some of the solutions, I decided to label it as a feature. Ofc, feel free to change this.

Typo on MJML settings page : API key is requested instead of the Application ID

Hi,

I think there is a little typo on MJML settings page.
On MJML documentation it's appears that APPLICATION-ID and SECRET-KEY are required for when calling the MJML API from a web browser.

But on Wishthis's MJML settings page, placeholders ask for Key and Secret :

  • if I filled key with my API key, I've got the error below.
  • If I filled with my Application ID it's work.

Oh ! The HTML selector should be renamed too <input type="text" name="api_key">

thanks !

Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: `POST https://api.mjml.io/v1/render` resulted in a `401 Unauthorized` response: {"message":"Authentication required","request_id":"123123123133","started_at":"2022-11-09T11:04: (truncated...) in /var/www/html/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /var/www/html/vendor/guzzlehttp/guzzle/src/Middleware.php(69): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response), NULL, Array, NULL) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL) #3 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run(true) #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #9 /var/www/html/vendor/guzzlehttp/guzzle/src/Client.php(187): GuzzleHttp\Promise\Promise->wait() #10 /var/www/html/vendor/guzzlehttp/guzzle/src/ClientTrait.php(95): GuzzleHttp\Client->request('POST', 'render', Array) #11 /var/www/html/vendor/qferr/mjml-php/src/Mjml/Renderer/ApiRenderer.php(61): GuzzleHttp\Client->post('render', Array) #12 /var/www/html/src/classes/email.php(66): Qferrer\Mjml\Renderer\ApiRenderer->render('<mjml lang="fr_...') #13 /var/www/html/src/api/wishlists.php(78): wishthis\Email->send() #14 {main} thrown in /var/www/html/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113

wishthis_MJML_settings

Add a feature to add or invite users

Is your feature request related to a problem? Please describe.
I want to selfhost a wishthis instance for my family and friends, so I really want to disable registration. But that makes the process of adding new friends kinda painful, because I have to enable registration, let my friend register, and remember to disable registration again.

Describe the solution you'd like
I'd love to invite people onto my server via email.

Describe alternatives you've considered
A feature to create an account with email and password so that my friends can log in and just change their password would also be sufficient.

Additional context
Great tool, I just started to play around with this and really like it so far. Thanks for your work <3

Fatal error: Uncaught TypeError: hash_file(): Argument #2 ($filename) must be of type string

Hi @grandeljay ,
On very latest develop branch commit, docker image built at déc. 1, 2022 11:51pm GMT+0100 (latest commit), when login I got the following error:

Fatal error: Uncaught TypeError: hash_file(): Argument #2 ($filename) must be of type string, array given in /var/www/html/src/classes/page.php:312 Stack trace: #0 /var/www/html/src/classes/page.php(312): hash_file('crc32', Array) #1 /var/www/html/src/pages/home.php(12): wishthis\Page->header() #2 /var/www/html/index.php(163): require('/var/www/html/s...') #3 {main} thrown in /var/www/html/src/classes/page.php on line 312

Thanks !

add SQLite support

For a little family SQLite is nice
Perhaps I add this future if I have time....

Currency flag?

First off, loving self hosting this! I'm in the US, so naturally lol the default currency is useless to me. Is there a flag to swap to USD? or is that a possible feature for the future? I wanted to label this asking for help rather than assume it's a feature request off the bat since you already have a few in the works.

Insufficient power: Restricted access (develop branch)

Hi,

On develop branch > docker image built nov. 30, 2022 7:58pm GMT+0100 with this commit as latest:

Only the admin account is able to use wishthis as a registered user. With other users I get error on almost every page. They are not able to see their own wishlists, remembered list or profile. Only the homepage is accessible, like a guest user.

Restricted access


Warning: Undefined array key "required" in /var/www/html/src/pages/power.php on line 23
You do not have enough power to view this page. You need to see this page, but only have 0.

Thanks @grandeljay !

Everybody can "fulfil" my wishes

I found problem with UX in your app. Let's image the next situation, I created my list and add all my wishes (20), then I shared this list to my friends or everyone. Some dude cans "fulfil" all my wishes without any authorization, so I will lose all my wishes, but I can't restore it or just see who made this.

I think if you restrict fulfilling wishes without auth and made notifications about fulfilling by another user, it can solve the problem.

Also, I think will be nice to create a request system when owner of wishes can deny or approve fulfilling his wishes by another user.

Wrong language on shared list

Branch

On which branch did you notice this bug?

  • [/] stable
  • release-candidate
  • develop

Description

On a shared list that should be in german, the explanation text is in english:


Was ist zu tun?

If you found a wish you would like to fulfil, open the wish Details and then click the Wunsch erfüllen button and it will be unavailable for everybody else.

Also ist there a good way to set the language globally?

Thanks
Alex

/api/database-test not found

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

How can the bug be reproduced? If you received an error or similar, please add it here.
Clicking on "Test connection" throws a HTTP 404 for the file /api/database-test. It was supposed to send a POST request to src/api/database-test.php but I didn't manage to make it work.

Here it's my config.php

define('DATABASE_HOST', 'mysql');
define('DATABASE_NAME', 'wishthis');
define('DATABASE_USER', 'dev');
define('DATABASE_PASSWORD', 'wishthis');

define('ENV_IS_DEV', true);

I haven't modified .htaccess and the project is being tested on Docker containers

May I have help on this, please?

switching to "product" tab leads to tabview being in a broken state

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

  • open a wish that can be bought and switch tab to "product"
  • click close or save while that tab is opened
  • open any item and switch to product tab

Actual behaviour

the tab does not switch and stays at general view
image

Expected behaviour

it should switch to product view

Additional info

  • In some rare occasions I can't reproduce the error.
  • In some cases the view for adding new wishes is stuck in a broken state after reproducing the error
    image

Quote Symbol (") in description crashes save

When adding this text as description to a wish, the site crashes on save (blank screen):

WD Red SA500 NAS SATA SSD 2TB 2.5": Amazon.de: Computer & Accessories

The problem is the quotes-character after '2.5' as it works fine after it is removed.

Page: Wishthis.online (Wish 383)
Browser: Firefox

Installer POST 404 Error

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Created a vanilla Debian 12 container for running wishthis on my proxmox server. Installed the required software. (Apache, PHP, MariaDB)

apt install php php-intl php-mysql mariadb-server

Git Cloned wishthis into the /var/www/html folder
Copied sample-config.php to config.php
Removed the 4 lines for DB connection
Got a page from the server. Installer - Step 1 - set up database

I tried creating a mariadb database and user:

GRANT ALL ON *.* TO 'wishthis'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
CREATE DATABASE wishthis;

Both with and without database user and password I get the following 404 in the HTTP error log. Not sure how to fix a POST that gives 404.

==> /var/log/apache2/access.log <==
192.168.1.191 - - [12/Sep/2023:04:20:16 +0000] "POST /api/database-test HTTP/1.1" 404 491 "http://192.168.1.12/?page=install" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"

Thank you for your time. I'm looking forward to getting this working.

[0.7.0] Fatal error: Uncaught TypeError > Blog

Hi,

I've got an error on 0.7.0, reproduced on release-candidate branch (git pull).
(it seems to be solved on 0.7.1)

  • PHP 8.1 / Apache2 (docker image built FROM php:8.1-apache)
Fatal error: Uncaught TypeError: wishthis\Cache\Blog::get(): Return value must be of type stdClass|array, null returned in /var/www/html/src/classes/cache/blog.php:45 Stack trace: #0 /var/www/html/src/classes/blog.php(20): wishthis\Cache\Blog->get() #1 /var/www/html/src/classes/blog.php(68): wishthis\Blog::get('https://wishthi...') #2 /var/www/html/src/api/blog.php(26): wishthis\Blog::getPosts() #3 {main} thrown in /var/www/html/src/classes/cache/blog.php on line 45

Uncaught Error: Undefined constant "CHANNELS"

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Fresh checkout on ubuntu with php8.2 (stable & also tried release-candidate).
Error in apache log: "Uncaught Error: Undefined constant "CHANNELS [...] src/functions/redirect.php on line 23"

I tried to initialize the constant with "null", this loads the installer page, however then after entering the db credentials the installer hangs in step two with a black screen. Developer tools only show problems with "plausible.io", but I suspect this is not the real error.

wish for a quantity of wishes

Is your feature request related to a problem? Please describe.
there are a variety of items id like to wish for multiple of. such as i need 7 shot glasses, or 25 hard drives, or 30 AAA batteries.

Describe the solution you'd like
i would appreciate a way to specify a quantity of a specific wish, and have that be tracked under normal wish and wish list conditions

Describe alternatives you've considered
the only solution i can think of is to create multiple wishes of the same wish. not only would this clutter a wish list, but may confuse patrons

Additional context
i think i got it all down here, but pls respond with more questions

share button not working?

Branch

On which docker image did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

Since I'm using the docker image I wanted to put this here first but I'm unsure if this isn't a code/config issue. I did check the code repo and didn't see any issues related to this specifically.

I first noticed this issue when I tried to share out a list in my first setup with the stable image. When I click on the share button for a list nothing happens but checking the browser console I receive this every time I click it

Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')
    at HTMLAnchorElement.<anonymous> (wishlists.js?v=6dd2ba86:174:10)
    at HTMLDocument.dispatch (jquery.min.js?v=74425540:2:43336)
    at y.handle (jquery.min.js?v=74425540:2:41320)
(anonymous) @ wishlists.js?v=6dd2ba86:174
dispatch @ jquery.min.js?v=74425540:2
y.handle @ jquery.min.js?v=74425540:2

I went ahead and checked both dev and release and noticed the same behavior.

This is the docker compose file I used, I simply swapped out the image tags to test the others.

version: '3.7'

services:
  wishthis:
    container_name: wishthis
    restart: unless-stopped
    image: hiob/wishthis:stable
    ports:
    - 8082:80
    volumes:
    - ./config.php:/var/www/html/src/config/config.php
    networks:
    - shared
  mariadb:
    container_name: db
    restart: unless-stopped
    image: mariadb
    volumes:
    - ./db-data:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: example
      MARIADB_DATABASE: wishthis
    networks:
    - shared

networks:
  shared:
    name: wishthis
    external: true 

It's worth noting that I have not setup a reverse proxy/domain so this is just directly to the docker host via ip and port. I also have not setup sendmail (little green on email management as a whole) which I'm guessing is the culprit? And I only setup an API key for MJML on my stable setup.

Really appreciate the docker image over all, hosting this thing is way better than amazon wish list lol

Feature Request: Collaborative Wishlists

Is your feature request related to a problem? Please describe.
I want to curate a wishlist for my child with my wife. We both have separate wishthis accounts and would like to add/edit/remove items from a shared list.

Describe the solution you'd like

  • Other users can be invited to collaborate on an existing wishlist.
  • There is a rudimentary authorization/permissions system.
    • It should be sufficient to have two roles: owner and collaborator.
    • A collaborator can add, edit and remove items from the list.
    • The owner can do everything a collaborator can, but also rename and delete the list itself and add or remove collaborators.
    • The roles are fixed. There can only be one owner. The role is not transferable. All other "invited" users are assigned the role of collaborator.

Describe alternatives you've considered
I guess you could create a dedicated account for shared lists and share the credentials. It's ugly but should work.

Additional context
It's a technically elaborate feature. The scope should be kept as small as possible. For example, more fine-grained permissions and/or more roles could be added later.

Add feature to move wishes to another wishlist

Is your feature request related to a problem? Please describe.
I have one main list of wishes. That one contains everything, but isn't very well curated. Now I want to send my friends and family a wishlist for my birthday. I don't want to use my main wishlist for this, because it includes wishes that are not very well specified, some are way too expensive for a birthday gift and some I want to buy myself, for example because it needs to be a very specific model, it's hard to get, I want to buy it used - you name it.

So I created a new wishlist for my birthday and need to move some wishes from my main list to that birthday list. Right now I need to recreate everything by hand and that's quickly becoming a lot of work.

Describe the solution you'd like
I'd like a button that enables me to move a wish to another wishlist, maybe by providing a dropdown to choose from.

Describe alternatives you've considered
Recreating those wishes by hand - but as I said that's not very comfortable and quickly get's out of hand.

redirected to /maintenance after update

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

I'm not sure how to reproduce, since I'm using the docker image and therefore have no way to revert to an older version and test if this can be reliably reproduced. But I guess for local development you could go back to a specific version just using git. I was on the dev-branch from roughly the 21. of July this year and pulled the latest develop docker image from 10 days ago (should be 4. of October I guess)

I also tried switching to stable and release candidate:

  • release-candidate results in the same behaviour
  • stable gives me a redirection error because it's redirecting infinitely from /?page=home to /?page=maintenance and back

Logs

logs are looking pretty normal. db logs included just for sake of completeness:

wishthis_db | 2023-10-14 13:36:40+02:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server started.
wishthis_db | 2023-10-14 13:36:41+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
wishthis_db | 2023-10-14 13:36:41+02:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server started.
wishthis_db | 2023-10-14T11:36:41.562301Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
wishthis_db | 2023-10-14T11:36:41.562549Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33-0ubuntu0.22.04.2) starting as process 1
wishthis_db | 2023-10-14T11:36:41.575787Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
wishthis_db | 2023-10-14T11:36:41.845460Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
wishthis_db | 2023-10-14T11:36:42.295685Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
wishthis_db | 2023-10-14T11:36:42.295802Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
wishthis_db | 2023-10-14T11:36:42.311453Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
wishthis_db | 2023-10-14T11:36:42.370988Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
wishthis_db | 2023-10-14T11:36:42.371230Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.33-0ubuntu0.22.04.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu).

wishthis | Starting Mail Transport Agent (MTA): sendmail.
wishthis | Removing user 'www-data' from group 'sudo' ...
wishthis | Done.
wishthis | [Sat Oct 14 13:36:44.488578 2023] [mpm_prefork:notice] [pid 75] AH00163: Apache/2.4.57 (Debian) PHP/8.1.24 configured -- resuming normal operations
wishthis | [Sat Oct 14 13:36:44.488659 2023] [core:notice] [pid 75] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

I'd be happy to help if you need me to test something or any further informations

Image preview

Another suggestion:
It looks like there currently are no image preview things, like, you do not see what the item is that is on the wish list, so you might first have to follow the URL to even get a proper indication of what it is.
However, the icon of the website where the URL leads to. In the same way it should be possible to show an image of the item or something like that.
For example, the Toki Pona Dictionary on bol.com, gives a page where in the <head> can be found: <meta property="og:image" content="https://media.s-bol.com/qADwAr7K8zoy/vg4ENln/550x823.jpg">.
That URL is an image of the item that the page shows. So that could probably be used to show what something is on the list. (Though it is probably true that it might not always work. But I think it works for most big web shops.)

Notification when new wishes are added

Hey,

A new suggestion: For those who clicking on request more wishes button, Wishthis should offer to be notified when new wishes are added by the wishlist's owner.

My mock-up is awful but you get the idea! If you add this functionality, I'm sure you will do it great with some disclaimer about privacy.

wishthis_notify_new_wishes

Wishlist picker should not have "Loading your wishlists..." placeholder when no wishlists exist

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop (docker image v1.1.0)

Description

How can the bug be reproduced? If you received an error or similar, please add it here.

  1. Start a fresh install of WishThis
  2. Delete the initial wishlist so that no wishlists exist
  3. Go to the "My Lists" page
  4. Observe the "Loading your wishlists..." placeholder in the wishlists dropdown

image

Change priority colours

Right now, the lowest priority seems to have the brightest green colour, and the highest priority seems to be yellow. I think it would be more logical to change that. I think green is mostly associated with good, yellow with not too bad, and less green in between.
So maybe it is good to change it, for it might otherwise maybe cause confusion.
You can see what I mean in the screenshot below.
Screenshot_20221022_181717

/api/database-test not found

Branch

On which branch did you notice this bug?

  • stable
  • release-candidate
  • develop

Description

How can the bug be reproduced? If you received an error or similar, please add it here.
Clicking on "Test connection" throws a HTTP 404 for the file /api/database-test. It was supposed to send a POST request to src/api/database-test.php but I didn't manage to make it work.

Here it's my config.php

define('DATABASE_HOST', 'mysql');
define('DATABASE_NAME', 'wishthis');
define('DATABASE_USER', 'dev');
define('DATABASE_PASSWORD', 'wishthis');

define('ENV_IS_DEV', true);

I haven't modified .htaccess and the project is being tested on Docker containers

May I have help on this, please?

Making it possible to disable registration

Is your feature request related to a problem? Please describe.
It would be nice to have a small private instance for a family or a group of friends. So disabling the registration after everybody is on board would achieve this.

Describe the solution you'd like
Create an option in a config file to disable registration and only allow login.

Describe alternatives you've considered
Later on create a Settings page in an admin interface to change it on the fly.

Additional context
Nothing to add here.

CSS/UI issues on mobile

Hi again,

Some CSS improvements for future, some elements aren't accessible (out of frame, not clickable), or covered par others elements (z-index, etc). You can reproduce it on some devices with different resolution/OS: Android, iOS, Kindle, etc

Dropdown menu alignment
wishthis_dropdown_alignment

Unreadable price on dark mode ( already reported )
wishthis_price_darkmode

Site title covered by priority ribbon (when title a bit to large)
wishthis_title-covered-ribbon

Visit / Option button out of frame
wishthis_visit_button

Filter by price

Hi @grandeljay ,

A small suggestion: it would be nice if it was possible to add an (approximate) price to the wishlist, and that visitors to the wishlist could filter it by price.

Thanks ! :)

wishthis-pricefilter-sort

wishthis-pricefilter

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.