GithubHelp home page GithubHelp logo

dipl.io's People

Contributors

spamguy 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dipl.io's Issues

Setting Intent (using Browser version of game)

I am unable to figure out how to set my intent through the browser version of the game. I assume that the intents within Diplicity are the same as Droidippy, "Victory", "Surrender", or "Draw". We are at a stalemate within a game as the stalemate lines have been formed and are simply being held. However, we are unable to resolve the game because I am unable to set my intent to "Draw". Can you please advise on how to remedy this issue if possible?
Thanks!

Reduce size of lodash

The vast majority of lodash isn't used in dipl.io. A minimal, custom package should be generated that contains only what is needed.

Cancel or change build/disband orders

On the web interface there doesn't seem to be an option to cancel or change a unit selected to disband before submitting a move during a fall adjustment. Ran into similar problems on builds during this phase too - you cannot remove a build from a center after you've input the move.

Need to log in twice

When I open dipl.io I am presented with the login button. I press it, select my account, and get redirected back to the same login button again.

Then I click the login button again, select my account again, and get redirected back. This second time to my list of games.

Error visiting concluded game as non-player

I visited the finished game at https://dipl.io/games/ahJzfmRpcGxpY2l0eS1lbmdpbmVyEQsSBEdhbWUYgICAwOC_kQoM as a non-player. The map didn't load and a JavaScript error greeted me:

TypeError: Cannot read property 'NewestPhaseState' of undefined
    at Object.getPhaseState (app.min.js:1)
    at a.state.state.state.state.state.resolve.phaseState (app.min.js:1)
    at f (vendor.min.js:13)
    at i (vendor.min.js:9)
    at vendor.min.js:9
    at n.$digest (vendor.min.js:9)
    at n.$apply (vendor.min.js:9)
    at i (vendor.min.js:8)
    at r (vendor.min.js:8)
    at XMLHttpRequest.w.onload (vendor.min.js:8)

In non-minified terms, this is gameService.getPhaseState().

Elements overlap on mobile

Beyond a certain minimum height, many elements have a tendency to start overlapping. See: press submit button vs. press text, or press list vs. the footer.

This is probably flexbox's fault, but a workaround is needed.

Feature: tell players how many units they can build / destroy during adjustment

On Diplicity, when adjustment phase begins, the user is told, for example, "you can build 2 units." There is no similar message on the web client. Could one be added?

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Game list item status colours

In the subscribed games page, individual game list items should be coloured according to whatever action is needed from the current user, if any.

The colour should be applied to the left-hand margin and be bright and wide enough to be obvious but not imposing.

A red/yellow/green system might be enough.

  • No colour = no action expected this phase
  • Green = action expected and provided
  • Yellow = action expected and not provided
  • Red = you're fucking late

Alert when user interacts with foreign unit

Countless times, I've forgotten what nation I'm playing as, and try messing with another player's units. dipl.io correctly stops me from succeeding, but also silently. Sometimes I think the app is broken because of it.

The user should receive a warning toast when they click on a unit they don't own.

Style Guide

We are a group working on this repo for a school project, and are aiming to contribute to add two features, #7 and #4,
we were wondering what is the style guide we should follow?

EME order failed

I experience the same issue with these far corner seas...
I cannot enter the East Mediterranean. I get the error message, "EME order failed: ErrInvalidDestination"
Thanks!

Web client mishandles phase changes

When phases resolve, the web client doesn't automatically move to the next phase. I had to refresh the browser page. (By contrast, users in Diplicity users received a notification and could open the next phase immediately.)

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Leaderboards

User should be able to view ordered lists of:

  • Top ranking players
  • Top hated players
  • Top playa haters
  • Quickest players
  • Most reliable players

Redo user menu

The current medium for navigating the app, the icon in the upper right corner, is not mobile friendly at all, and may in fact be screwing with layout in general.

It should be replaced with a sidebar. In addition to existing functionality, it should efficiently render other details:

  • Unread press
  • Game needs (late orders, etc.)

Web client cannot set "draw" status?

