Giter Club home page Giter Club logo

citizenos-fe-old's People

Contributors

dependabot[bot] avatar helenkask avatar ilmartyrk avatar loorm avatar oksks avatar seppviljar avatar tiblu avatar yodalr 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

citizenos-fe-old's Issues

BUG: `POST /topics/:topicId/votes/:voteId/sign` - No digidoc in session - 500 Internal Server Error

Overview

Not too often, 1but sometimes POST /topics/:topicId/votes/:voteId/sign fails with following error:

1 Feb 2017 18:31:03.708  345 <158>1 2017-02-01T16:31:02.718770+00:00 host heroku router - at=info method=POST path="/api/topics/dbe5cd08-afe1-47fd-aac6-6abb8e1f24ea/votes/aab3b420-e26d-45f4-8dcf-a91b30ae6572/sign" host=citizenos.com request_id=f4805703-14ba-4550-a8d0-ded209f00522 fwd="x" dyno=web.1 connect=0ms service=356ms status=500 bytes=339
» 1 Feb 2017 18:31:03.748  182 <190>1 2017-02-01T16:31:02.711638+00:00 host app web.1 - �[32m[2017-02-01 16:31:02.711] [INFO] production - �[39mDB QUERY. Executed (310262e6-bb8f-49cc-80eb-5ba4b0c16656): ROLLBACK;
» 1 Feb 2017 18:31:03.825  253 <190>1 2017-02-01T16:31:02.714732+00:00 host app web.1 - �[32m[2017-02-01 16:31:02.714] [INFO] production - �[39mSequelize error handler middleware activated. { [Error: No digidoc in session] name: 'Error', message: 'No digidoc in session', code: 101 }
» 1 Feb 2017 18:31:03.825  63 <190>1 2017-02-01T16:31:02.714735+00:00 host app web.1 - Error
» 1 Feb 2017 18:31:03.825  114 <190>1 2017-02-01T16:31:02.714736+00:00 host app web.1 -     at Object.<anonymous> (/app/libs/ddsClient.js:51:44)
» 1 Feb 2017 18:31:03.825  99 <190>1 2017-02-01T16:31:02.714737+00:00 host app web.1 -     at Module._compile (module.js:409:26)
» 1 Feb 2017 18:31:03.825  113 <190>1 2017-02-01T16:31:02.714737+00:00 host app web.1 -     at Object.Module._extensions..js (module.js:416:10)
» 1 Feb 2017 18:31:03.825  95 <190>1 2017-02-01T16:31:02.714738+00:00 host app web.1 -     at Module.load (module.js:343:32)
» 1 Feb 2017 18:31:03.825  105 <190>1 2017-02-01T16:31:02.714739+00:00 host app web.1 -     at Function.Module._load (module.js:300:12)
» 1 Feb 2017 18:31:03.825  98 <190>1 2017-02-01T16:31:02.714739+00:00 host app web.1 -     at Module.require (module.js:353:17)
» 1 Feb 2017 18:31:03.825  99 <190>1 2017-02-01T16:31:02.714740+00:00 host app web.1 -     at require (internal/module.js:12:17)
» 1 Feb 2017 18:31:03.825  104 <190>1 2017-02-01T16:31:02.714740+00:00 host app web.1 -     at Object.<anonymous> (/app/app.js:145:22)
» 1 Feb 2017 18:31:03.825  99 <190>1 2017-02-01T16:31:02.714741+00:00 host app web.1 -     at Module._compile (module.js:409:26)
» 1 Feb 2017 18:31:03.825  113 <190>1 2017-02-01T16:31:02.714741+00:00 host app web.1 -     at Object.Module._extensions..js (module.js:416:10)

** How often does it happen? **

  • February 2017 - 6 times while there were thousands of signings
  • October 2018 - 1

My gut feeling says the problem is on DigiDocService side, but not proven guilty.

TODO

  • Review the related code, see if there is any chance that Citizen OS API does not create the doc in session
  • IF code seems to be ok, ask DigiDocService (DDS) helpdesk, if it's a know issue.

suggest similar public topics when a new public topic is being created

Problem
When a topic becomes hot in society, it is likely, that multiple people will want to create a public topic in Citizen OS about it. However, it makes more sense, if they all contribute to the same public topic, instead of creating double entries.

Why is this a problem?
It may not be, however, in an ideal world, people's efforts would be pooled to achieve a diverse discussion and the best possible decision.

Possible solution
When you start entering a topic title, compare the words to other topic titles and if the per centage of similarity exceeds a certain threshold, display possible existing topic(s) about the same problem.

Partner/client box colours to come from a predefined selection?

So far, COS app's grid view has been cohesive and pleasant to the eye in the use of colour scheme.
Recently, we have onboarded some partners who have wished to use their specific colours for the client box, which looks very "off" in the cohesive app design's colour scheme.

To illustrate:
screenshot 2019-01-07 at 11 58 58

BUG: Vote singing with ID-card does not work on Edge 14.14393 (Windows 10)

Problem

The problem is that there is no IE Edge support for ESTID.

What giants do?

  • Eesti.ee - shows a button to open the whole page in regular Internet Explorer
  • Swedbank - Shows "not supported" message - "You are using Microsoft Edge internet browser. You can log in, but can’t confirm payments or sign agreements with ID-card, because Microsoft Edge browser doesn’t support estonian ID-card yet. Please use Internet Explorer or Mozilla Firefox if logging in with ID-card."

What we do?

  • I think we should follow the Swedbank path, but not sure if we should show the message on the page header or only in sign-in/sign-vote dialog?

TODO

  • Research if EDGE support has been added.
  • IF NOT, show "not supported" message. Message has to reflect that it's not a Citizen OS issue but ID-card support issue.

UX: Mobile - Topic attachments are not in a convenient place

Reproduce

  • Open /topics/:topicId in your mobile device or a narrow screen

Result

  • Cannot find the "Attachments" section as they are hidden away in the "Settings"

TODO

  • Talk to UX people, find a more visible place for the "Attachments" on small screens.
  • Implement the proposed solution

image

Rahvaalgatus.ee notification

Overview

As of 15.11.2018 Rahvaalgatus.ee will be having their own instance of Citizen OS. To promote Rahvaalgatus.ee and help Users find their Topics created in Rahvaalgatus.ee we should show Users a notification.

TODO

  • Show notification on screen as per design. Show ONLY if language is ET - https://projects.invisionapp.com/d/main#/console/9829159/331351007/inspect
  • User can close the notification
  • IF User closes the notification, store the information in a long living cookie so that the message is NOT displayed again.
  • Feature MUST be configurable. Default is OFF. Please keep the naming of the cookie and configuration keys consistent.
  • NO localisation, the text is only in ET.

image

UX: User language preferences

When logged in user selects language from language selector, selected value is saved in DB under user language. But if language is changed from URL, user preferences will not be changed. Also if user logs in user preferred language is not loaded. That all results in e-mails that are sent in wrong language, when user has tested/used language that he/she doesn't count as preferred language.

BUG: partner logo eats into text

Currently, partner's logo may hide the descriptive text in the topic box (pls see the screenshot below). Should be resolved in a way so that it never interferes with the text, regardless of the image selected by the partner.

screenshot 2019-01-07 at 11 55 54

UX: open the most current tab first

Problem: when opening a topic that is in voting or in follow-up, the system nevertheless displays "View" tab first. It does display a notification for the relevant status, for instance: "This topic is being voted on, editing is no longer possible!"

Why is this a problem: it requires the user to look for the tabs and make an extra click

Possible solution: open the most current tab first. Then, if the user navigates away from that to the "View" tab, display the notification.

UX: User profile - cannot update User info without creating/inserting a password

Overview

In User profile, you cannot change any info without entering a password.
The problem is that not everyone has a password - Google, FB authentication.

https://trello-attachments.s3.amazonaws.com/54f6dc9eb07f7a437bef6770/59bbd8488b6782d59fa46ed0/1c969194231cf6ef77996c4e8fb06cc8/image.png

TODO

  • Profile modification (avatar, name, company, email) without asking for a password.
  • Separate password creation/modification section.

BUG: Blank topic when opening topics vote results tab in my topics view without permissions

There is a blank space in topic info section when user tries to open topics vote results tab, in my topics view by adding &openTabs=vote_results to the end of URL, without permissions. While this tab is hidden by adding param to URL, script tries to load vote results from vote resource that is not existing.
Solution:

  • Check for permissions and vote resource existence before loading vote results

BUG/FEATURE: Configuration setting to hide/show promoted content and categories - Keep It Clean, Eesti Jazzi Arengusuunad

Overview

Citizen OS helps out some organizations to get their discussions more traction on the Home page. These include Keep It Clean Plan, 10 island project, Eesti Jazzi Arengusuunad tiles and custom categories on the Home page.

These are all fine on https://app.citizenos.com site, but should not affect other installions.

image

TODO:

  • Configuration to hide/show all Home page promotion tiles and related custom categories. Key: features.showPromotionTiles. Default: false.
  • Configuration to hide/show Citizen OS tutorial tile. Key: features.showTutorialTile. Default: true.
  • Change Citizen OS live configuration to show the promotions and tutorial.

Lodash not a dependency, yet used

index.js requires Lodash, yet it is not a dependency in package.json. Running node index.js therefore crashes immediately with Error: Cannot find module 'lodash'.

FE: Add Citizen OS "empowered by" to UI when custom styles are used

Overview

When custom styling is used for Citizen OS (https://github.com/citizenos/citizenos-fe/blob/master/public/config/README.md), there is no glue in the UI that Citizen OS OSS is used.

TODO

image
image

Let´s Do It Indonesia page

Overview
Please create page for LDI Indonesia which is similar to the Keep It Clean Plan https://app.citizenos.com/et/keepitcleanplan

TODO

  • Please add LDI Indonesia box on the Home page.

    • Owner: Let´s Do It Indonesia.
    • Header of the box: "10 island project oleh Let´s Do It Indonesia" (in English: "10 island project by Let´s Do It Indonesia").
    • Category: 10 island project.
    • Logo: Let´s Do It Indonesia logo (find it from https://drive.google.com/drive/u/1/folders/1bhJyquk94NCxSCB3-XEYM99lNjQQ1AEb).
    • Box color: #bed73d
    • Text: 10 island project bersifat terbuka bagi seluruh pihak, baik masyarakat, organisasi, dan pemerintah di Indonesia dengan tujuan menampung ide untuk mengimplementasikan rencana lingkungan yang berkelanjutan dalam Keep It Clean plan di Indonesia
  • Users should be able to choose the category "10 island project"

image

UX: `/my/topics` & `/my/groups` - Section header click should toggle section visibility

Overview

In the /my/topics & /my/groups (dashboard) views, clicking the section headers ("General information", "User list" etc) should toggle the sections visibility.

The problem

The problem is that if you add "ng-click" to a container and it contains any other action links - both are triggered.

TODO

  • Clicking section headers toggle section visibility

image

UX: Topic attachments - fix the topic attachments user experience

Overview

The modal that pops up when adding attachments is confusing.
There is lack of information what the icons are (different upload methods), the "Save" button is in a strange place.

Here is a screenshot to explain it all:

image

Here is how Trello does it, looks quite good to me:

image

Related to

TODO

  • Get UX guys to redesign this so that it's clear to User that there are multiple sources to attach files from and what the modal is.
  • Implement the new designs in FE code
  • When I download an uploaded attachment, please make the file name same as in UI (citizenos/citizenos-api#61)

BUG: activity feed loses track of topic

Description: under certain conditions, activity feed no longer indicates topic title, even though title existed

Why is this a problem: this makes it difficult to track changes to topics later on or possibly raises suspicions of censoring certain activity feed entries.

Possible solution: track topic id ad2b2254-4cca-4e86-b154-258d4118f702 and find out, why activity feed lost track of topic title and previous rights status.

capture_2

FEATURE: Pin topics on home page

There is a request for possibility to pin important topics to home page. There are cases when some important topics might get pushed out of sight on clients page and so there should be an options where "superadmin" could possibly pin important topics to always be first in the public list.

Slug support - fetch Topic by slug

Human readable slug support needed in API because:

Emails need to have urls with slugs
API will still use the system ID, but way may need to move to BIGINT id-s from UUID because the "slug+ID" would look really long and awkward.

Related tasks:

Make sharing topics on social media easier

What is the problem?
Social media sharing results in a suboptimal share experience (see screenshot). Only info about our platform is displayed, not information about the actual shared content.

Why is this a problem?
Because few people are in the habit of regularly visiting our main page, but many people regularly engage with social media. So we should give much more visibility to our users' content.

Possible solution
When sharing, the preview includes at least the title and possibly first lines of the content of the topic.

share_cos
share_raa

Help text needs to move from being a topic to being a sub-page in the web app

Problem: web app help texts right now are a separate topic in the Citizen OS system. This makes them non-translatable using CrowdIn and they do not move with the system, when a partner installs a separate instance.

Why is this a problem: changes to help texts cannot be tracked over different languages and they become out of sync. Partners who install an instance can have altogether missing help texts. Languages used in the app may not have help in corresponding languages. In all cases, user is left without adequate support.

Possible solution: move help text from topic content to a separate sub-page within the app. Then it a) moves with the app and b) goes into CrowdIn and becomes translatable.

SECURITY: Content Security Policy (CSP) - https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

Overview

In order to add extra level of protection against XSS and packet sniffing attacks we should implement Content Security Policy (CSP) - https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

TODO

EP: Timeline - cannot see change history for a big document - https://app.citizenos.com/en/topics/7abdd244-d45b-40d3-997c-a6290d4e972c

Overview

There is no changes visible when scrolling in the timeline view of https://app.citizenos.com/en/topics/7abdd244-d45b-40d3-997c-a6290d4e972c

Tho its Etherpad issue, it's this projects task to find out what the issue is.

TODO

Topic invitations - User to accept invitation, no auto accept.

Overview

When User is invited to a Topic, he gets added automatically.
This may cause issues in the future where spammers may use this do distribute their content.

TODO

  • UX: Accept flow visuals
  • UX: New invitation visuals
  • UX: Invite expired screen - https://projects.invisionapp.com/d/main?origin=v7#/console/17224475/391689912/preview
  • UX: Invite revoked screen - implemented with generic error messaging - citizenos/citizenos-fe#112 (comment)
  • FE: Update invite visuals - citizenos/citizenos-fe#112 (comment)
  • FE: Use /invites API instead of /members/users - citizenos/citizenos-fe#112 (comment)
  • FE: /invites/:inviteId -> /invites/users/:inviteId so that there is a clear distinction between User and Group invites.
  • FE: Rename invite translation keys to reflect User invites
  • FE: Show pending invites in the UI - citizenos/citizenos-fe#112 (comment)
  • FE: Ability to revoke invite - citizenos/citizenos-fe#112 (comment)
  • FE: Delete invite modal - translations, verify layout
  • UX: Log in - TOS - invite - flow. Current implementation will skip TOS!
  • UX: BUG - TOS & PP links not working!
  • API: VERSIONING - Backward comp - Partners (RAA.ee) use the auto-accept! Not needed, as the old API will remain with deprecation warning in the docs.
  • API: DB model - Invites
  • API: DB model - TopicInvites (extends Invites)
  • API: Create invites - POST /topics/:topicId/invites - auth: Topic admin
  • API: Create invites - emails!
  • API: Read invite - GET /topics/:topicId/invites/:inviteId - auth: knowing the inviteId (uuidv4)
  • API: Accept an invite - POST /api/users/:userId/topics/:topicId/invites/:inviteId/accept - auth: knowing the inviteId (uuidv4) && user.id === invite.userId
  • API: Delete (revoke) invites - DELETE/topics/:topicId/invites/:inviteId - auth: Topic admin - citizenos/citizenos-fe#112 (comment)
  • API: Read/list - handle deleted and expired invites, TESTS!
  • API: /topics/:topicId/invites -> /topics/:topicId/invites/users/ so that there is a clear distinction between User and Group invites.
  • FE: Activity links to invite or topic depending on the viewer
  • API: BUG - multiple accepts of the same invite create several activities
  • FE: Localization - change activity messages to reflect "create invite" (ACTIVITY_FEED.ACTIVITY_USER_INVITE_TOPIC_USE, (ACTIVITY_FEED.ACTIVITY_USER_ACCEPT_INVITE_TOPIC)
  • FE: Activity icons - make sure icons are shown in mobile and desktop
  • FE: BUG - double create User events! - https://github.com/citizenos/citizenos-api/blob/master/libs/passport/index.js#L107
  • API: Create invites - activity!
  • API: Accept an invite - activity!
  • API: DB migration for TopicInvites!
  • BUG: Sometimes clicking invite from activity feed still shows the red error bar for expiry while it should show the modal.
  • Add localization context to Crowdin
  • API: When user accepts the invite, the invite is not marked as deleted thus UI shows pending invite and added member.

Related to:

voting deadline expiry not accurately reflected

When voting has a deadline and the deadline is expired, a user who navigates to voting tab does not understand, what the status is, because:

  • no message anywhere about "voting closed" (see attached image)
  • coloured status timeline at the top of the page indicates ongoing voting
  • deadline in the top right corner does not say "voting" deadline, but "signing" deadline and it is difficult to notice

Why is this a problem: as evidenced by the image, situation right now is very confusing. All signs indicate, that voting should be ongoing, yet a vote cannot be cast. Most frustrating for the user.

Possible solution: relabel the date in the top right corner correctly and once expired, make it red and well visible. Also, possibly say "voting deadline expired" in red on top of the voting results.

unclear ux

EP: No "create link" button - can't create links with custom texts

Overview

There is no "create link" button to enable creating links with custom texts.
There used to be, but EP removed it in favor auto-detecting links.

TODO

  • Find a way to enable links with custom text while keeping the auto-detect working. Also auto-detected links should be editable to create custom text.
  • Check DOCX export, make sure links are exported.

Login: Adapt layout to Google Sign-In guidelines

Background

We're using old Google logo and customized layout.
Google does not like it. They have automated mechanisms for checking for violations and will report them to the owner.

Not sure if ignoring it would do any harm.

All and all it's best for the user that Google Sign-in looks the same on different platforms including Citizen OS

TODO

BUG: App's English locale should be en-GB to have a correct date format

Currently, if app's language is set to English, the date format looks like mm/dd/yyyy. (08/31/2018)

Since we currently only have one default English and most of our EN-speaking users come from non-US territories, I propose to set current English locale to en-GB for the date format to be displayed as dd/mm/yyyy. (31/08/2018)

screenshot 2019-01-07 at 15 09 13

/my/topics/:topicId - Invite Users UX annoyances

Reproduce

  • Go to /my/topics/:topicId
  • Press "invite" in the "Users list"
  • Search a user and click "Save topic and send invite"

Result

  • "Users list" section is closed
  • "Users list (COUNT)" - COUNT is not updated
  • "General information" "Users" - count is not updated
  • Once "Users list" is re-opened, counts update, BUT page scrolls to "Users list" section (which is expected only if the section is out of viewport).

TODO

  • Do not close "Users list" section.
  • Update User list in the "Users list" section AND the counts in the header and "General information" section.
  • Scroll to "User list" section ONLY if it's out of the viewport.

image

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.