Giter Club home page Giter Club logo

steeditor's People

Contributors

angular-cli avatar drsensor avatar jakipatryk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

steeditor's Issues

(editor) Community should be optional

Right now, the Community field is required, but it should be optional.

To do:

  • Remove Validators.required (here)
  • Change text on the label into something that does not contain a word "required" (here)
  • Remove error hint (here)
  • Remove error message from the class (here)
  • Remove specs (this and this)

Metadata inconsistency for links and user mentions

Expected behavior

steeditor should put URLs and user mentions from the post body in the corresponding json_metadata fields

Actual behavior

How to reproduce

Two test posts with the same body: utopian template + one image + a markdown link

{"app":"steeditor/0.1.0",
"format":"markdown",
"image":["https://steemitimages.com/0x0/https://user-images.githubusercontent.com/33018033/42889616-25f17de6-8aab-11e8-971e-e05abdb331e1.png"],
"tags":["not-utopian","not-analysis"],
"users":["stmdev"],
"links":["https://steemit.com/test/@stmdev/steeditor-test-1532283370486"],
"community":"steeditor"}
{"tags":["not-utopian","not-analysis"],
"image":["https://steemitimages.com/0x0/https://user-images.githubusercontent.com/33018033/42889616-25f17de6-8aab-11e8-971e-e05abdb331e1.png"],
"links":["https://github.com/utopian-io/utopian.io","https://steemit.com/test/@stmdev/steeditor-test-1532283370486"],
"app":"steemit/0.1",
"format":"markdown"}

Differences:

  • The steeditor metadata doesn't contain the repository in the links section, so the target repository may be empty or possibly wrong in the utopian review sheet. The steemit metadata contains the repository as the first entry in links
  • The steeditor metadata detects a user mention in the markdown link for @stmdev, while steemit treats this as part of the URL and doesn't add a users field.

Environement

steeditor.app as live on 2018-08-29
Chrome 68.0

Loading templates and drafts at the same time doesn't work correctly

Expected behavior

Loading templates and drafts at the same time should load them correctly and return them to a method which engaged loading.

Actual behavior

When templates and drafts are loaded at the same time, a method which engaged the loading receives randomly either drafts or templates.

Invalid permlink character error

Expected behavior

Steeditor builds a permlink from the post title. However, not all characters are allowed in permlinks. Steeditor should allow any characters in the title and replace invalid permlink characters to form a working permlink from the title.

Actual behavior

Underscore (_) chars from the title are not allowed in the permlink and are not replaced. The comment broadcast call to SteemConnect returns code 500 with {"error":"server_error","error_description":"false: Invalid permlink character: _"} and Steeditor shows an error:
error

How to reproduce

Try to submit a post with underscores in the title, e.g.
title

NB: steemit replaces underscores with "-".

Environment

Chrome 69.0
Steeditor as live on https://steeditor.app on 18-10-09

Contribution

Hi,
I recently start writing for projects via utopian, may I provide some documentation like FAQ for this project.
You may also request other forms of documents needed for the project.

Progressive Web App

The MVP should implement some of the features of a Progressive Web App.

  • there should be a service worker registered
  • there should be manifest.json (need a logo for that)
  • without internet connection, user should be able to make CRUD operations on drafts

Basic project setup

Project should have a basic setup.

  • create basic project structure:
    • core module
  • install and setup @ngrx/store, @ngrx/router-store, @ngrx/store-devtools, and @ngrx/effects
  • install @angular/material and setup material module
  • create basic layout

Error when no beneficiaries specified

When there are no beneficiaries specified, broadcasting results in an error.

  • check whether beneficiaries are set up and based on that create proper extensions

Adding directBeneficiary for post fans

How about adding a beneficiary feature for those who comment on your post. You will set the max number of beneficiaries and beneficiary reward percentage. E.g, 1% beneficiary for the first 20 comments.

"utopian.pay" is not a valid beneficiary's username

Expected behavior

"utopian.pay" should be a valid username when adding a beneficiary.

Actual behavior

"utopian.pay" is not a valid username.

Additional info

