Git Product home page Git Product logo

rockpool's Introduction

Hello!

๐Ÿค“ I'm a librarian living in Naarm (Melbourne), Australia.
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป I code mostly for fun and sometimes for work.
๐Ÿ‘ค my pronouns are he/him.
๐Ÿ“š Check out my reading recommendations on Bookwyrm
๐Ÿ’ต If you like something I've made and want to contribute monetarily, please donate to FreeHer instead

Are you an Australian librarian? Please check the Library Map and let me know if you have any of the missing information!

rockpool's People

Contributors

dependabot[bot] avatar hughrun avatar lissertations avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

lissertations

rockpool's Issues

[BUG] App doesn't tell you when it's logged you out on changing user email

Describe the bug
When a user changes their email address, the app is meant to immediately log them out. However, the app currently does not tell a user that they have been logged out when they change their email address. Additionally, users can continue to make edits to their user details without being aware that they have been logged out. It is unclear whether these edits save properly to the database.

To Reproduce

  1. Log in, navigate to /user
  2. Change email address and/or other details
  3. Click 'update'
  4. Admire the absence of any error or advice message
  5. Continue to update user details

Expected behavior
I expected the app to tell me that I had been logged out. It wasn't until I did a forced refresh (cleared cache) that I was returned to the /letmein screen.

Desktop (please complete the following information):
Chrome on macOS

Use LESS or SASS for colour scheme

Who will benefit from your new feature?

  • App users
  • [X ] App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
Updating colour schemes is a pain in the neck if you have to do it manually.

Describe the solution you'd like
Assign colours via an SCSS file that processes into a css file when npm setup is run.

Describe alternatives you've considered
None.

What kind of users will this most benefit?
Admins who just want to update the colour scheme.

Additional context
None.

clean up styles

Who will benefit from your new feature?

  • [x ] App users
  • App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
A lot of the user and admin screen is not very beautiful, not mobile-optimised, and likely not as accessible as it could be.

Update instructions

Both the default markdown file and the github docs need to be updated, specifically:

  • claiming blogs instructions are wrong
  • registering blog instructions slightly wrong
  • database structure may be out of date
  • installation instructions are missing
  • general cleanup of README

fix memory leak

There appears to be a memory leak when running in production.

This is probably due to not closing mongo connections properly, and the setInterval functions.

Screen Shot 2020-03-12 at 6 55 35 am

filter blogs in browse page by category

Would be good to be able to click on the category and then the list only shows blogs with that category. Would need a reset button somewhere to get the full list back without having to reload the page.

claiming blog should re-fetch blog data with feed-finder

Legacy blog data doesn't include titles, so the browse page shows URLs, which are often ugly and long. When a user claims a blog we should run feed-finder like happens when registering a blog, so that the title can be added to the DB and then displayed instead of the URL.

add loader screen / replace edit buttons with loader when processing requests

Currently it is easy to create a mismatch between server and client data, if client data is updated multiple times whilst and API request is being processed. browse-vue.js, user-vue.js and admin-vue.js all need to be refactored so that editing is set to false before the api call is made, and at the same time processing or loading or something like that is set to true, triggering a loader icon and preventing further edits until the API call finishes.

This should hopefully assist with #43 and is somewhat related to #46

Add text and link in user dashboard explaining where to claim blogs (legacy only)

Who will benefit from your new feature?

  • App users
  • App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
Upon logging in for the first time, it is likely users may wish to claim an existing (legacy) blog, but there is no clear path on the /user page for them to do this.

Describe the solution you'd like
Add a 'claim blog' button under 'Your Blogs', to complement the 'register a blog' option.

Describe alternatives you've considered
I could click aimlessly until I found what I'm after, but this seems less efficient.

What kind of users will this most benefit?
Users who already have legacy blogs registered and would like to claim them.

Additional context
Screen Shot 2020-03-09 at 21 01 22

[BUG]

Describe the bug
When running npm test on a fresh DB (i.e. no rockpool_test DB exists), the check for indexes fails.

To Reproduce
Steps to reproduce the behavior:

  1. Run npm test without a pre-existing rockpool_test database

Expected behavior
Index-checking tests pass.

Error message

  80 passing (11s)
  40 pending
  4 failing

  1) Test suite for Rockpool: a web app for communities of practice
       npm setup - to prepare DB before running Rockpool
         should build index on tags field in rp_articles:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/hugh/coding/JavaScript/rockpool/test/test.js)
  

  2) Test suite for Rockpool: a web app for communities of practice
       npm setup - to prepare DB before running Rockpool
         should build text index in rp_articles:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/hugh/coding/JavaScript/rockpool/test/test.js)
  

  3) Test suite for Rockpool: a web app for communities of practice
       npm setup - to prepare DB before running Rockpool
         should create rp_articles collection when they are indexed:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/hugh/coding/JavaScript/rockpool/test/test.js)

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • node version [e.g. 10.16.0] - run node -v on your command line to get this

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Weekly email updates

