Spyke

Replies

Comment on

Mastodon's Founder & CEO Gives His Thoughts on Meta's Threads

Our software is built on the reasonable assumption that third party servers cannot be trusted. For example, we cache and reprocess images and videos for you to view, so that the originating server cannot get your IP address, browser name, or time of access.

I hope Lemmy also implements the image/media caching in the not so distant future. Currently, Lemmy Web UI sends a lot of HTTP requests to external servers like imgur. (Github Issue)

linux

Comment on

Italics have taken over my fonts!

Some fonts may require additional configuration to display properly, so usually manual installation should be avoided.

Please run (and post the result here) fc-match sans and fc-match serif to check fontconfig picks wrong italic font. If that's the case, try to remove the TTF files you've installed via the font manager you're using, then install the fonts via the package manager - it should configures fonts properly.

Comment on

[GENERAL DISCUSSION] What is the general architecture/structure of the Lemmy code base?

Hi, thanks for setting up this community. I'm not a Lemmy source contributer but I like to read open sources. Here is a very simplified web application (including Lemmy) architecture overview and I hope this text helps for some newbies:

  1. A user agent (web browser, mobile app, etc.) sends an HTTP request to a Lemmy instance.
  2. The lemmy instance examines the HTTP request and dispatches the request to a relevant function called controller. The mapping from a path in the URL to a function is called a router - see https://github.com/LemmyNet/lemmy/blob/0.19.3/src/api_routes_http.rs for example.
  3. The controller makes an HTTP response for the request and returns it to the user agent.
  4. The user agent displays the returned response to the user.

To find an controller from a path in the router, just grep (or a similar search function you use) the Lemmy source. For example, if I want to know how GET /user/export_settings works, I'll run these commands:

$ git clone https://github.com/LemmyNet/lemmy/  # if you haven't download the source yet
$ cd lemmy
$ rg export_settings
src/api_routes_http.rs
131:  user_settings_backup::{export_settings, import_settings},
274:        web::resource("/user/export_settings")
276:          .route(web::get().to(export_settings)),

crates/apub/src/api/user_settings_backup.rs
68:pub async fn export_settings(
301:  use crate::api::user_settings_backup::{export_settings, import_settings};
366:    let backup = export_settings(export_user.clone(), context.reset_request_count()).await?;
402:    let mut backup = export_settings(export_user.clone(), context.reset_request_count()).await?;

So we got the relevant route and the controller definitions very quickly. Settings to be exported are defined as a struct UserSettingsBackup. The controller is defined as pub async fn export_settings and it converts the struct to a JSON.

Rust might not be a easy programming language but the official text (calld The Book is very friendly for newbies, so don't hesitate to read and to write a simple program like guessing game.

meta

Comment on

Announcing lemmy-ui-next, an alternative Lemmy frontend built with NextJS!

Strong focus on privacy and security (all authentication with the Lemmy API is done through secure httpOnly cookies, user IP addresses are not leaked to external image hosts, etc)

Awesome. The current lemmy-ui sends a lot of traffic to other Lemmy instances to get pictrs-cached images, so this is huge improvement. On the other hand, on next.lemm.ee those requests seems to be gone. As feedback, I noticed this page still seems to send a request to imgur, and the text is difficult to read because of the low-contrast theme. (edit: fixed and now completely readable. thank you @[email protected] )

linux

Comment on

Is there a text editor/notes app that adds Unicode symbols?

Some applications can't display some Unicode strings like s̵t̵r̵o̵k̵e̵, so replacing Markdown element like ~strike~ with Unicode equivalent (s̵t̵r̵o̵k̵e̵ ) may not be a good idea if you want portability. I opened your post in text editors and noticed that neovim-qt drops s̵t̵r̵o̵k̵e̵'s combining characters (issue on Github) and just displays stroke instead of s̵t̵r̵o̵k̵e̵; GUI Emacs with my font settings (Noto) doesn't combine the characters and displays s-t-r-o-k-e- (as I said, this may depends on font settings).

linux

Comment on

Auto Typing Script

Reply in thread

I'd write a bookmarklet for that case:

javascript:
{
const name = 'ABC';
const d = new Date();
const year = d.getFullYear();
const month = d.getMonth();
const date = d.getDate();
document.activeElement.value = `${year}/${month}/${date} ${name}`;
void 0;
}

This bookmarklet inserts the desired text into the currently focused text box. Tested on Lemmy Web UI.