Git Product home page Git Product logo

echo-chat's People

Contributors

alectroemel avatar alexbrazier avatar blaskovicz avatar danielbush avatar emcguinness avatar engelgabriel avatar fduraibi avatar garychapman avatar geekgonecrazy avatar gmsecrieru avatar graywolf336 avatar huljo avatar jparyani avatar kakawait avatar karlprieb avatar lucasvanhalst avatar marceloschmidt avatar martinschoeler avatar matthias-brun avatar mnt avatar pitamar avatar rcaferati avatar rockhouse avatar rodrigok avatar rwakida avatar sampaiodiego avatar shahar3012 avatar sing-li avatar toxicgumbo avatar ziedmahdi avatar

Stargazers

 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

echo-chat's Issues

UX: which flex-panels in chat should be permanent and which should be ephemeral

@jeffreywescott commented on Thu May 12 2016

Specifically:

  • which commands deserve a permanent "tab button" on the right-hand side
    • what icons should be used
  • do we want to remove any of the "standard" Rocket.Chat tab buttons

Related: learning-os-software/#43


@jeffreywescott commented on Thu May 12 2016

/cc @tannerwelsh (in your UX role)


@tannerwelsh commented on Tue May 24 2016

Thanks @jeffreywescott - I want to establish a consistent pattern here and so created issue LearnersGuild/learning-os-software#47


@jeffreywescott commented on Tue May 24 2016

Okay. Should we close this issue?


@tannerwelsh commented on Tue May 24 2016

Yes, let's close it. It doesn't really belong in this repo anyway, right?


@jeffreywescott commented on Tue May 24 2016

Two ways to look at it. I had created the issue in this repository because that's where the work will be done to "make it so". If you think it requires more detailed documentation in the GitBook, that's fine with me. Eventually, whatever you decide will generate one (or more) issues on this repository.


@tannerwelsh commented on Wed May 25 2016

Got it. Will re-open then and leave for future assignment.

remove any unwanted features and interface from Rocket.Chat

We need a way to disable "default" Rocket.Chat features and interface. For example:

  • disable user changing user profile information or avatar from within Rocket.Chat
  • unwanted extra slash commands (e.g. /tableflip. why.)
  • (more -- what else?)

GitHub sometimes returns 404 for avatar image, causing errors in log that aren't really errors

We shouldn't dump stack traces here, since we're gracefully moving on. We should just log something like "couldn't set avatar using GitHub".

Nov 28 16:12:52 echo app/web.1:  Error while handling the setting of the avatar from a url (https://github.com/manoloish.png?s=200) for manoloish: { [Error: failed [404] Not Found] stack: [Getter] } 
Nov 28 16:12:52 echo app/web.1:  Exception while invoking method 'createOrUpdateUserFromJWT' TypeError: Object [object Object] has no method 'split' 
Nov 28 16:12:52 echo app/web.1:      at [object Object].createOrUpdateUserFromJWT (server/sso.js:69:17) 
Nov 28 16:12:52 echo app/web.1:      at [object Object].methodsMap.(anonymous function) (server/lib/debug.js:17:26) 
Nov 28 16:12:52 echo app/web.1:      at [object Object].methodMap.(anonymous function) (packages/meteorhacks_kadira/lib/hijack/wrap_session.js:164:1) 
Nov 28 16:12:52 echo app/web.1:      at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) 
Nov 28 16:12:52 echo app/web.1:      at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) 
Nov 28 16:12:52 echo app/web.1:      at [object Object]._.extend.protocol_handlers.method (livedata_server.js:678:23) 
Nov 28 16:12:52 echo app/web.1:      at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) 
Nov 28 16:12:52 echo app/web.1:      at [object Object].sessionProto.protocol_handlers.method (packages/meteorhacks_kadira/lib/hijack/wrap_session.js:51:1) 

Github username change issue

@harmanlearns commented on Sat Aug 13 2016

Expected vs. Actual

What were you attempting to do? What actually happened?
I changed my github username to match my email and website. It caused echo to have issues in terms of private groups and having the same permissions as a user in channels.

I can not see any of the previous private channels and no more gear icon next to a post in certain channels.

Steps to Reproduce

How can you reproduce the bug? Include as much detail as you can.
-Change github username
-try to use echo again in same channels as previous username

