diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3695a8b1..c8c4e486 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,10 +9,6 @@ jobs: strategy: matrix: include: - # EOL: April 2021 - - os: ubuntu-latest - node_version: 10.x - # EOL: April 2022 - os: ubuntu-latest node_version: 12.x @@ -20,15 +16,19 @@ jobs: # EOL: April 2023 - os: ubuntu-latest node_version: 14.x - - os: macOS-latest - node_version: 14.x - - os: windows-latest - node_version: 14.x # EOL: June 2021 - os: ubuntu-latest node_version: 15.x + # EOL: April 2024 + - os: ubuntu-latest + node_version: 16.x + - os: macOS-latest + node_version: 16.x + - os: windows-latest + node_version: 16.x + runs-on: ${{ matrix.os }} steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index a6df656e..5babfce6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,36 @@ All notable changes to this project will be documented in this file. +## v4.3.0-pre.6 - 2021-11-04 [Pre-release] + +[See the full changelog](https://github.com/thelounge/thelounge/compare/v4.3.0-pre.5...v4.3.0-pre.6) + +This is a pre-release for v4.3.0 to offer latest changes without having to wait for a stable release. +At this stage, features may still be added or modified until the first release candidate for this version gets released. + +Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. + +As with all pre-releases, this version requires explicit use of the `next` tag to be installed: + +```sh +yarn global add thelounge@next +``` + +## v4.3.0-pre.5 - 2021-11-03 [Pre-release] + +[See the full changelog](https://github.com/thelounge/thelounge/compare/v4.3.0-pre.4...v4.3.0-pre.5) + +This is a pre-release for v4.3.0 to offer latest changes without having to wait for a stable release. +At this stage, features may still be added or modified until the first release candidate for this version gets released. + +Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. + +As with all pre-releases, this version requires explicit use of the `next` tag to be installed: + +```sh +yarn global add thelounge@next +``` + ## v4.3.0-pre.4 - 2021-07-01 [Pre-release] [See the full changelog](https://github.com/thelounge/thelounge/compare/v4.3.0-pre.3...v4.3.0-pre.4) diff --git a/client/components/Chat.vue b/client/components/Chat.vue index 1761d4bc..c0d665d7 100644 --- a/client/components/Chat.vue +++ b/client/components/Chat.vue @@ -35,7 +35,11 @@ - 0) { + } else if (key === "down" && channel.inputHistoryPosition > 0 && onRow === totalRows) { channel.inputHistoryPosition--; + } else { + return; } channel.pendingMessage = channel.inputHistory[channel.inputHistoryPosition]; - this.$refs.input.value = channel.pendingMessage; + const newValue = channel.pendingMessage; + this.$refs.input.value = newValue; + + let newPosition; + + if (key === "up") { + const lastIndexOfNewLine = newValue.lastIndexOf("\n"); + const lastLine = newValue.slice(null, lastIndexOfNewLine); + newPosition = + oldPosition > lastLine.length + ? newValue.length + : lastIndexOfNewLine + oldPosition + 1; + } else { + const lastPositionOnFirstLine = + newValue.indexOf("\n") === -1 ? newValue.length + 1 : newValue.indexOf("\n"); + const relativeRowPos = oldPosition - oldValue.lastIndexOf("\n") - 1; + newPosition = + relativeRowPos > lastPositionOnFirstLine + ? lastPositionOnFirstLine + : relativeRowPos; + } + + this.$refs.input.setSelectionRange(newPosition, newPosition); this.setInputSize(); return false; diff --git a/client/components/ContextMenu.vue b/client/components/ContextMenu.vue index bab07a43..041d5b19 100644 --- a/client/components/ContextMenu.vue +++ b/client/components/ContextMenu.vue @@ -2,6 +2,7 @@
- Hide all + Dismiss all