Who will benefit from your new feature?

  • App users
  • App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
Sometimes you just want to get an email rather than follow a twitter account.

Describe the solution you'd like
Each week subscribers are sent an email listing each blog post published in the previous 7 days, with a brief description and link.

What kind of users will this most benefit?
People who don't use Twitter or Pocket, or prefer email.

Additional context
Add any other context or screenshots about the feature request here.

improvements to user registration page

Once a user has registered, they are asked to input their details on the user page. The fields for a user's email, twitter and mastodon accounts are too short and don't quite line up. The field text is also bigger than the text on the rest of the page.

It's not clear whether there's any input validation for these fields, nor is there guidance as to what input is expected (e.g. include/omit the leading @ in a twitter or mastodon handle, ensure server is included for mastodon)

Screen Shot 2020-03-09 at 21 16 39

Enable CWs for given tags when tooting

Who will benefit from your new feature?

  • App users
  • App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
Since toots are automated, it's likely that some will include content that would benefit from a content warning.

Describe the solution you'd like
Add a new setting content_warnings that takes an array of strings. These are checked against each post's tags before tooting, and all matching terms are included as a content warning on the toot.

Describe alternatives you've considered
We could simply CW every toot but that seems a bit over the top.

What kind of users will this most benefit?
Mastodon users who don't want to be confronted with upsetting automated toots.

Additional context
Add any other context or screenshots about the feature request here.

Should not be able to claim blog you own

Describe the bug
In /browse users can claim ownership of blogs they already own. This is confusing and likely to be buggy.

Should have a v:if to not show it if the blog is owned by the current user.

script to auto-install modules, mongo etc on install

This will need to

  • check environment settings,
  • install mongodb,
  • set up mongo security, db name and user,
  • install node modules (npm install should do the trick)

and probably some other things.

And then report to the user in a meaningful fashion if there's something they need to do.

Approving a claimed blog triggers new blog announcement

Describe the bug
When a user claims a blog and it is approved, an announcement is triggered that the blog has been added, which is not true.

To Reproduce
Steps to reproduce the behavior:

  1. Claim a blog
  2. Approve blog as admin
  3. Wait for blog to be announced on twitter/masto
  4. See announcement

Expected behavior
Approving a claimed blog should trigger an email to the owner but not an announcement.

Error message
n/a

Screenshots
n/a

Desktop (please complete the following information):
all

Smartphone (please complete the following information):
all

Additional context
Nil

[BUG] login or register link on help page goes to localhost

Describe the bug
On the help page, the 'login or register' link goes to localhost.

To Reproduce
Steps to reproduce the behaviour:

  1. Go to the help page
  2. Click on 'login or register'
  3. Admire the localhost link that doesn't work for anyone else

Expected behaviour
I expected the link to go to the /letmein page but it did not ๐Ÿ™

Desktop:

  • OS: macOS
  • Browser : chrome

Additional context
Changing this to a relative link should solve this issue.

check vuejs components

  • non-admin component file needs to be renamed
  • check component names are sensible
  • can anything be more DRY?
  • check and if necessary rewrite all 'flash' message code
  • check functionality of admin and user pages
  • user script & html needs to be componentised

user info (email, masto, twitter) needs to be validated prior to updates

As discussed in #41 , this was previously set up in commit 31b4479 but was reversed when VueJS was added to the project and user info updates were moved to an AJAX API model. Needs to be re-instated.

There should also be a email2 field to confirm the email address before updating it, otherwise people might typo it and lock themselves out.

[FEATURE REQUEST] - enable Pocket users to exclude certain sites from Pocket ingest

Who will benefit from your new feature?

  • App users
  • App Maintainers / System Administrators
  • Developers
  • Someone else

Is your feature request related to a problem? Please describe.
Not every blog in Aus GLAM Blogs is of interest to me. It would be good to be able to apply a filter so some never appear in my Pocket account.

Describe the solution you'd like
Ideally users would select a blog that is listed in the DB, and select it to be filtered out. This would add the blog _id to an array which would be checked prior to adding to Pocket.

Describe alternatives you've considered
Originally this was an idea to add to pocketsnack but it's better to filter them at the source.

What kind of users will this most benefit?
Fussy ones.

Additional context
Add any other context or screenshots about the feature request here.

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.