Environment and Versions

What versions of relevant external software were you using (browser, OS, etc.)?
Chrome on Mac.


@jeffreywescott commented on Mon Aug 15 2016

Thanks for reporting this, @harmanlearns. Is this blocking you from being able to work / collaborate (trying to prioritize)?


@harmanlearns commented on Mon Aug 15 2016

@jeffrey: This is not blocking me from working right now. I can send and receive messages.

This can be fixed when there is time available. I mainly cannot:

-react to messages
-edit messages after sending on some channels
-access private channels

Thanks!

On Aug 15, 2016, at 4:55 AM, Jeffrey Wescott [email protected] wrote:

Thanks for reporting this, @harmanlearns. Is this blocking you from being able to work / collaborate (trying to prioritize)?

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


@jeffreywescott commented on Mon Aug 15 2016

Related: RocketChat#3545

Fixup @harmanlearns' username data

See #59

One option here would be to just temporarily re-enable the ability for users to change their username and then change @harmanlearns username back to the old value and then back to the new one. That should trigger all the right cleanup.

when `/vote` is issued by a user that is not a player or moderator, the flex panel won't load

@jeffreywescott commented on Tue May 17 2016

It just shows a progress bar ... forever.

Instead, it should:

  1. If the user has permission to viewCycleVotingResults, but isn't a player (e.g., backoffice and moderator roles):
    • if there is only a single chapter / cycle voting, it should load the voting results for that chapter / cycle
    • if there are multiple chapters / cycles voting, it should present the list of cycles and allow the user to choose which results they want to look at
  2. If the user doesn't have permission to viewCycleVotingResults, an error message should be returned to the chat interface saying "You don't have permission to do that."

@jeffreywescott commented on Wed May 18 2016

@prattsj -- this could be a nice, self-contained first issue for you to tackle. LMK what you think.


@jeffreywescott commented on Wed Jun 01 2016

Related: game/#115.

We should infer project context from the channel in which commands are being issued

@shereefb commented on Tue Jul 05 2016

If project name is missing we should infer from channel. For example, if we are issuing reflection commands in the project channel, there's no need to add the project name.


@prattsj commented on Sun Jul 10 2016

@shereefb: was thinking about this today during a chat w/ @bundacia about the retro changes in progress. do you think it also makes sense to go a step further and actually require that project-specific commands be issued from the project's channel?


@shereefb commented on Sun Jul 10 2016

It's a good question. I like the idea of relying more on channels for context.

I worry a little about the user experience of someone who is reviewing a bunch of projects, and having to navigate to different channels to log their project reviews. Gut sense, I think it simplifies things to use channel as a context.


@jeffreywescott commented on Sun Jul 10 2016

I'm against the idea of having to be in a certain channel to issue a command. That's just not how commands work. Furthermore, we will eventually have this same toolbelt of commands available from their terminal, so I don't want to go down a path where we're reliant on a chat context for certain information.


@prattsj commented on Sun Jul 10 2016

Sometimes, it is sort of how commands work. In a terminal, "context" is often drawn from the directory in which you're issuing the command.


@prattsj commented on Sun Jul 10 2016

I actually like this idea very much. It links the project-related activity in my mind as a player to this one specific space (and only this space) for discussion with my project's team. We don't have any working directory to look to for additional context as needed the way that a program might when a command is issued in a terminal, and it seems the room name can serve that purpose well by reducing the cognitive load for the user and, in a very practical sense, by reducing typing effort required by anyone who currently needs to specify project names due to being in multiple projects.


@prattsj commented on Sun Jul 10 2016

...we will eventually have this same toolbelt of commands available from their terminal, so I don't want to go down a path where we're reliant on a chat context for certain information.

A requirement for pulling the project name from the channel a command issued in in Echo and a requirement for cleanly supporting a terminal command line interface aren't mutually exclusive.

I'm just thinking...if we infer project name from the room at all...then it seems safest for the user that we do it this way exclusively. It's not hard to imagine a player on multiple teams accidentally issuing a command meant for one project in the room for another project. Sure, players on multiple teams would then have to switch channels, but that seems easier to me than having to type project names all the time, and when I think about how little effort it requires to switch between, say, the #los and #player-support channels in LG slack, I'm not concerned about it at all.


