GithubHelp home page GithubHelp logo

minds / front Goto Github PK

View Code? Open in Web Editor NEW
165.0 30.0 100.0 308.03 MB

mirror of https://gitlab.com/minds/front

Home Page: https://minds.com

License: GNU Affero General Public License v3.0

TypeScript 68.87% HTML 14.16% JavaScript 3.24% Shell 0.08% Dockerfile 0.01% SCSS 13.21% Gherkin 0.43%
angular javascript nodejs php activitypub fediverse fediverse-client prettier progressive-web-app pwa

front's Introduction

Minds

Minds is an open-source, encrypted and reward-based social networking platform. https://minds.com

Docs

Full documentation can be found at https://developers.minds.com/. We suggest getting started at the introduction.

Repositories

Minds is split into multiple repositories:

  • Engine - Backend code & APIs
  • Front - Client side Angular2 web app
  • Sockets - WebSocket server for real-time communication
  • Mobile - React Native mobile apps

Development Installation

See our installation guide to get your local stack up and running

Troubleshooting

Having trouble with your local stack? See troubleshooting

Contributing

If you'd like to contribute to the Minds project, check out how to contribute or head right over to the Minds Open Source Community. If you've found or fixed a bug, let us know in the Minds Help and Support Group!

Security reports

Please report all security issues to [email protected].

License and Copyright

General license and copyright information is located here, and the AGPLv3 fine print is available here. In addition, please see the license file of each repository.

front's People

Contributors

alejandronegri avatar alexisrcausa avatar bhayward93 avatar brianhatchet avatar chaitu98 avatar edgebal avatar eiennohi avatar faustojohn avatar francewhoa avatar gthouret avatar javalewis avatar jim-toth avatar juanma16062001 avatar manishoo avatar markharding avatar michaelfbradley avatar msantang78 avatar mul53 avatar nachosarnaglia avatar namesty avatar narc88 avatar omadrid avatar ottman avatar parrhesiajoe avatar tanyaminds avatar theunknownartisthour avatar vinliao avatar xander-miller avatar zackwy 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

front's Issues

SASS: Missing SASS variable

During installation:

[08:00:48] Starting 'build.sass'...
Error in plugin 'sass'
Message:
    app/stylesheets/components/mature.scss
Error: Undefined variable: "$minds-padding".
        on line 128 of app/stylesheets/components/mature.scss
>>     top: $minds-padding;
   ---------^

Concatenate long message titles in notifications

Currently, when one receives a notification, they will receive with it the ENTIRE message, with carriage returns removed, as the title of the post. I took a screenshot as an example. This makes it very difficult to sift through notifications quickly, but looks like something I might be able to write a PR for rather easily... but I would like to know what everyone else thinks as I'm just an OSS hacker on the outside.

minds-long-titles

When I wire points to someone, the notification icon is their icon, not mine. "You have successfully wired"

tl;dr: the notification that I get, after wiring points to someone, has their icon not mine .
But when they wire to me, it still has they icon (which is probably correct).
This also means that when I wire to someone, I may not get the notification, because it's considered a notification from them.

screenshot_2017-10-05_01-28-42


When I wire points to someone, the notification that I get has their icon (red in screenshot)
and because of this, it seems, that I don't receive these notifications when I wire to users that Muted/Blocked me?(or some else is going on)

screenshot_2017-10-05_01-01-52

When I wire to myself, the two notifications are the same:
If I wire some points to myself, this ("You have successfully wired...to...") is the message that gets triggered, twice. Instead of, once this and once the next one with "You have received a wire... from ...". This used to work prior to Aug 28th

Does this mean notification.params.from_guid == session.getLoggedInUser().guid is true for both notifications?

I think the notification.params.from_guid is the wired-to user's guid for both notifications, instead of mine. And since that commit is the latest for that change and it was 2 months ago, something else changed (not that html) which made this issue possible.

screenshot_2017-10-05_00-41-58

When I receive a wire, it's still the sender's icon that's showing (which is probably good?)
screenshot_2017-10-05_01-25-17

