cheeaun / phanpy Goto Github PK
View Code? Open in Web Editor NEWA minimalistic opinionated Mastodon web client
Home Page: https://phanpy.social
License: MIT License
A minimalistic opinionated Mastodon web client
Home Page: https://phanpy.social
License: MIT License
When I clicked on image, video.
I expect pressing ESC will close the image or video popup.
Anyways I enjoy your UI!
I have 6 shortcuts in the form of multi-column and because Phanpy tries to fit them all on the screen, each column becomes very narrow.
It'd be great if you could allow users to set column width. I like having everything laid out instead of having to click through these buttons and use "shift+scroll" to scroll between columns.
Thanks a lot for this great app!
Hi, love the app! Would be amazing if there was a swipe feature implemented to view the next photo in a post with multiple photos.
Describe the bug
I logged in my GoToSocial server with Phanpy. When I click the compose button at the right botton corner, the browser popped out the alert message "Failed to load instance configuration. Please try again.". After clicking "OK", the browser reload the web app. Therefore, I cannot create new post.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Display the compose dialog to create a new post.
Investigation
The alert comes from the following code in src/components/compose.jsx
:
const currentAccount = getCurrentAccount();
const currentAccountInfo = currentAccount.info;
const configuration = useMemo(() => {
try {
const instances = store.local.getJSON('instances');
const currentInstance = currentAccount.instanceURL.toLowerCase();
const config = instances[currentInstance].configuration;
console.log(config);
return config;
} catch (e) {
console.error(e);
alert('Failed to load instance configuration. Please try again.');
// Temporary fix for corrupted data
store.local.del('instances');
location.reload();
return {};
}
}, []);
According to the function initMasto(params)
in src/app.jsx
, since GoToSocial uses v1 Mastodon api, the uri "https://mydomain.com"
, rather than the domain "mydomain.com"
, is used as the index of a member of instances
. So, the index of the member in instances
at line 6 above contains the protocol part.
I found that in the function onSubmit
in src/pages/login.jsx
, the the protocol part is always removed from instanceURL
. This value then becomes the value of currentAccount.instanceURL
. So, the value of currentInstance
at line 7 above doesn't contain the protocal part.
Hence, at line 8 above, the configuration cannot be retrieved, and then an error is catched.
Solution
I tried to change a line in initMasto(params)
function in app.jsx
from
instances[(domain || uri).toLowerCase()] = info;
to
instances[(domain || uri.replace(/(^\w+:|^)\/\//, '')).toLowerCase()] = info;
to make sure no protocol part is including the index of the member of instances
. It works with my GoToSocial server.
However, I am not sure whether the whole uri was used intentionally for other purposes. So, I simply create an issue, instead of a PR.
Desktop (please complete the following information):
Smartphone (please complete the following information):
GoToSocial Version
GoToSocial 0.6.0 git-f9e5ec9
Phanpy version
Phanpy git-305bb92
Photo in feed starts scrolling after preview is opened. And it can't be focused on mobile (to start scrolling) in any way (only click that opens preview)
Example: https://youtube.com/shorts/cC1nkFHr9I8?feature=share
Videos are opened muted with no media controls
Instead of closing photo preview – (web) app is closing fully
Having lists' timelines availabe is great, I'd love to have CRUD operations for lists and their members as well.
Status column scroll is noticeably laggier than scrolling feed (tested on mobile, Firefox and Google Chrome browsers)
Not sure if it is visible on the video example: https://youtu.be/_trWui7Kb1I
UPD.: another example https://youtube.com/shorts/tqtidp7RF7Q (laggy scroll, then normal scroll)
UPD2.: it's post like/boost buttons cause scroll lags. When they are on screen – there are a lot of freezes when scrolling
I personally don't need content warnings so in the official (not really official I guess) client I check the option to automatically expand all content warnings. It would be great to have this option in phanpy.
I get that this is mostly opinionated, but I do think it's probably best for media to be displayed in 16:9 as that's what the most common ratio is
User can set several "known languages" and then UI stop showing translate button for those messages. Also when translating message – transcription comes first which is not what i was looking for. I guess transcription should be hidden or at least less visible. It can take all screen space in case of big messages.
Describe the bug
Expected behavior
I don't want to see translate functionality for languages i know. After pressing "translate" button, I want to see translation, not transcription
Screenshots
Transcription goes first and takes a lot of space. And I don't want translate for Russian language at all, as I'm a native speaker
Additional context
Here is related discussion in Elk UI
Describe the bug
As in the title. Happens with both dev.phanpy.social and phanpy.social.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The Trending column will show up
Desktop (please complete the following information):
Additional context
'Trending' works fine in "Floating button" or "tab/menu bar" layout.
Btw, thanks so much for making Phanpy. Phanpy makes Mastodon usable for me and I'm using Mastodon much more frequently because of that.
All of the actions you can take on a post you are viewing appear to be in a context menu. On mobile, there is no mouse so you must long press to show the context menu. However, the browser uses the same action to show its context menu. This results in the browser context menu blocking the app context menu. You need to close that every time you want to interact with a toot.
Would be nice if there was an icon you could click to open the context menu instead. Or configurable options to expose icons for context menu items that you use frequently so you can do the actions in one click.
Thanks for the great client!
Would it be possible adding a handful of rows to the post textarea? I have noticed it is rather too small now (only two rows).
I believe it's the norm in the Fediverse to (usually) have your message as public and reply should be private most of the time.
As it says on the tin. Mastodon's main web client allows me to send a toot by pressing Ctrl+Enter while in the compose textbox, so why not Phanpy?
(This project is great so far btw, keep up the good work! :D)
Message not appearing in feed after submission, also there is no "New posts" button at the top of the feed
To see your own message i need to manually refresh the page
Describe the bug
When navigating to my own posts through Settings > Account > Posts, the account modal gets dismissed but the settings modal remains on screen
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Both the account modal, as well as the settings modal get automatically dismissed so I can view my posts
Desktop (please complete the following information):
I hope the video would be easier to understand than text: https://youtu.be/dwVnCEe2gVg
In the video I'm using this thread: https://phanpy.social/#/pkm.social/s/110169741586783061
And this is the comment I want to view comfortably (without having to click into it): https://phanpy.social/#/pkm.social/s/110182364639376007
In short I want the text panel that takes up the right half of the screen to stay intact when you open an image (less transitioning is better). The image will take up the left half of the screen. There's just so much space around an image in the current layout while the text is squished to the right. If users want to view the full original image they still have the option to view original media:
A few minor points to improve:
If any of the above is hard to implement, just doing this #99 is already a good improvement.
Thanks so much!
I write messages in 2 languages. It's hard to select them, because languages list is too big.
It would be great if known languages (languages with disabled translate functionality) will at the top of selector for easier access
Describe the bug
Toots matching some filters are not filtered out of the timeline.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Toots matching one or more of the filters should be hidden from the timeline.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Describe the bug
The scroll position inside a boosts carousel resets on click
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The scroll position persists and the selected post is opened
Desktop (please complete the following information):
Additional context
This bug has been around for at least a few versions of Phanpy. It only happens in Safari on macOS. Neither Chrome on macOS nor Safari on iOS exhibit this behaviour.
Describe the bug
Can't post with GoToSocial
To Reproduce
Steps to reproduce the behavior:
Expected behavior
a post to be sent
Response header data
HTTP/2 204 No Content
access-control-allow-headers: Origin,Content-Length,Content-Type,Authorization,Upgrade,Sec-Websocket-Extensions,Sec-Websocket-Key,Sec-Websocket-Protocol,Sec-Websocket-Version,Connection
access-control-allow-methods: POST,PUT,DELETE,GET,PATCH,OPTIONS
access-control-allow-origin: *
access-control-max-age: 120
content-security-policy: frame-ancestors 'self'
date: Fri, 31 Mar 2023 12:04:34 GMT
permission-policy: interest-cohort=()
strict-transport-security: max-age=31536000; includeSubDomains
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-request-id: yggrwdw704001hhvymg0
x-xss-protection: 1; mode=block
X-Firefox-Spdy: h2
Desktop (please complete the following information):
Additional context
Posting works with Pinafore.
The GoToSocial server has the following traefik (reverse proxy) configuration.
traefik.docker.network=traefik
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.X-XSS-Protection=1; mode=block
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.X-Frame-Options=SAMEORIGIN
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.X-Content-Type-Options=nosniff
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.Content-Security-Policy=frame-ancestors 'self'
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.Permission-Policy=interest-cohort=()
traefik.http.middlewares.mash-gpa-gotosocial-add-response-headers.headers.customresponseheaders.Strict-Transport-Security=max-age=31536000; includeSubDomains
traefik.enable=true
traefik.http.routers.mash-gpa-gotosocial.rule=Host("gay-pirate-assassins.de")
traefik.http.routers.mash-gpa-gotosocial.middlewares=mash-gpa-gotosocial-add-response-headers
traefik.http.routers.mash-gpa-gotosocial.service=mash-gpa-gotosocial
traefik.http.routers.mash-gpa-gotosocial.entrypoints=web-secure
traefik.http.routers.mash-gpa-gotosocial.tls=true
traefik.http.routers.mash-gpa-gotosocial.tls.certResolver=default
traefik.http.services.mash-gpa-gotosocial.loadbalancer.server.port=8080
Describe the bug
Using phanpy.social, when I visit this (long) thread I use to dump images, I get automatically teleported to the first post of the thread. This, weirdly, only seems to happen with that thread in particular (although I haven't found a comparably long thread to test it out).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The page should not scroll back.
Screenshots
Desktop (please complete the following information):
Up and down arrow already scrolls the page, would be great if they move and highlights the current toot and selects it (like clicking on it)
Describe the bug
Some of my posts show a lower fav count in Phanpy than on the Mastodon web interface. Though the individual "favourited your status" notifications do all appear in Phanpy as expected.
To Reproduce
Steps to reproduce the behavior:
Desktop (please complete the following information):
ESC
and the dialog with "You have unsaved changes. Are you sure you want to discard this post?" appears and disappears quicklyOn dev:
The dialog in this screenshot flashes (appears and quickly disappears) if we use ESC
instead of clicking the X
button. This screenshot was taken by clicking the X
button:
Describe the bug
When I click the link, it shows pop up: MastoHttpNotFoundError: Record not found
To Reproduce
Steps to reproduce the behavior:
Expected behavior
phanpy direct to link
Desktop (please complete the following information):
Additional context
Looks like it occurs randomly. For some links it directs, for some it shows popup error.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Transparency handling in the thumbnail should be the same as in full size after you click on the thumbnail.
Screenshots
Attached screenshots from Phanpy dev version and the default Mastodon web client.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Reproducible in https://dev.phanpy.social but not https://phanpy.social
j
/k
on timeline to a post that is threaded (or not threaded)<enter>
to open threadj
/k
Compose doesn’t do anything under mobile Safari.
I hope the video would be easier to understand than text: https://youtu.be/pBQTAS11IEw
In word:
Currently if you're viewing an image like this
Pressing Esc would escape the thread and go straight to the Home view.
I propose pressing Esc would first go back to the thread view first:
and pressing Esc again would go back to the Home view.
Describe the bug
Selecting users from context menu doesn't work.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Clicking or pressing enter on the selected user should complete their handle and close the context menu.
Desktop (please complete the following information):
Smartphone (please complete the following information):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.