@jeffreywescott commented on Sun Jul 10 2016

The risk of someone making a mistake is much higher when we infer things ... if we force people to be explicit, then they'd have to explicitly type the wrong project to do something wrong. Furthermore, because project names are prefixed with #, they auto-complete, so the typing to me doesn't seem to be a huge burden.

When you say "do it this way exclusively", do you mean we shouldn't allow them to pass a project name to override it? I don't like this -- I really want the command syntax to remain consistent across different environments -- it's much less cognitive load that way. I imagine that (long term) many commands will be preferable to issue inside of echo (like /vote), whereas others will make more sense to do from the terminal (like /review). But regardless, I don't want the users to have to know different command syntaxes depending on where they are.

I'm okay with having a notion of "context", which in echo could be the channel that they are in, in the terminal might be the git repo they are in, etc. But context should be able to be overridden. It's kinda like if I'm in a certain directory and I type ls I get a file list for that directory, but if I do ls /tmp I get the list of files in /tmp.


@prattsj commented on Sun Jul 10 2016

Ok. So...project-specific commands should be issued from within a project channel, from which we'll infer project name by default but which can be overridden with an explicit project name param? And an attempt to make a project-specific command outside of a project channel without specifying the project would throw an error?


@jeffreywescott commented on Sun Jul 10 2016

That sounds about right.

Set up incoming webhook for direct messaging

@prattsj commented on Tue Aug 02 2016

Fortunately, we won't have to wade in any real Meteor/Rocket.Chat ๐Ÿ’ฉ to get it done. Found sufficient (though unfortunately, undocumented) support already built into RC for sending direct messages through the API.

Setup:

  1. Simple webhook config

    screen shot 2016-08-02 at 12 06 26 am
  2. Simple API call

    screen shot 2016-08-02 at 12 08 28 am
  3. Et voila...direct messages

    screen shot 2016-08-02 at 12 09 02 am

Suggested feature: show user's full name on hovering over username

As a new user, I would like to quickly know who posted what (even before I memorize everybody's github/username), so that I can feel a part of an actual community and engage with a minimum of frustration.

The best way I can think of is showing the full name on hovering over the username... either in a message window (currently no hover text) or in direct messages (currently hover text is just the username again).

Add handling for custom direct messaging API endpoint

Related to #50.

Currently, we're using a sort of hacky solution w/ webhooks to post direct messages through the API.

Ideally, this feature would be supported by a more solid custom API endpoint. Perhaps something like POST /api/lg/messages/@username.

Fix sidebar color

The first screenshot is dev (local). The second is in prod. The colors in dev look a lot better.

screen shot 2016-07-25 at 10 45 42 am

screen shot 2016-07-25 at 10 45 52 am

Staging environment?

@prattsj commented on Fri Jul 08 2016

Now that we're up and running in prod (๐ŸŽ‰), should we set up a shared dev/staging environment?

https://echo-staging.learnersguild.org


@jeffreywescott commented on Fri Jul 08 2016

Let's definitely talk about this. In general, I am 1000% against staging environments as a concept (continuous delivery #ftw -- happy to explain my reasoning), but I am in favor of the idea of getting our development and production environments as sync'ed as possible. IMO, the best approach to this is to Docker-ize our setup. Let's discuss along with the rest of the "non-user-facing" stuff we wanna chat about.

stop hardcoding IDM and game URLs in Rocket.Chat packages

There are a few places in the code where we're comparing the user's current domain to determine the service URL for game or IDM. We should externalize these URLs into environment variables / configuration somehow.

  • rocketchat-lg-sso
  • rocketchat-lg-slash-commands

Open playbook in side panel with `/playbook` command

@tannerwelsh commented on Thu Oct 27 2016

Strategic Goals this issues impacts

  • !Learners quickly understand how to play the game
  • !Players know how to increase low stats

Benefits

Everybody benefits. Nobody loses. ๐Ÿฐ for the ๐Ÿง

Description

From Echo, issuing the slash command /playbook will open the side panel with an iframe with location https://playbook.learnersguild.org/.

Bonus points: arguments passed to /playbook would be passed to the search feature of gitbook, so /playbook stats would open up https://playbook.learnersguild.org/?q=stats.


@tannerwelsh commented on Thu Oct 27 2016

Ready for review @LearnersGuild/software


@bundacia commented on Thu Oct 27 2016

LGTM


@tannerwelsh commented on Tue Nov 01 2016

RFI @jeffreywescott

Not redirected to login when JWT has expired

I hit echo-chat (locally) and attempted a command. I expected an error response, but not one that was related to authentication.

Received the message:

Error: You are not authorized to do that.. Try --help for usage.

The game server had logged the following:

Error getting user from JWT: jwt expired

Logging out and back in resolved the problem, but if the token was expired, I should have been redirected to login again as soon as I attempted to load the chat app.

We have two issues:

  1. The error messaging in the app was not at all helpful. It should have told me not that I wasn't allowed to do something but that I needed to log in again.
  2. It should have forced me to log in again before loading the app. :)