EDIT1: on mobile the notification that they sent points to me shows an error (and notice how it has my icon not his) (according to pinn's comment in this thread)
1

Links on homepage directing users to strange places

As Saz notes on: https://www.minds.com/newsfeed/644309925555613716
There are several places where links on minds are malformed:

In this instance it's pretty straightforward a relative path /p/ is being added in as /p%2f (where %2f is supposed to be a /) but somewhere along the way that doesn't get encoded, resulting in broken links, often to random profiles.

Some source code to look at:
https://github.com/Minds/front/blob/ecbcd58fd8ced29acc7e52db0e89c4d31cca7c87/app/src/controllers/home/homepage/homepage.html

Specifically look for 'm-footer-nav-item', there are a few that are like this.

A potential fix may be to remove the conditional section:

          <a *ngIf="page.path === '/P'" [routerLink]="['/P', {page: page.params.page }]" class="mdl-color-text--blue-grey-100">{{page.title}}</a>
          <a *ngIf="!page.path" [href]="page.params.page" target="_blank" class="mdl-color-text--blue-grey-100">{{page.title}}</a>

and just use

          <a [href]="page.params.page" target="_blank" class="mdl-color-text--blue-grey-100">{{page.title}}</a>

changing media visibility sometimes has no effect

There's a bug whereby changing media visibility(Unlisted/Public/Loggedin) has no effect, so the action has to be repeated between 0 and at 4 times(number can be higher!) until it has effect. (0 times is for when it workes as expected)

I don't think this is browser-related because I've no disk caching enabled (though some in-memory caching is likely in effect - Chromium).

It usually works, setting the media from Public to Unlisted for example. But sometimes (40% of the time?) it has no effect so it remains Public. Then I repeat the action a few times until I see the result is indeed as I set it: Unlisted.

I really doubt it's a caching problem on my browser side. I'm pretty sure the media visibility is indeed not set to the new value when it shows the old value after updating it.

I'm thinking that fixing this issue will also fix this one: #56

front end building issue

ok so in the version previouse to the new release you would run npm run build and it would do its thing, you would eventually end up with a public folder and all is good, however in the new version when i run npm run build it does its thing (after creating a blank main.css file) it works and finishes with no error, but there is no public folder??
is it not building fully?

is it silently die'ing??

am i doing something wrong lol

would love to get it up and running, thanks !

image

Reminded blogs on channel referring wrong URL

Heya guys,

Not sure if this belongs in the front repo, but I'm putting it here, since I can't seem to figure out where it actually goes.

Reproducible: Go to a channel. Find a reminded blog. Hover over, you'll see it'll go to minds.com/view/$guid. Try going to it, it goes to a blank page. Substitute view for blog/view in the URL bar, and you get the blog. The example I'm using is Knightstarr's channel, https://www.minds.com/Knightstarr .

I'd go fix this myself, but without having debugging tools and rifling through the code, I can't seem to figure out where to fix this issue.

build.js: Invalid typings for XMLHttpRequestEventTarget

[08:00:51] Starting 'build.js'...
app/src/services/api/upload.ts(44,16): error TS2339: Property 'status' does not exist on type 'XMLHttpRequestEventTarget'.
app/src/services/api/upload.ts(45,30): error TS2339: Property 'response' does not exist on type 'XMLHttpRequestEventTarget'.
app/src/services/api/upload.ts(47,18): error TS2339: Property 'response' does not exist on type 'XMLHttpRequestEventTarget'.
[08:01:09] TypeScript: 3 semantic errors

Twofactor Login No Longer Working

Hi there :)

If this is not the correct place to report this challenge, could you please redirect me to the correct place?

This is to report that the Twofactor Login is no longer working at https://www.minds.com/login So users with that feature activated are not able to log-in Minds.

Steps to reproduce

  1. If not already done activate your Twofactor Login with https://www.minds.com
  2. Log-out
  3. Go to https://www.minds.com
  4. Click on "LOGIN" button
  5. Using the "Login to Minds" form, enter your username and password. Click on "LOGIN" button.
  6. The form reads "Twofactor Login". " We just sent you a text. Enter the code below to authenticate." This screenshot shows this form.
    mind---2fa---challenge---2017-12-04---14 33 45---selection_001---francewhoa
  7. The challenge is that the code is never received. So the users are locked out of Minds and can't log-in. One or two weeks ago the "Twofactor Login" was working fine.

Using

  • Firefox 52.5.0 (64-bit)
  • Chromium Version 57.0.2987.98 Built on 8.7 (64-bit)
  • Google Chrome Version 62.0.3202.94 (64-bit)
  • Linux Debian 8.9 at 64 bits
  • Mobile phone number in Canada

I first tried to report this challenge at https://www.minds.com/groups/profile/100000000000000681/activity;ts=1512427331951
But I can't because the Twofactor Login is not working. So I'm locked out and can't use Minds.com

