Skip to content

Commit aaaf5e0

Browse files
committed
fix member count on web, fix base64 for images, fix dependencies
1 parent 17dc329 commit aaaf5e0

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

nightwatch/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.11.0"
1+
__version__ = "0.11.1"
22

33
import re
44
HEX_COLOR_REGEX = re.compile(r"^[A-Fa-f0-9]{6}$")

nightwatch/rics/routing/image_forward.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class IllegalURL(Exception):
2828
@app.get("/api/fwd/{public_url:str}", response_model = None)
2929
async def forward_image(public_url: str) -> Response | JSONResponse:
3030
try:
31-
new_url = f"https://{base64.b64decode(public_url, validate = True).decode('ascii').rstrip('/')}"
31+
new_url = f"https://{base64.b64decode(public_url.replace('_', '/'), validate = True).decode('ascii').rstrip('/')}"
3232
if FORWARD_DOMAIN and FORWARD_DOMAIN in new_url:
3333
raise IllegalURL
3434

nightwatch/web/js/nightwatch.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ const FILE_HANDLER = new FileHandler();
114114
const image = dom.querySelector("img");
115115
if (image) {
116116
classlist += " padded";
117-
image.src = `http${connection.protocol}://${address}/api/fwd/${btoa(image.src.slice(8))}`;
117+
image.src = `http${connection.protocol}://${address}/api/fwd/${btoa(image.src.slice(8)).replace(/\//, "_")}`;
118118
attachment = dom.body.innerHTML;
119119
};
120120
};
@@ -164,9 +164,12 @@ const FILE_HANDLER = new FileHandler();
164164
handle_member: (event_type, member) => {
165165
const member_list = document.querySelector(".member-list");
166166
const existing_member = document.querySelector(`[data-member = "${member.name}"]`);
167+
168+
const update = () => member_list.querySelector("p").innerText = `Members ─ ${member_list.querySelectorAll("& > span").length}`;
169+
167170
if (event_type === "leave") {
168171
if (existing_member) existing_member.remove();
169-
return;
172+
return update();
170173
}
171174
if (existing_member) return;
172175

@@ -175,9 +178,7 @@ const FILE_HANDLER = new FileHandler();
175178
element.innerHTML = `→ <span style = "color: #${member.hex}">${member.name}</span>`;
176179
element.setAttribute("data-member", member.name);
177180
member_list.appendChild(element);
178-
179-
// Update member count
180-
member_list.querySelector("p").innerText = `Members ─ ${member_list.querySelectorAll("& > span").length}`;
181+
update();
181182
}
182183
}
183184
);

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@ classifiers = [
2525
]
2626
dependencies = [
2727
"emoji>=2.14.0",
28-
"fastapi>=0.115.5",
2928
"nanoid>=2.0.0",
3029
"orjson>=3.10.11",
31-
"python-multipart>=0.0.17",
3230
"readchar>=4.2.1",
3331
"requests>=2.32.3",
3432
"urwid>=2.6.16",
35-
"uvicorn[standard]>=0.32.1",
3633
"websockets>=14.1",
3734
]
3835

3936
[project.optional-dependencies]
4037
serve = [
38+
"fastapi>=0.115.5",
4139
"pydantic>=2.9.2",
40+
"python-multipart>=0.0.17",
41+
"uvicorn[standard]>=0.32.1",
4242
]
4343

4444
[project.urls]

0 commit comments

Comments
 (0)