Commit Graph

7440 Commits

Author SHA1 Message Date
Reto Brunner
d34b58811a Merge branch 'search' 2022-11-24 09:34:24 +01:00
Reto Brunner
dfb4217167 remove VueApp from router
Nothing actually depends on the vue app being monkey patched onto
the router, so let's get rid of it.
2022-11-22 21:27:19 +01:00
dependabot[bot]
f8eb0ebafd
Bump engine.io from 6.2.0 to 6.2.1
Bumps [engine.io](https://github.com/socketio/engine.io) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.2.0...6.2.1)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-22 08:33:49 +00:00
Reto Brunner
fd14b4a172 make getClientConfiguration type safe
TS type assertions need to be avoided.

The following trivial example demonstrates why

```
type Person = {
	name: string;
	isBad: boolean;
};

function makePerson(): Person {
	const p: Person = {name: 'whatever'} as Person
	p.isBad = false
	return p // theoretically we are now good, p is a Person
}
```

Should the type ever change though, TS will happily trot along

```
type Person = {
	name: string;
	isBad: boolean;
	omgHowCouldYou: number;
};

function makePerson(): Person {
	const p: Person = {name: 'whatever'} as Person
	p.isBad = true
	return p // p is *not* a Person, omgHowCouldYou is missing
}
```

But we pinky swore to the compiler that p is in fact a Person.
In other words, the types are now wrong and you will fail during
runtime.
2022-11-22 03:07:29 +01:00
Reto Brunner
1597c2c56e server: the http{,s} server can't be null 2022-11-22 02:21:27 +01:00
Reto Brunner
4c7337b625 bump socket.io-client to 4.5.0 2022-11-16 07:18:26 +01:00
Reto Brunner
0765d209f2 keybinds: Fix invalid return
Mousetrap doesn't take an async function.
It either accepts False (stop key propagation) or any other
value (bubble up the event)
2022-11-16 06:50:56 +01:00
Reto Brunner
7ee4b80a6e update dependency @types/mousetrap to v1.6.11 2022-11-16 06:32:22 +01:00
Reto Brunner
21c8b0d17f Bump loader-utils from 2.0.2 to 2.0.4 2022-11-16 06:31:19 +01:00
dependabot[bot]
89245455ce
Bump loader-utils from 2.0.2 to 2.0.4
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.2 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.2...v2.0.4)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 05:29:50 +00:00
Reto Brunner
d4bbd9191c bump socket.io to 4.5.2 2022-11-16 06:28:03 +01:00
renovate[bot]
5037383c4c
chore(deps): update dependency @types/mousetrap to v1.6.11 2022-11-16 00:46:37 +00:00
Reto Brunner
83e11b0143 Search: Clear earlier searches when a new one is executed
Fixes: https://github.com/thelounge/thelounge/issues/4637
2022-11-15 18:50:52 +01:00
Reto Brunner
51c9ce078d Search: fix off by one offset error
Offset is eventually passed to sqlite as an OFFSET clause.

This works as follows:

sqlite> select num from seq limit 5 offset 0;
┌─────┐
│ num │
├─────┤
│ 1   │
│ 2   │
│ 3   │
│ 4   │
│ 5   │
└─────┘

sqlite> select num from seq limit 5 offset 5;
┌─────┐
│ num │
├─────┤
│ 6   │
│ 7   │
│ 8   │
│ 9   │
│ 10  │
└─────┘

However, the code currently emits a request for offset + 1, which ends
up skipping a message