I would be happy to contribute testing

My Minds profile at https://www.minds.com/francewhoa

Cheers,

Francewhoa

Front end icons not displayed on my system

For several months now, my web browser experience has been significantly hindered by an improper rendering of the interface's icons, as you can very well see in the snapshots attached.
It becomes particularly difficult when I want to write comments which are longer than half a line.
I do not have this issue if I access Minds from a mobile's browser, only my desktop which runs an up-to-date Gentoo Linux. Is there a way for me to fix this?

screenshot_20170514_200551
screenshot_20170514_200614
screenshot_20170514_200644
screenshot_20170514_200714

Misaligned text in top bar search box

As shown in the image below.

screenshot

I'm not seeing any console errors.

Works fine in Firefox, only seeing the problem in Safari Version 11.1 (13605.1.33.1.4) on macOS 10.13.4.

Task 'test' is not in your gulpfile

Per this doc:

Doing this command: minds/front $ gulp test

Getting this result:

[19:17:09] Requiring external module ts-node/register
[19:17:11] Using gulpfile ~/projects/github/gtcode/minds/minds/front/gulpfile.ts
[19:17:11] Task 'test' is not in your gulpfile
[19:17:11] Please check the documentation for proper gulpfile formatting

Auto-login

Hello,

Is it by design that i must press 'login' each time i load the site in the browser? i.e. no "Remeber Me" functionality.

Regards,

Daniel

Error while gulp build

hello,

i encounter this error while running gulp build.
[12:59:05] Error: ENOENT: no such file or directory, scandir '../plugins'

Selling and exchanging tokens

I think users need to know more about selling and exchanging minds tokens. Currently the FAQ and whitepaper, etc say nothing about it.

Users are going to be wondering things like:

  • Why can I only withdraw the amount in my OffChain address but not my OnChain address?
  • I bought minds tokens, why do they show on minds but not on metamask?
  • How do I exchange my minds tokens back to ETH again?

Infinite Subscriptions

This is an active exploit of the points system:
https://www.minds.com/newsfeed/645708969918078985

Here are the two parts of the subscription system:
https://github.com/Minds/front/edit/master/app/src/components/buttons/subscribe.ts

https://github.com/Minds/engine/edit/master/Controllers/api/v1/subscribe.php

In the second part the post function should check if the user isn't already subscribed:

    public function post($pages)
    {
        Factory::isLoggedIn();

        if ($pages[0] === 'batch') {
            $guids = $_POST['guids'];


            Queue\Client::build()
              ->setQueue('SubscriptionDispatcher')
              ->send([
                  'currentUser' => Core\Session::getLoggedInUser()->guid,
                  'guids' => $guids
              ]);

            return Factory::response(['status' => 'success']);
        }

        $canSubscribe = Security\ACL::_()->interact(Core\Session::getLoggedinUser(), $pages[0]) &&
            Security\ACL::_()->interact($pages[0], Core\Session::getLoggedinUser());

        if (!$canSubscribe) {
            return Factory::response([
                'status' => 'error'
            ]);
        }
       /*Need to check if subscribed already:*/
      $alreadySubscribed = false; /*make use of get request above?*/
       if ($alreadySubscribed){
            /*Throw an error? W/ already subscribed message*/
            return Factory::response([
                'status' => 'error'
            ]);
       }
        $success = elgg_get_logged_in_user_entity()->subscribe($pages[0]);
        $response = array('status'=>'success');
        Helpers\Wallet::createTransaction(Core\Session::getLoggedinUser()->guid, 1, $pages[0], 'subscribed');
        if (!$success) {
            $response = array(
                'status' => 'error'
            );
        }

        return Factory::response($response);
    }

Similar solution also needs to be implemented for the delete function*...to prevent users from potentially draining themselves of points.

Account deletion!

Hey!

Account settings don't include an option for account deletion, just channel deactivation, as you're well aware.
Can you please make that option available.

Thanks.

[Bug]

Long channels names break the UI.

image

Infinite 0.002 ETH donation

Hi there.

I noticed that it is possible to loop indefinetly end thus indefinetly receive the 0.002 ETH donation.
I report it as a bug because my understanding of it was that it occured only when you setup your onChain adress for the first time
-Login to metamask
init
-Click 'use metamask'
result is :
result 2
-Click 'change' under the eth adress
-Click 'use metamask'
Result is
result 3

  • And so on....

You get 0.002 ether every time you do that (note the timestamp in the notification), the adress never change and the transactions are validated
tx