Add a package.json and use npm scripts for fun and profit

Your Rocket.Chat version: Not important

Summary
We should add a package.json file and leverage the capabilities of npm when developing and testing echo-chat locally.

Example nice-to-haves:
Automatically update local versions of rocketchat-lg-* packages and create links:

  $ npm run update

Start the app (replacing /learners-guild/start.sh):

  $ npm start

Replace Rocket chat loading gif with LG loading gif

@shereefb commented on Thu Jun 16 2016

The big rocket emoji that shows up when switching between channels

shereeflearnsaboutbranding


@jeffreywescott commented on Thu Jun 16 2016

Rocket.Chat doesn't (yet) support theming.

As such, to accomplish this, we'd need to:

  • cloning the rocketchat-ui-master package (e.g., to rocketchat-lg-ui-master)
  • modifying the loading.html template from the animated SVG to our own loading animation
  • replacing rocketchat-ui-master with the cloned package in .meteor/packages and .meteor/versions

It's worth noting that, if we go this route, and changes are made to rocketchat-ui-master, we will not automatically get them when we merge with upstream. This will be the first "breaking" deviation from RC proper.

@shereefb do we have an animation that you'd like to use for loading, or just anything that's not the rocket for now?


@jeffreywescott commented on Thu Jun 16 2016

A "quick and dirty" hack might be to just make it invisible with custom CSS, as described here: RocketChat#2011


@jeffreywescott commented on Thu Jun 16 2016

I've just done a display: none on the Rocket for now.


@jeffreywescott commented on Thu Jun 16 2016

@shereefb LMK if this is sufficient for v0. I'd rather wait for RC to support proper theming before we go hog-wild on interface changes.


@shereefb commented on Fri Jun 17 2016

I think hiding it is an improvement from a branding perspective, and a downgrade from a usability perspective. But I prefer it that way.

Regarding gif, the look and feel we should use the loading screen before redirecting to IDM with our logo and the blue-line.

If this is too much of a PIA for now it's totally fine to punt to V1 and just use the css hack for now. (although, speaking of css hacks, couldn't we css to display another gif?)


@jeffreywescott commented on Fri Jun 17 2016

Okay, I've hidden it for v0 and changed the milestone for this to v1.

Unfortunately, the best we can do with the CSS hack is to hide the SVG. It's not a GIF, and there's out outer container for the SVG: https://github.com/RocketChat/Rocket.Chat/blob/develop/packages/rocketchat-ui-master/master/loading.html

Filter inactive project channel names from autosuggest list

Typing # in rocket.chat causes a list of autosuggested channel names to appear. We're able to use this as a hack for getting autosuggest/autocomplete of project names since every project created has a channel with the same name as the project.

However, as time goes on and the number of projects (and therefore channels) increases, this list is going to grow to such a length that it'll negatively impact the user experience.

Is there a way that we can filter out channels for projects that are no longer active? For example, if we were to automatically archive a project's channel on /cycle end, would that cause it to be excluded from the autosuggest list?

screen shot 2016-07-11 at 1 27 38 pm

up-arrow in echo behaves strangely

@deadlyicon commented on Fri Jul 01 2016

Expected vs. Actual

i want to hit up in echo (rocket) and see my pervious command. every time. I got some way old command :(

Steps to Reproduce

enter a command like /vote 1 2
hit up
you wont see that command

Environment and Versions

n/a

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.