Eric Eastwood
b7c00c31c1
Fix URL being duplicated in query param ( #110 )
...
Fix https://github.com/matrix-org/matrix-public-archive/pull/104#discussion_r1004023030
### What was the problem?
We were previously seeing this behavior with the old code:
```
Before: http://localhost:3050/!xxx:server/date/2022/09/20?via=my.synapse.server
replaceUrlSilently(url='http://localhost:3050/!xxx:server/date/2022/09/20 ')`
After: http://localhost:3050/!xxx:server/date/2022/09/20?via=my.synapse.serverhttp://localhost:3050/!xxx:server/date/2022/07/29
```
Because `replacingUrl` was evaluating to `replacingUrl = '?via=my.synapse.serverhttp://192.168.1.151:3050/!HBehERstyQBxyJDLfR:my.synapse.server/date/2022/07/29 '` which is relative and was appended to the current URL.
### Solution
Now with the new code, we more clearly handle the 3 cases:
- Normal Hydrogen `#/foo-bar` hash routing on the end of the URL
- When `url=''` and we just need clear the Hydrogen hash route and maintain the current path and query parameters
- An absolute URL which we can completely replace the page URL with
2022-10-25 01:59:23 -05:00
Eric Eastwood
2bda335f1c
Clean up spurious logs when SSR rendering Hydrogen ( #106 )
...
**Before:**
```
Child printed something to stdout: Mounting Hydrogen...
Child printed something to stderr: Skipping `addedHomservers` read from LocalStorage since LocalStorage is not available
Child printed something to stdout: Completed mounting Hydrogen: 22.188ms
Child printed something to stdout: 2 uncaughtException TypeError: this.dialogNode.close is not a function
at ModalView.closeModal (C:\Users\MLM\Documents\GitHub\element\matrix-public-archive\shared\views\ModalView.js:115:21)
at Timeout._onTimeout (C:\Users\MLM\Documents\GitHub\element\matrix-public-archive\shared\views\ModalView.js:87:18)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
```
**After:**
```
Child printed something to stdout: Mounting Hydrogen...
Child printed something to stderr: Skipping `addedHomservers` read from LocalStorage since LocalStorage is not available
Child printed something to stdout: Completed mounting Hydrogen: 14.2ms
```
2022-10-21 17:27:10 -05:00
Eric Eastwood
75d4a14845
Fix hash and query parameter ordering and repeating ( #99 )
...
This would happen after opening the "Add server" modal
Before:
```
/?search=&homeserver=foo.bar#/add-server?search=&homeserver=foo.bar
```
After:
```
/?search=&homeserver=foo.bar#/add-server
```
2022-10-21 01:14:06 -05:00
Eric Eastwood
b34c1b817d
Add homeserver selector to room directory landing page ( #87 )
...
Opting for the simple solution and using `include_all_networks` instead of needing to fetch the information about the third-party networks.
Fix https://github.com/matrix-org/matrix-public-archive/issues/6 (last piece done with this PR)
2022-10-20 02:06:43 -05:00
Eric Eastwood
eb5dc23d5d
Make the archive responsive ( #53 )
...
This also needs a release of `@mlm/hydrogen-view-sdk` with our latest scratch changes in https://github.com/vector-im/hydrogen-web/pull/653 but we can make the dependency update later.
2022-08-30 18:47:03 -05:00
Eric Eastwood
7dfe8cabc9
Add lightbox support and Hydrogen URL hashes relative to the room ( #12 )
...
Add image lightbox support and Hydrogen URL hashes relative to the room
Related to https://github.com/vector-im/hydrogen-web/issues/677
Requires the changes from https://github.com/vector-im/hydrogen-web/pull/749 (split out from https://github.com/vector-im/hydrogen-web/pull/653 )
![](https://user-images.githubusercontent.com/558581/172526457-38c108e8-8c46-4e0c-9979-734348ec67fc.gif )
### Hydrogen routing relative to the room (remove session and room from the URL hash)
Before:
Page URL: doesn't work
```html
<div class="Timeline_messageBody">
<div class="media" style="max-width: 400px">
<div class="spacer" style="padding-top: 48.75%;"></div>
<a href="undefined">
<img src="http://192.168.1.182:8008//_matrix/media/r0/thumbnail/my.synapse.server/RxfuMxEgYcXHKYWERkKVUkqO?width=400&height=195&method=scale " alt="Friction_between_surfaces.jpeg" title="Friction_between_surfaces.jpeg" style="max-width: 400px; max-height: 195px;">
</a>
<time>2/24 6:20 PM</time>
</div>
<!--node binding placeholder-->
</div>
```
Before (not relative):
Page URL: `http://localhost:3050/!HBehERstyQBxyJDLfR:my.synapse.server/date/2022/02/24#/session/123/room/!HBehERstyQBxyJDLfR:my.synapse.server/lightbox/$17cgP6YBP9ny9xuU1vBmpOYFhRG4zpOe9SOgWi2Wxsk `
```html
<div class="Timeline_messageBody">
<div class="media" style="max-width: 400px">
<div class="spacer" style="padding-top: 48.75%;"></div>
<a href="#/session/123/room/!HBehERstyQBxyJDLfR:my.synapse.server/lightbox/$17cgP6YBP9ny9xuU1vBmpOYFhRG4zpOe9SOgWi2Wxsk">
<img src="http://192.168.1.182:8008//_matrix/media/r0/thumbnail/my.synapse.server/RxfuMxEgYcXHKYWERkKVUkqO?width=400&height=195&method=scale " alt="Friction_between_surfaces.jpeg" title="Friction_between_surfaces.jpeg" style="max-width: 400px; max-height: 195px;">
</a>
<time>2/24 6:20 PM</time>
</div>
<!--node binding placeholder-->
</div>
```
After (nice relative links):
Page URL: `http://localhost:3050/!HBehERstyQBxyJDLfR:my.synapse.server/date/2022/02/24#/lightbox/$17cgP6YBP9ny9xuU1vBmpOYFhRG4zpOe9SOgWi2Wxsk `
```html
<div class="Timeline_messageBody">
<div class="media" style="max-width: 400px">
<div class="spacer" style="padding-top: 48.75%;"></div>
<a href="#/lightbox/$17cgP6YBP9ny9xuU1vBmpOYFhRG4zpOe9SOgWi2Wxsk">
<img src="http://192.168.1.182:8008//_matrix/media/r0/thumbnail/my.synapse.server/RxfuMxEgYcXHKYWERkKVUkqO?width=400&height=195&method=scale " alt="Friction_between_surfaces.jpeg" title="Friction_between_surfaces.jpeg" style="max-width: 400px; max-height: 195px;">
</a>
<time>2/24 6:20 PM</time>
</div>
<!--node binding placeholder-->
</div>
```
2022-06-08 14:03:36 -05:00