sqlite> select num from seq limit 5 offset 5+1;
┌─────┐
│ num │
├─────┤
│ 7   │
│ 8   │
│ 9   │
│ 10  │
│ 11  │
└─────┘
2022-11-15 18:50:52 +01:00
Reto Brunner
8095d9e88a SearchQuery: offset is always a number
Fix type confusion that specified offset to be a string, it is
always a number.
2022-11-15 18:50:52 +01:00
renovate[bot]
221884166d
chore(deps): update dependency postcss to v8.4.19 2022-11-13 17:56:51 +00:00
renovate[bot]
19307d05e7
chore(deps): update dependency @types/chai to v4.3.4 2022-11-13 17:49:23 +00:00
renovate[bot]
dfe288ef16 chore(deps): update dependency @types/lodash to v4.14.188 2022-11-13 18:11:48 +01:00
renovate[bot]
b5ea7cceb3 chore(deps): update dependency @types/is-utf8 to v0.2.1 2022-11-13 18:11:48 +01:00
renovate[bot]
0ad033fe0a chore(deps): update dependency chai to v4.3.7 2022-11-13 18:11:48 +01:00
renovate[bot]
5a4a39b9d1 chore(deps): update dependency postcss to v8.4.18 2022-11-13 18:11:48 +01:00
renovate[bot]
cb17f8d87f chore(deps): update dependency @vue/test-utils to v2.2.1 2022-11-13 18:11:48 +01:00
renovate[bot]
5a803ccd23 chore(deps): update dependency sqlite3 to v5.1.2 2022-11-13 18:11:48 +01:00
Reto
53f6041f42
SearchResults: remove dead code (#4639)
Nachtalb put some infra in place that was never actually working.
It errors out when a user clicks on a message.

Remove the offending code, but keep it all in place so that we
can improve on it.
2022-11-12 22:34:41 -08:00
Reto Brunner
dca202427a SearchResults: Fix search progess upon search
When we hit doSearch, we always reset the offset value to 0,
meaning we always hit the conditional (!0) and always set the
messageSearchInProgress flag to undefined.
This is wrong, we do want to set this flag when we initiate a search.
2022-11-12 23:14:53 +01:00
Reto Brunner
6b617f893d SearchResults: remove computed search prop
It is only used in one location, and not from the template.
In other words we should inline it to make the code simpler.
2022-11-12 23:14:53 +01:00
Reto
0fa203569a
connect: Trim white space from user input fields (#4623)
Fixes: https://github.com/thelounge/thelounge/issues/4521
2022-09-07 20:25:08 -07:00
Reto Brunner
30e9f45fac Use nick as a realname fallback
Currently the realname is set to an advertisement if it isn't explicitly
set by the user.
Some clients started to show the realname as a display name in their
UI, which makes this tedious as you'll end up with gazillion "The Lounge
User" entries.

To avoid this, set the realname to the nick on first connect, so that
it is useful.
Note that this isn't done on nick changes, but only on the initial
connect step.

Fixes: https://github.com/thelounge/thelounge/issues/4527
2022-08-28 11:21:54 +02:00
Antonio Mika
117c5fa3fd
Added client type checking to webpack (#4619)
* Added client type checking

* Fixed client-side typescript issues
2022-08-23 00:26:07 -07:00
Reto Brunner
621fa92036 linkPreviews: Enforce TLS validity
When a URL is prefixed with a TLS scheme, we should make sure
that the remote provides a valid cert, even just for prefetches.
Else MITM of such a site is trivial.

This probably breaks some people with self signed cert, but the
age where that was acceptable is past. We have free CAs now like
Let's Encrypt.
2022-08-06 12:37:51 +02:00
Reto Brunner
11f7ae98be Merge branch 'regexFix' 2022-08-01 13:31:59 +02:00
Reto Brunner
a95ab55154 Merge branch 'installDocs' 2022-08-01 13:29:48 +02:00
Reto Brunner
38bccd3635 Merge branch 'installExpandHome' 2022-08-01 13:29:39 +02:00
Reto Brunner
3240997347 Revert "chore(deps): update dependency @textcomplete/core to v0.1.12"
This reverts commit 0cb4791cd0.
It breaks the autocompletion when clicking on a suggestion
from the nick popup.
2022-07-25 06:44:58 +02:00
renovate[bot]
57ed37c1fd
chore(deps): lock file maintenance 2022-07-24 13:33:42 +00:00
renovate[bot]
0495761c44
fix(deps): update dependency file-type to v16.5.4 [security] 2022-07-24 13:20:16 +00:00
renovate[bot]
520646a212 chore(deps): update dependency sqlite3 to v5.0.10 2022-07-24 15:02:54 +02:00
renovate[bot]
0cb4791cd0 chore(deps): update dependency @textcomplete/core to v0.1.12 2022-07-24 15:02:14 +02:00
renovate[bot]
740618ca49 chore(deps): update dependency @types/content-disposition to v0.5.5 2022-07-24 15:01:22 +02:00
renovate[bot]
e97216518a chore(deps): update dependency @textcomplete/textarea to v0.1.12 2022-07-24 14:55:19 +02:00
Reto Brunner
31739b8ac9 install: Document file: prefix in cli help 2022-07-23 23:05:34 +02:00
Reto Brunner
e221e708c1 install: expand ~ for local paths
Make `thelounge install file:~/path/to/package` work rather than
erroring out that the folder doesn't exists.

Probably funny on Windows, but it doesn't hurt either
2022-07-23 17:05:31 +02:00
Reto
c8cd4057bc
Fix ctcp request message (#4603)
The message was ordered the wrong way in the TS rewrite.

Old:
    +bookworm sent a CTCP request: "chadler" to version
New:
    +bookworm sent a CTCP request: "version" to chadler
2022-07-06 22:28:18 -07:00
Reto Brunner
d6e1af0e7d Fix regex escape for prefix patterns
Our regex escape function escapes proper regexes, however
it isn't meant to be shoved into a char class via string interpolation.

We need to also escape '-' if we do so.
2022-07-04 10:08:23 +02:00
Max Leiter
d72d8694bb
Potentially fix saving new networks (#4599) 2022-06-28 13:32:08 -07:00
Max Leiter
80f65c5b72
Remove uploading event listeners on ChatInput unmount (#4600) 2022-06-28 13:31:55 -07:00
Pavel Djundik
bc709af9fe
Merge pull request #4596 from thelounge/renovate/npm-got-vulnerability
fix(deps): update dependency got to v11.8.5 [security]
2022-06-22 18:48:15 +03:00
renovate[bot]
e7d18a91c0
fix(deps): update dependency got to v11.8.5 [security] 2022-06-22 05:33:15 +00:00
renovate[bot]
ddcee5371a
chore(deps): update dependency sqlite3 to v5.0.8 (#4564)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-21 22:32:58 -07:00
renovate[bot]
194b85be4d
chore(deps): update dependency mocha to v9.2.2 (#4581)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-21 22:32:18 -07:00