Hope this is relevant and helpful

not found @angular/platform-browser/animations.js on gulp build

I did tried to run gulp build on my host and inside vagrant both.

Starting 'build.bundles.app'...
Unhandled rejection Error on fetch for @angular/platform-browser/animations at file:///var/www/Minds/front/node_modules/@angular/platform-browser/animations.js
	Loading .tmp/bootstrap
	Loading .tmp/app.module
	Error: ENOENT: no such file or directory, open '/var/www/Minds/front/node_modules/@angular/platform-browser/animations.js'
    at Error (native)

Pause button for the boosted articles display

on top of the feed we have boosted articles rotating, some times there are videos or long text it would be nice to pause the rotation so that we can finish reading/watching.

Also make the total height of that div fixed so that if it is an article with a lot of text it does not push the rest of the feed up and down as it rotates

Thanks :)

Totally non-obvious what /newsfeed mdl-switch does

There is a left-right toggle switch UI element that seems to correspond to:
<span class="mdl-switch__ripple-container mdl-js-ripple-effect mdl-ripple--center"><span class="mdl-ripple"></span></span>
Switching it doesn't seem to do anything, and it has no mouseover tooltip text.

It's kinda infuriating.

Installation process is Fatal

I've ran the prep script on a dedicated machine it was full of errors and request to make a report. Not so sure whatsup

2FA not working

Yesterday, I created my account with associated SMS auth.
This morning, I correctly authenticated from a different PC.
This afternoon, same PC, I needed to login again (strange), but it isn't working.
On the console I receive a 401 on https://www.minds.com/api/v1/twofactor/authenticate and the GUI gets back to the login page with an added red rectangle (which I guess should contain an error, but doesn't):

image

In addition to that, when I try "recover password", my username doesn't exist (and certainly does, it sends me the SMS on login attempt):

image

SUBSCRIBERS (5) count is incorrect or it doesn't allow me to see/unsub from dead accounts

In the following screenshot SUBSCRIBERS (5) should be SUBSCRIBERS (1)
OR, the other 4 users(or is the term channels?) should be shown so that I can potentially unsubscribe them from me, by ie. by blocking them first.

Note: if I remove the visible subscriber (by blocking then unblocking him and refreshing page) I do get SUBSCRIBERS (4) and an empty list of subscribers. I am guessing the 4 hidden/unshown subscribers are either banned or deactivated(themselves?).

screenshot_2017-10-13_11-05-03

EDIT: added SUBSCRIBERS (4) screenshot:
screenshot_2017-10-16_11-42-47

(feature): Add a web app manifest

I'm really interested in making Minds a really good social media competitor, and I'm wondering if I may submit a PR to add an app manifest to the site. Thanks.

(bug): System.import('bootstrap') fails

Tried to start up a vagrant instance of minds, properly redirected the ip w/ the hosts file and checked out the result, nothing but a spinning wheel of death~

Checked the console log error and found this:

Uncaught ReferenceError: System is not defined at (index):110
System.import('bootstrap').catch(function(){console.error(e,'Report this error at https://github.com/minds/front'});

So I decided to report the error despite it not being caught...because system is undefined.

I would hunt down for the System object hidden somewhere in javascript, but I imagine someone has a rough idea of how to fix it. I don't know how important the system variable is, but since it just shows up as a one liner, I'd suggest checking if it's defined before trying to run any of its methods.

if(typeof System !== 'undefined'){
System.import('bootstrap').catch(function(){console.error(e,'Report this error at https://github.com/minds/front'});
} else {
console.log('System Undefined! Report this to https://github.com/minds/front');
}

Source of the problem:
https://github.com/Minds/front/blob/4f758c0d680bf2890882abd9d14c3dbec23b4242/app/index.php

    <% if (ENV === 'dev') { %>
    <script>
      System.import('<%= BOOTSTRAP_MODULE %>')
        .catch(function(){console.error(e,'Report this error at https://github.com/minds/front')});
    </script>
    <% } %>

Not exactly going to dig through code, but as of the most recent commit: e51113f

(spinning wheel of death continues, the error above doesn't stop any important javascript execution, seems as if I'm missing some incredibly important things to get this to work*)

forgot password not sending e-mail to gmx.com domain

I confirmed with GMX that they are not blocking Minds.com
Confirmed this issue by creating a temporary Minds account with a GMX address;
then proceeding to follow forget password procedure. No e-mail arrives; waited over 48 hours.

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.