"." should be added as a valid char in beneficiary pattern validator.

Tags should not allow special characters except for single -

Expected Behavior

Tags should prevent a user from entering all invalid special characters except one single - between two words.

Actual Behavior

Tags allow all special characters (!@$%^&*()) except for #. When trying to publish a post, steem throws a broadcast error without any details.

Steps to Reproduce

  • Login to https://steeditor.app
  • Select draft from the top menu and then proceed to select + in the bottom right corner to add a new draft.
  • Turn off use template and click create.
  • Enter any title and body text.
  • Enter tags with special characters Ex. test/test
  • Click on Next twice to go to summary section and click Send.
  • Notice the broadcast error at the bottom of the page.

Proposed fix:

Use following regex for testing a valid tag: /^[a-z0-9]+(-[a-z0-9]+)*$/

Recording of the issue

ezgif com-video-to-gif

image

  • Browser: Google Chrome ( 69.0.3497.81 Version)
  • Operating system: OSX 10.11.6

Community restricted to lower case chars

Expected behavior

The community field in the post's json_metadata is (from Steem-perspective) only required to be valid JSON, there is no restriction on characters or formats from the blockchain implementation: https://github.com/steemit/steem/blob/c6b865b6f27999cba38f3840151c8306f14f3371/libraries/protocol/steem_operations.cpp#L86

Actual behavior

Steeditor requires the community field to consist of lower case chars only and shows an error message when other chars are used.
While lower-case chars only is quite common for the community field across apps, not all apps do this. Actifit for example uses a list in the community field. The blockchain allows any content as long as the resulting json_metadata is valid JSON.

How to reproduce

Enter upper case or special chars in the community field
screenshot_2018-08-25_12-59-51

Corresponding check in the code:

community: ['', Validators.required, Validators.pattern(/^[a-z]+$/)]

My TS skills are not sufficient to provide a PR which ensures only valid JSON.

Environment

Browser: Chrome 68.0
Steeditor.app at rev. 6911916

Editor freezes when I try to open posts from a specific app

Expected behavior

When trying to edit a post from my blog using the steeditor app, there shouldn't be issues with some posts due to its json metadata.

Actual behavior

If I try to open a post from Actifit app specifically, the editor freezes and I can't use it till I restart the app afresh.

How to reproduce

  • Am not sure how to get a post with metadata like the one broadcasted by Actifit, it has " enclosing the metadata.
"{"community":["actifit"],"step_count":["12000"],"activity_type":["Cycling, Daily Activity"],"tags":["mcyusuf","health","fitness","cycling","actifit"],"heightUnit":["cm"],"weightUnit":["kg"],"chestUnit":["cm"],"waistUnit":["cm"],"thighsUnit":["cm"],"image":["https://cdn.steemitimages.com/DQma3XriZxvHMWep4xjALkgQ1foWoQf24Ksq24FyrkRMcH3/A-4.I.png"],"appType":"","actiCrVal":"5310f62f01b497b52017269777384951ebe27ecbcaa3f9859c06af05626b9352c91d171d947260330a21b2acf2f85367","app":"actifit/v0.3.1"}"
  • Open steeditor and locate the post.
  • Click the edit icon and notice the bug.

Recording of the Bug

https://youtu.be/uSiSM0E7rx8

Working environment

  • Android 8.1 Oreo
  • Chrome version 66.0.3359.158

Post form

There should be a form for creating a post.

  • it should use Angular Material Stepper component:
    1. title, content, tags
    2. thumbnail
    3. advanced options (allow votes, allow curation rewards, etc.)
  • the Store should be updated if user doesn't type for 1 sec (title, content), and on change of other fields
  • reactive form
  • container and presentationals (OnPush)

Auth with SteemConnect

There should be implemented OAuth2 implicit grant flow with SteemConnect.

  • user should be able to log in via SteemConnect with scope comment + comment_options
  • access token should be stored in cookies
  • user should be able to broadcast

Drafts

Post's drafts should be stored locally.

  • user should be able to create a draft
  • they probably should be stored in IndexedDB

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.