Accessing the web client from an ipad or an iphone, none of us playing could find how to set "draw" status to end a game. (We found it in the android app Diplicity inside "phase settings"--but couldn't get there in the web client.)

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Installation/Dev Instructions

It would be great if there were instructions on getting this built and served. It looks like you're setup to do something like <buildtool> install but I'm not familiar enough with the ones I'm picking out at sight from your repo (bower, npm, grunt) to make a guess at where to start.

Cheers.

Add automated release task

Currently releases involve me going into my favourite FTP app and dropping files manually.

There needs to be an automated task that does the following:

  • Generates/commits a changelog
  • Creates a tagged release in GitHub
  • Deploys the app to production

Better unit icons

A circle doesn't communicate army-ness, and a rectangle fleet-ness. These need to be replaced with something more appropriate.

  • They should be symbolic of what they represent.
  • They need to be simple with as few details as possible. (This is why I turned down the icons diplicity uses. The fleet icons there are elaborate and pretty, but they don't jive with dipl.io's UI.)
  • They need to be between square and golden ratio dimensions, roughly. (This is also a reason I turned the icons down. The fleet icon is crazy long and thin and would disappear at small scale.)

Add a not crappy landing page

The front page sucks. Really really sucks. Options:

  • Get a willing contributor to open source their work, or
  • Create a separate, private repo under a non-open license, and have someone contribute to that. The private repo/miniapp would need to interact correctly with the rest of dipl.io, or
  • Apply some service like WordPress as a front page. Overkill ahoy!

Cannot move to Mid Atlantic - "MAO Order Failed: ErrInvalidDestination"

I play via the browser, both on an iPhone, Mac and PC computer. And on all 3 devices I am unable to move into the Mid Atlantic. This has happened with two separate games, one in which I was Italy and the other France [can you imagine the hardship for France not being able to move into Mid Atl...lets hope I can last/survive ;-)].

I keep getting the message "MAO Order Failed: ErrInvalidDestination."

These are my first two games of Diplicity since playing Droidippy for years, so I am hopeful that this issue can be resolved since I love the game (I was a paid subscriber of Droidippy for some time) OR that I either get to play as Turkey and Russia a lot or that I can always get an English/French alliance.
Hopefully my adversaries don't read this post!

Use API maps when local variant data isn't available

After Pure/France vs. Austria, there was a period where dipl.io did not have variant data to match. The variants appeared in dipl.io but triggered errors when trying to interact with them.

If variant data isn't available within dipl.io, the app should fall back to whatever map the API can supply.

Better variant selector

The current variant selector is just a dropdown menu. If you are uninformed about what a particular variant might be, you're SOL.

A new selector should be a listbox on the left, with information about the current selection on the right.

Some Press optimisations I'm thinking of

  • After opening an ongoing chat, focus on the last types message, in other words, scroll down
  • Put the Back / Submit buttons in a different frame so that scrolling doesn't affect their position, so that you can always go back
  • If possible: make the recipients' window feel clickable (right now, the mouse arrow stays an arrow and doesn't change to a hand, unlike the game selection window)

Every new phase required re-login (web client in iphone)

When a phase resolved, users accessing the web page through their iphone had to refresh the page, then click "login" then click "info" for the game then click the open game/expand button. Is there an easier way to "refresh" the page without kicking the user back to the dipl.io landing page?

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Same issue as Issue #29

But now the problem is entering the North Atlantic. If you need more info please let me know. Thanks!

Add toast notifications

Sometimes it's not clear to the user that app actions succeeded. Every successful API interaction should be followed up with an Angular Material toast.

A failed interaction should have a 'sticky' toast and some sort of error CSS.

Handle expired tokens

There's no way to predict when Diplicity tokens will expire. The best thing to do is detect 401 errors with a body of token timed out as they happen, and immediately log off.

Press messages after game over

It seems as if on the App you can read messages between all players after the game is over. However, when playing through the browser it will show you the index of the different conversations that took place, but when you select a conversation that did not include you it inserts you into the list of the parties involved in such conversation and then it shows you no messages from such conversation.

Order issue with North Atlantic Fleet...building upon Issue #34

