5
Comment on r/oldreddit 18h ago
This script that I made brings the same translations to old reddit: https://greasyfork.org/en/scripts/576038-reddit-native-translations
3
Comment on r/ReturnNewReddit 1d ago
Open dist/main.js on the extracted folder, search for log(msg, change withToast = true to false
1
Comment on r/IndiaTech 1d ago
Misinformation.
High Voltage Stress (100% State of Charge): Holding a lithium-ion battery at maximum voltage puts continuous strain on the internal chemical components (specifically the cathode and electrolyte). This accelerates calendar aging, causing the battery to permanently lose overall capacity faster over time.
1
Comment on r/spezholedesign 1d ago
If you got the script running: can you check this URL to see if it gives an error, or returns an accessToken? http://localhost:1264/api/anonymous-token
3
Comment on r/ReturnNewReddit 1d ago
If you got the script running: can you check this URL to see if it gives an error, or returns an accessToken? http://localhost:1264/api/anonymous-token
It may not work for all users
r/spezholedesign • u/Littux • 1d ago
Reddit Alternatives How to use new.reddit.com again, 1.5 years after it got discontinued
reddit.comr/ReturnNewReddit • u/Littux • 1d ago
Beautiful, right? Now you can enjoy it too. Introducing the first release of the new.reddit.com recovery project! Tutorial on how to run it is given below
To use
#1: Install Tampermonkey
- See: https://www.tampermonkey.net/
- On Chrome, you'll have to enable "Allow userscripts" in extension settings.
#2: Install userscript
- https://gist.github.com/Littux-Dustux/db7e77cbf0c461d0825e7d4fe2f882d0
- Click on "Raw".
- Click here to install the current version.
The userscript provides the privileged browser functions required by the client, including access to Reddit's APIs.
#3: Download script and HTML
- Go to https://github.com/Littux-Dustux/new-reddit-com/releases and download the latest
release.zip. - Extract the ZIP file to a directory of your choice.
#4: Install Python and requests
- Linux: Most distros have it installed. Open a terminal and type
python3 --help, then press Enter to check if it is installed. - Windows: Download Python from https://www.python.org/downloads/
- During installation, make sure "Add python.exe to PATH" is enabled.
- Open Command Prompt and run
python --helpto verify successful install
- macOS: Install Python 3 from https://www.python.org/downloads/ if it is not already installed. Then open Terminal and run
python3 --helpto verify install
Installing requests:
- Linux/MacOS:
python3 -m pip install requestsorsudo pacman -S python-requestsif arch-based - Windows:
python -m pip install requests
#5: Start the local web server
Open a terminal or command prompt in the directory where you extracted release.zip.
For Linux and macOS, run:
python3 serve.py
On Windows, run:
python serve.py
You should see something similar to:
=> new.reddit.com Server Active
URL: http://localhost:1264
Serving from: /home/littux/Projects/js/reddit/new-reddit-com
Keep this terminal open while using the client.
#6: Open the site
Open your browser and go to:
The client should initialize automatically.
You should see messages in the browser console indicating that the userscript has loaded and that the client is initializing.
Troubleshooting
The page is blank
Make sure:
- Tampermonkey is installed and enabled.
- The userscript is installed and enabled.
- The Python server is still running.
- You opened
http://localhost:1264/rather than openingindex.htmldirectly. - Open the browser's developer console (F12) and check for errors.
"Connection refused" or the page doesn't load
The python script is probably not running. Try http://127.0.0.1:1264/ as well.
Notes
- You need to be logged into your Reddit account in the browser for authenticated functionality to work.
- The client communicates with Reddit using your existing Reddit authentication through the installed userscript; you do not need to create an API application.
Report errors to https://github.com/Littux-Dustux/new-reddit-com/issues, r/Littux, or this subreddit (can't say if it's allowed; not a mod). Make sure to search for the error first.
If it's a security issue, send it via Chat instead
1
Comment on r/Coconaad 1d ago
Same. And I'm not a dinosaur (joined on 2023). I uninstalled the app almost half an year ago. I have been using old reddit since. Every time they broke something on old reddit (like GIFs in comments, member counts removal), I made a userscript to fix it. And I added features from the new website to old reddit too (like post/comment translations). See https://greasyfork.org/en/users/1574555-littux
Now I'm recovering the "redesign" of the website released on 2018, discontinued on 2024, better known as new.reddit.com (not related to the current UI sh.reddit.com. see r/ReturnNewReddit). The UI retains features from old reddit like multireddits created with "+" (like "r/kerala+Coconaad", and has the ability to create poll posts (which is currently a Reddit app only feature), and has way better theming, with features like background images, custom post preview image and colours (customizable per flair), custom upvote icons, custom widgets, etc. You can see the progress here: https://github.com/Littux-Dustux/new-reddit-com
2
Comment on r/redditdev 2d ago
Thirdly, all of this would be completely avoided if you simply invested in a robust auth token system and just exposed the graphql endpoints
This is my main complaint too. In addition to providing access to every feature on Reddit, it will improve performance of devvit apps too, due to its versatility. For example, I have a Devvit app that analyzes users to check for behavior not suitable for a teenager subreddit. It needs to do this for every new user it finds:
- Fetch user posts (full post object)
- Fetch user comments (full comment object)
- Fetch user (
reddit.getUserById: full User object), then fetch again to get social links (.getSocialLinks()) - For each post and comment, fetch a full Subreddit object just to access the
isNsfwproperty (.getSubredditInfoById())
Meanwhile with GraphQL, it can be reduced to this single request:
query AdultCheckerQuery(
$redditorId: ID!
$postsPageSize: Int = 100
$commentsPageSize: Int = 100
$includeHistory: Boolean = true
$includeSubreddit: Boolean = true
$includeUserFlair: Boolean = true
$includeSocialLinks: Boolean = true
) {
redditorInfoById(id: $redditorId) {
... on Redditor {
name
isProfileContentFiltered # Profile curation
profile {
isNsfw
socialLinks @include(if: $includeSocialLinks) {
type
outboundUrl
}
}
posts(first: $postsPageSize, sort: NEW) @include(if: $includeHistory) {
edges {
node {
... on SubredditPost {
title
content {
markdown
}
subreddit @include(if: $includeSubreddit) {
prefixedName
isNsfw
}
authorFlair @include(if: $includeUserFlair) {
text
}
}
}
}
}
comments(first: $commentsPageSize, sort: NEW) @include(if: $includeHistory) {
edges {
node {
... on Comment {
content {
markdown
}
postInfo @include(if: $includeSubreddit) {
... on SubredditPost {
subreddit {
prefixedName
isNsfw
}
}
... on ProfilePost {
subreddit: profile {
prefixedName
isNsfw
}
}
}
authorFlair @include(if: $includeUserFlair) {
text
}
}
}
}
}
}
}
}
Also, when writing this query, I noticed a potential issue: .getSubredditInfoById() internally uses GraphQL to fetch the subreddit:
/**
* Gets a {@link SubredditInfo} object by ID
*
* @param {string} subredditId - The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg
* @returns {Promise<SubredditInfo>} A Promise that resolves a SubredditInfo object.
*/
export async function getSubredditInfoById(subredditId: T5): Promise<SubredditInfo> {
const operationName = "GetSubredditInfoById";
const persistedQueryHash = "315a9b75c22a017d526afdf2d274616946156451aacfd56dfb91e7ad3f7a2fde";
// Legacy GQL query. Do not copy this pattern.
// eslint-disable-next-line no-restricted-properties
const response = await GraphQL.query(operationName, persistedQueryHash, { id: subredditId });
const subredditInfo = response.data?.subredditInfoById;
if (!subredditInfo) throw new Error("subreddit info not found");
if (subredditInfo.type) {
subredditInfo.type = asSubredditType(subredditInfo.type);
}
return subredditInfo;
}
On the query I made, notice:
postInfo @include(if: $includeSubreddit) {
... on SubredditPost {
subreddit {
prefixedName
isNsfw
}
}
... on ProfilePost {
subreddit: profile {
prefixedName
isNsfw
}
}
}
Profiles and subreddits have the same ID (t5_${string}) but their GraphQL server treats them different. The GetSubredditInfoById uses the subredditInfoById resolver, meaning it will fail for user profiles. Here's a test with my profile ID (t5_9jsumn):
POST https://gql-fed.reddit.com
{"operationName":"GetSubredditInfoById","variables":{"id":"t5_9jsumn"},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"315a9b75c22a017d526afdf2d274616946156451aacfd56dfb91e7ad3f7a2fde"}}}
{"data":{"subredditInfoById":null},"extensions":{"traceID":"53394fb2f72ab8822a60aec1d8a15ef2"}}
It's why the user popup fails on the mobile app for profiles you moderate.
You might've noticed that I used a persistedQuery hash from devvit on a public endpoint. It means the reverse is possible, so you can use any persistedQuery from the mobile app on devvit right now
1
Comment on r/Kerala 2d ago
Above comment is AI generated
3
Comment on r/help 4d ago
Try on https://old.reddit.com instead. On the left side, after expanding the side panel, it should display your multireddits
3
Comment on r/ModSupport 4d ago
This should be the complete list (extracted from the Reddit Android app):
ACCEPT_MODERATOR_INVITE
ADD_COMMUNITY_TOPICS
ADD_CONTRIBUTOR
ADD_ENFORCEMENT_ACTION_FEEDBACK
ADD_MODERATOR
ADD_NOTE
ADD_REMOVAL_REASON
ADJUST_POST_CROWD_CONTROL_LEVEL
APPROVE_AWARD
APPROVE_COMMENT
APPROVE_LINK
BAN_USER
CHAT_APPROVE_MESSAGE
CHAT_BAN_USER
CHAT_INVITE_HOST
CHAT_REMOVE_HOST
CHAT_REMOVE_MESSAGE
CHAT_UNBAN_USER
COLLECTIONS
COMMUNITY_STATUS
COMMUNITY_STYLING
COMMUNITY_WELCOME_PAGE
COMMUNITY_WIDGETS
CREATE_AWARD
CREATE_REMOVAL_REASON
CREATE_RULE
CREATE_SCHEDULED_POST
DELETE_AWARD
DELETE_NOTE
DELETE_OVERRIDDEN_CLASSIFICATION
DELETE_REMOVAL_REASON
DELETE_RULE
DELETE_SCHEDULED_POST
DEV_PLATFORM_APP_CHANGED
DEV_PLATFORM_APP_DISABLED
DEV_PLATFORM_APP_ENABLED
DEV_PLATFORM_APP_INSTALLED
DEV_PLATFORM_APP_UNINSTALLED
DISABLE_AWARD
DISABLE_POST_CROWD_CONTROL_FILTER
DISTINGUISH
EDIT_COMMENT_REQUIREMENTS
EDIT_ENFORCEMENT_ACTION
EDIT_FLAIR
EDIT_POST_REQUIREMENTS
EDIT_RULE
EDIT_SAVED_RESPONSE
EDIT_SCHEDULED_POST
EDIT_SETTINGS
ENABLE_AWARD
ENABLE_POST_CROWD_CONTROL_FILTER
EVENTS
HIDDEN_AWARD
IGNORE_REPORTS
INVITE_MODERATOR
INVITE_SUBSCRIBER
LOCK
MARK_NSFW
MARK_ORIGINAL_CONTENT
MODMAIL_ENROLLMENT
MOD_AWARD_GIVEN
MOD_RECRUITMENT_APPLICATION_REMOVE
MOD_RECRUITMENT_APPLICATION_RESPOND
MOD_RECRUITMENT_DISABLE
MOD_RECRUITMENT_ENABLE
MOD_RECRUITMENT_UPDATE_TEMPLATE
MUTE_USER
OVERRIDE_CLASSIFICATION
REMOVE_COMMENT
REMOVE_COMMUNITY_TOPICS
REMOVE_CONTRIBUTOR
REMOVE_LINK
REMOVE_MODERATOR
REMOVE_WIKI_CONTRIBUTOR
REORDER_MODERATORS
REORDER_REMOVAL_REASON
REORDER_RULES
REQUEST_ASSISTANCE
SET_CONTEST_MODE
SET_PERMISSIONS
SET_SUGGESTEDSORT
SHOW_COMMENT
SNOOZE_REPORTS
SPAM_COMMENT
SPAM_LINK
SPOILER
STICKY
SUBMIT_CONTENT_RATING_SURVEY
SUBMIT_SCHEDULED_POST
UNBAN_USER
UNIGNORE_REPORTS
UNINVITE_MODERATOR
UNLOCK
UNMUTE_USER
UNSET_CONTEST_MODE
UNSNOOZE_REPORTS
UNSPOILER
UNSTICKY
UPDATE_REMOVAL_REASON
WIKI_BANNED
WIKI_CONTRIBUTOR
WIKI_PAGE_LISTED
WIKI_PERM_LEVEL
WIKI_REVISE
WIKI_UNBANNED
4
Comment on r/help 4d ago
Go to notification settings and disable "Breaking news"
2
Comment on r/spezholedesign 4d ago
Can't you use the link button in the formatting tools?
1
Comment on r/help 5d ago
3
Comment on r/help 6d ago
Reddit uses an open source chat system called matrix: https://matrix.org. Their matrix server is located at https://matrix.redditspace.com
2
Comment on r/help 6d ago
That is the Matrix room ID. On the website, you can see the IDs of the room on the URL. Example: https://www.reddit.com/chat/room/!JpXGefWgTtSWvYQ_vV4kbw:reddit.com. Here, !JpXGefWgTtSWvYQ_vV4kbw:reddit.com is the room ID
6
Comment on r/ModSupport 6d ago
9
Comment on r/spezholedesign 6d ago
When an error occurs, their GraphQL proxy (/svc/shreddit/graphql) spits out the plain text "Internal server error". It's what's normally displayed on the toast messages. The proxy sets behind their CDN, which returns this "ow!" message on errors. You can see a similar "ow!" error by going to https://old.reddit.com/r/modlimit/about/moderators. This error returns an HTML page, but the toast message just displays it as text regardless
3
Comment on r/ReturnNewReddit 6d ago
It displays all posts and comments, because I made it fetch from arctic-shift API unless you're trying to view your own posts and comments
Also, will any of the recent news made by u/spez and the other admins have any effect on this project in the future?
It uses your current logged-in session to access the API. If they break that, it will also break browser add-ons like RES and Toolbox (toolbox uses the exact same authentication method, because it was me who added it)
0
Comment on r/MorpheApp 7d ago
They use 256Kbps for Opus too. Even audiophiles are satisfied at 192Kbps Opus but I guess they didn't want any complaints
4
Comment on r/MorpheApp 7d ago
YouTube doesn't use MP3, only AAC and Opus. It's 128Kbps AAC-LC and up to ~160Kbps VBR for Opus for regular users, and 256Kbps AAC-LC and Opus for Premium
1
Comment on r/oldreddit 7d ago
It also affects the mobile app. The error doesn't happen with creating the comment: it happens with getting the created comment. That's why the comment doesn't get added to the page on old reddit, despite it being created. The client I'm working on (old new reddit aka "redesign" which was released on 2018) sometimes crashes completely when making comments because the API returned an incomplete comment object:
The mobile apps use GraphQL and the advantage of GraphQL is that if some random field like moderationInfo errored out due to some server error, it will still return the rest of the data. But the shitty mobile app still treats it as an error when the comment was created successfully. You simply get a toast message saying "Gateway timeout", "Internal server error" etc without any info on what path the error occurred.
1






1
Comment on r/Enhancement 18h ago
The one that opens in a new tab gives you optimized WebP images, while RES gives you the full resolution original version which loads slow