Minor
- Load UI before BattleLog (and thus Caja)
- Remove BattleLog dependencies from panels and panel-mainmenu
- We now have Preact as our only dependency for the first load
- Load times should be really fast now.
- I remember thinking about what the load screen would look like
but how many people would even see it?
- Don't navigate chat history when cursor isn't on the first/last
character
- Make the main menu sticky
- This involved refactoring most of main menu's HTML. It's very
different now.
- Support notification coloring in mini windows
- Fix a variety of button propagation bugs
- Most noticeably, canceling a challenge would immediately send a new
challenge
- Fix a volume slider regression on regular client (Fixes#2383)
- Fix a Firefox issue where sending messages didn't reset the cursor
position
- Add a `/closeand` command, mostly for buttons (Fixes#2386)
Trivial
- Refactor ChatTextEntry for readability
- `setValue` should be impossible to use incorrectly now
- Make mini-window minimize/maximize/close buttons slightly bigger
- Remove resize handle from teambuilder text editor
This adds support for reconnecting to the server after being
disconnected, without needing to refresh.
This is a little dangerous at the moment - one reason we've never done
this in the past is to enforce that everyone's using the newest client
version. This is fine in Preact Alpha but at some point we'll need to
find some way to enforce refreshing at a certain point.
Minor
- Fix "[Gen 6]" appearing in wrong places for the last time
- Fix a bunch of bugs in back/forward history
- Support short links (`news` can't be supported because it conflicts
with the mini-window)
- Support `no-panel-intercept`
- Fix Z-move alignment
- Speed up loading by not using SockJS in newer browsers
- Fix backgrounds
- Uploads required pressing Done, but it's supposed to be a close
button
- Random backgrounds weren't working
- Support ctrl+clicking and shift+clicking links
- Adjust main menu padding
- Mini windows are now 20px wider
- Fix mini-window minimize buttons in Safari
- Add a maximize button to mini windows
- Stop special-casing News mini-window CSS
- Support mini-windows in vertical tab mode
- PMs still default to being full tab, but News is now a mini-window
on screens of any size, because the full tab is actually pretty
unergonomic
- Fix highlight notification room in chat rooms
- This is also refactored to be better code now
- Fix tab overflow
- Give 180px space for userbar instead of 165px
- Fix calculation of when to overflow
- Improve tab list design
- Add checkbox to switch to vertical tabs
- Fix race condition leading to connection failure
Trivial
- Options is now a semimodal
- Fix crash in load tracker
- Remove unused `update = forceUpdate` code in Popups
- Use the redesigned dark mode popups from the design refresh #2175
Minor
- Unhide right panel when choosing "Two panels" layout option
- Refactor focusing
- Correctly focus next room when closing currently active room
- Correctly focus room when joining new room
- Use strict mode on all compiled files
- Fix router when started on `/` (it previously required starting on a
non-empty room ID, which wasn't noticeable back when the URL needed
to be `/preactalpha`)
- Update teambuilder sidebar CSS, to make it easier to add regular text
- This is mainly for the "Tournaments" button in the main menu,
which shares the CSS
- Fix new tournament elim tree text in Safari
- Update new tournament elim tree highlighted links to reliably
link every still-playing game
- Remove latest gen from format name displays everywhere
- Previously, they would only be removed from the format dropdown,
but now they're also gone from the Ladder tab, battle tabs, and
`/rank`
- Support async d3 loading
- This allows chatrooms to be loaded way before all our dependencies
are fully downloaded
- Remove "[Gen 9]" from format names everywhere (previously it was only
removed from the format dropdown)
- Also add "[Gen 6]" to unlabeled formats in `/rank` (Gen 6 was the
last time we didn't have format generation as part of format names)
Trivial
- Stricter JSX linting
- (unfortunately, most of the JSX style enforcement I actually want
isn't possible in @stylistic)
- Make room.subscribeTo's second parameter optional
- Rearrange and comment loading order
- Rename hiddenInit -> focusNextUpdate (clarity)
- Rename PSMain -> PSView (clarity)
- Fix button spacing in Change Password
- Add `touch-action: manipulation` to <a> tags
- Refactor `nodeSize` in elim tour trees
Minor
- Fix crashes/bugs in backported elim tournament redesign
- Support opting into Preact client via cookie
- Fix popup positioning when parent element is unmounted (i.e. when you
switch layouts in the Options menu)
Trivial
- Focus Main Menu and not Rooms when loading home page in single panel
mode
- Correctly set user.registered
( Fixes https://github.com/smogon/pokemon-showdown/pull/11031 )
- Fix some text in the Options menu
Minor
- Refactor placeholder room handling to fix a heisenbug crash while
starting up
- Add `room.getParent()` (accidentally partly folded into previous
commit)
- Support using the console without logging in
- Fix mobile support for https://pokemonshowdown.com/intro
Trivial
- Improve doc comments
This is a pretty major redesign that makes our brackets look way more
like other modern tour bracket visualizations out there.
In particular, nodes now have two boxes instead of one, making it
much more straightforward to tell who won. This also makes the trees
much more compact, so they take up much less vertical and horizontal
space.
Font size has been bumped up for much better readability, and colors
are now used more meaningfully.
Tournaments also now show a summary bracket when they end, so there's
no huge full bracket filling up the screen.
Missing features:
- Popping out brackets
- Showing the bracket after the tournament ends
- Disable validate button for random teams
New and improved:
- Hover effect on tournament bar (also backported to 2013 client)
- Slightly better animations for expanding/collapsing tours
- Better scrolling around a bracket
- "Grab" cursor
- Selecting text is no longer completely banned (although it's still
hard to do on desktop because of the whole drag scrolling thing)
- Completely native scrolling on mobile
- Scroll bars appear as normal, and regular methods of scrolling like
arrow keys and scroll wheel also work as normal
At this point we've probably outgrown the "huge switch" pattern. So
instead, here's a client command syntax a lot like server's.
I've also added an `add` command that works more like server's and
2013 client's, as the default way to respond to client commands.
Implements basic functionality of the ignore commands. I also added the ^ (prize winner) rank to the ignorable ranks since the inability for this rank to be ignored has been reported as a bug.
Minor
- Redesign battle room tabs in vertical tab mode (they're now
two-liners), kind of like in the original 2011 client
- Redesign roomtab tags (they're now smaller and bold)
- Fix scrolling to left when focusing textbox in Chrome Android
- This was a huge mess. If scroll snap weren't such a horrible mess
without CSS, I'd probably just give up and do it in JS. But given
that that's much worse, here we are working around tons of Chrome
and Safari bugs.
- Update replay watching UI to match modern PS
- "Play/Pause" button has constant width
- "Switch viewpoint" instead of "Switch sides"
- "Last turn" -> "Prev turn"
- Disable "First turn" and "Prev turn" when already at first turn
- modern button arrangement
- Battle controls: align to bottom in mobile UI
Trivial
- rename `PS.closePopupsUntil` to `PS.closePopupsAbove`
- fix `<a href=".">` links to Home
- Fix ranks in DM userlist
Chrome makes it much harder to grab keys now. I've set up a way to
make it easy (since we're going to be doing it once a week).
Chrome did make it hard on purpose, so I'm a little paranoid, but
I think probably these warnings will be enough. If we develop a
phishing problem I'll revisit this.
I've been batching all my non-huge Preact updates approximately once a
day and I intend to keep that up, but I should probably number them so
it's not just "misc updates" every time. Anyway: I went back and
counted. This is batch 7.
Major
- Update Options popup
- Layout options
- Topbar in vertical tabs mode now contains a username/options button
- If you click on a button for a popup (like Options or a trainercard)
while the popup is already open, it will be closed.
- Also if you click on a popup already open somewhere else, it will
open correctly.
- Fix clicking on readmores, spoilers, and buttons inside links
- Make the vertical tabbar scrollable
- Reliably title <<rooms>> "Chat Rooms"
- Add a button to get to the vertical tabbar on mobile
Minor
- `users` in the URL now directs to Preact client
- refactor popup closing to never use while loops
- Fix capitalization for usercards for users with no user objects
- Migrate all `name="cmd"` buttons to `data-cmd`
- Migrate all `name="joinRoom"` buttons to `data-href`
- Fix left border thickness on home screen in vertical tabs mode
- Use `/play` for replaying battles