So initially I could not move to the North Atlantic (please see Issue #34), now unfortunately I am unable to move out of the North Atlantic. When I attempt to input an order for the fleet there, I get the error message, "order failed: You don't own a unit here!"
If you are able to address this as quickly as #34 I would greatly, greatly appreciate it as I have less than 2 hours until the phrase ends. Thank you for any assistance that you can offer!

More gentle handling of north/south coasts

I don't understand the details, but the web client seemed to record nc/sc in orders more often than the players really needed. This may have created an unintentional misorder when England tried to move an army from FIN to STP.

Throughout, the web client generates nc/sc when an order can succeed with just the province name, and users were confused when some orders they intended to send turned out to fail because of a detailed nc/sc portion that they did not intend to put into the system.

I'm not 100% sure this example was an interface issue, but it seems related. The England player was surprised that Germany was able to move BOT to STP without bouncing from the England move FIN to STP with support from BAR.

image

Germany:
MOS supports BOT ⇒ STP
BOT ⇒ STP

England:
FIN ⇒ STP/NC
BAR supports FIN ⇒ STP/NC

Russia:
(STP hold)

Chat hangs

Using Firefox 54.

The chat ("Press") is slow.

Implement basic E2E support

Long, long ago, dipl.io experimented with E2E tests using Protractor. With a whole Node server to mock, it became too complicated and nothing came of it.

Now that dipl.io is front-end only, E2E tests should be much easier to achieve.

Youngstown Game Not Opening

Seeing the following in a chrome browser:
vendor.min.js:9 TypeError: Cannot read property 'length' of undefined
at new P (app.min.js:1)
at Object.i [as showDetailsDialog] (app.min.js:2)
at fn (eval at compile (vendor.min.js:11), :4:173)
at e (vendor.min.js:11)
at n.$eval (vendor.min.js:9)
at n.$apply (vendor.min.js:9)
at HTMLButtonElement. (vendor.min.js:11)
at cb (vendor.min.js:7)
at HTMLButtonElement.c (vendor.min.js:7)
(anonymous) @ vendor.min.js:9
(anonymous) @ vendor.min.js:8
$apply @ vendor.min.js:9
(anonymous) @ vendor.min.js:11
cb @ vendor.min.js:7
c @ vendor.min.js:7

Uncaught TypeError

Reported by @zond. This error is thrown on page load using an Android phone:

app.min.js:1 Uncaught TypeError: Cannot read property 'onMessage' of undefined
    at app.min.js:1
    at Object.g [as invoke] (vendor.min.js:7)
    at vendor.min.js:7
    at d (vendor.min.js:6)
    at db (vendor.min.js:7)
    at g (vendor.min.js:7)
    at ea (vendor.min.js:7)
    at da (vendor.min.js:7)
    at vendor.min.js:12
    at HTMLDocument.c (vendor.min.js:10)
    at Wa (vendor.min.js:7)
    at HTMLDocument.c (vendor.min.js:7)
(anonymous) @ app.min.js:1
g @ vendor.min.js:7
(anonymous) @ vendor.min.js:7
d @ vendor.min.js:6
db @ vendor.min.js:7
g @ vendor.min.js:7
ea @ vendor.min.js:7
da @ vendor.min.js:7
(anonymous) @ vendor.min.js:12
c @ vendor.min.js:10
Wa @ vendor.min.js:7
c @ vendor.min.js:7
vendor.min.js:8 GET https://dipl.io/app/main/home/home.html 404 ()
(anonymous) @ vendor.min.js:8
q @ vendor.min.js:8
i @ vendor.min.js:8
g @ vendor.min.js:9
(anonymous) @ vendor.min.js:9
$eval @ vendor.min.js:9
$digest @ vendor.min.js:9
(anonymous) @ vendor.min.js:9
f @ vendor.min.js:7
(anonymous) @ vendor.min.js:7
vendor.min.js:8 Error: [$compile:tpload] Failed to load template: app/main/home/home.html (HTTP status: 404 )
http://errors.angularjs.org/1.5.8/$compile/tpload?p0=app%2Fmain%2Fhome%2Fhome.html&p1=404&p2=
    at vendor.min.js:6
    at i (vendor.min.js:9)
    at g (vendor.min.js:9)
    at vendor.min.js:9
    at o.$eval (vendor.min.js:9)
    at o.$digest (vendor.min.js:9)
    at o.$apply (vendor.min.js:9)
    at i (vendor.min.js:8)
    at u (vendor.min.js:8)
    at XMLHttpRequest.x.onload (vendor.min.js:8)
(anonymous) @ vendor.min.js:8
(anonymous) @ vendor.min.js:8
g @ vendor.min.js:9
(anonymous) @ vendor.min.js:9
$eval @ vendor.min.js:9
$digest @ vendor.min.js:9
$apply @ vendor.min.js:9
i @ vendor.min.js:8
u @ vendor.min.js:8
x.onload @ vendor.min.js:8
vendor.min.js:14 Error: [$compile:tpload] Failed to load template: app/main/home/home.html (HTTP status: 404 )
http://errors.angularjs.org/1.5.8/$compile/tpload?p0=app%2Fmain%2Fhome%2Fhome.html&p1=404&p2=
    at vendor.min.js:6
    at i (vendor.min.js:9)
    at g (vendor.min.js:9)
    at vendor.min.js:9
    at o.$eval (vendor.min.js:9)
    at o.$digest (vendor.min.js:9)
    at o.$apply (vendor.min.js:9)
    at i (vendor.min.js:8)
    at u (vendor.min.js:8)
    at XMLHttpRequest.x.onload (vendor.min.js:8)
_defaultErrorHandler @ vendor.min.js:14
(anonymous) @ vendor.min.js:14
g @ vendor.min.js:9
(anonymous) @ vendor.min.js:9
$eval @ vendor.min.js:9
$digest @ vendor.min.js:9
$apply @ vendor.min.js:9
i @ vendor.min.js:8
u @ vendor.min.js:8
x.onload @ vendor.min.js:8
vendor.min.js:14 Error: [$compile:tpload] Failed to load template: app/main/home/home.html (HTTP status: 404 )
http://errors.angularjs.org/1.5.8/$compile/tpload?p0=app%2Fmain%2Fhome%2Fhome.html&p1=404&p2=
    at vendor.min.js:6
    at i (vendor.min.js:9)
    at g (vendor.min.js:9)
    at vendor.min.js:9
    at o.$eval (vendor.min.js:9)
    at o.$digest (vendor.min.js:9)
    at o.$apply (vendor.min.js:9)
    at i (vendor.min.js:8)
    at u (vendor.min.js:8)
    at XMLHttpRequest.x.onload (vendor.min.js:8)
_defaultErrorHandler @ vendor.min.js:14
(anonymous) @ vendor.min.js:14
g @ vendor.min.js:9
(anonymous) @ vendor.min.js:9
$eval @ vendor.min.js:9
$digest @ vendor.min.js:9
$apply @ vendor.min.js:9
i @ vendor.min.js:8
u @ vendor.min.js:8
x.onload @ vendor.min.js:8

screenshot from 2017-03-24 06-43-55

Turn 'Join' button into 'Info' button

The user should not be allowed to join a game without passing through its info screen first. This is to minimize the likelihood of joining a game with overly taxing deadlines.

Add diplicity orders detail & layout to web client

Access the detailed and dense list of order resolutions to the web client that you can find in diplicity (see attached comparison). The diplicity version provides more detail about why orders to do not succeed ("ErrBounce:den"). The diplicity version also allows you to see MANY more orders on one screen because it is denser--requiring MUCH less scrolling. Because on the web client this order list scroll bar is already inside a web page which may have its own scroll bar, scrolling is particularly challenging.

image

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Upgrade to Angular 1.6

Upgrade from Angular 1.5 to 1.6. This migration is not effortless, because 1.6 changes how controllers are initialised.

Feature request: Ability to pause a created game

Feature request?

If I have created a game, it would be helpful to be able to pause the game. I haven't seen this functionality in other clients, but it would be useful. We got to the point where everyone wanted to take a break from the game but the phases kept proceeding relentlessly!

===========
A group of 7 of us did a live game yesterday around a physical board game map, where we used iphones, ipads, and android devices to play the same game--this is one of a series of issues we opened related to our experience. It was a great overall experience! I'm so impressed at this project's progress.

Rewrite order type selector in toolbar

The current order type selector in the map toolbar has an <md-button> for each order type, filtered out by whether the phase type needs it. This has a few negative consequences.

For example, the Hold order type is considered the default, and it is always auto-selected. Some phase types (Adjustments and Retreats) don't use Hold, but no fallback order type is selected by default.

Secondly, the shortcut cheat sheet lists actions that may not be relevant that phase.

Finally, the mobile action sheet is mostly copy-pasted code, causing it to fall out of sync with the full version if it's not updated simultaneously.

The order type selector in the toolbar needs to be rewritten. An array of actions should be processed in the controller and rendered (with no filtering) in the view. The mobile action sheet should process this array similarly.

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.