39 Commits

Author SHA1 Message Date
bruuhim 6b23b6304c Add Arabic (ar) localization by @bruuhim (#6)
* Create Localizable.strings

* Add files via upload
2026-04-19 15:55:33 +01:00
N4C 52f78110f6 Merge pull request #5 from ch1tmdgus/main
l10n: Add Korean translation
2026-04-18 19:04:43 +01:00
ZomkaDEV d1419bf1a5 l10n: Add Russian translation 2026-04-18 14:30:36 +03:00
faroukbmiled 0b9992ee30 feat: Confirm story like
feat: Confirm story emoji reaction
feat: Spanish translation
feat: Language switcher + import/export localization from Debug
feat: Swipe down to dismiss media viewer
feat: Manually add users to story/chat exclusion lists by username
feat: Keep stories visually seen locally — split mode (grey ring locally, seen receipt still blockedon server)
feat: Auto-scroll reels — IG default or RyukGram mode, keeps advancing after swiping back (#3)
fix: Messages-only mode — tab swiping disabled
fix: Settings quick-access broken in non-English languages
fix: Story seen-receipt block restored on IG v425+ (Sundial uploader), per-owner, both "Block all" and "Block selected" modes
fix: Block selected mode no longer marks listed stories as seen
imp: Story-interaction pipeline unifies confirm + seen/advance side effects
2026-04-18 00:57:52 +01:00
faroukbmiled 51c1dc59cf [release] RyukGram v1.2.0
### Features
- **Open Instagram links in app (Safari extension)** — bundled Safari web extension (sideload IPA only). Enable in Safari → Extensions; instagram.com links open in the app.
- **Localization** — every user-facing string flows through a central translation layer. Globe button in Settings; missing keys fall back to English. Ships English only — see the "Translating RyukGram" section in the README to add more.
- **Action buttons** — context-aware menus on feed, reels, and stories (expand, repost, download, copy caption, etc.) with per-context default tap action and carousel/multi-story bulk download
- **Enhanced HD downloads** — up to 1080p via DASH + FFmpegKit with quality picker, preview playback, encoding-speed options, and 720p fallback
- **Repost**, **media viewer**, **media zoom** (long-press), **download pill** (frosted glass, stacks concurrent downloads)
- **Fake location** — overrides CoreLocation app-wide, map picker + saved presets, optional quick-toggle button on the Friends Map
- **Messages-only mode** — strips every tab except DM inbox + profile
- **Launch tab** — pick which tab the app opens to
- Full last active date in DMs — show full date instead of "Active 2h ago"
- Custom date format — 12 formats with per-surface toggles (feed, notes/comments/stories, DMs)
- Send files in DMs (experimental)
- View story mentions
- Hide suggested stories
- Story tray long-press actions — view HD profile picture from the tray menu
- Advance on story reply — auto-skip to next story after sending a reply or reaction
- Mark story as seen on reply or emoji reaction
- Hide metrics (likes, comments, shares counts)
- Hide messages tab
- Hide voice/video call buttons in DM thread header (independent toggles)
- Disable app haptics
- Disable reels tab refresh
- Disable disappearing messages mode in DMs
- Follow indicator — shows whether the profile user follows you
- Copy note text on long press
- Zoom profile photo — long press opens full-screen viewer
- Notes actions — copy text, download GIF/audio from notes long-press menu
- Confirm unfollow
- Feed refresh controls — disable background refresh, home button refresh, and home button scroll

### Improvements
- Default tap action: added copy URL, repost, and view mentions options; dynamic menu generation per context
- Settings pages reordered: General → Feed → Stories → Reels → Messages → Profile → Navigation → Saving → Confirmations
- Fake location picker: native Apple Maps-style UI (search, long-press to drop pin, current location)
- Liquid glass floating tab bar + dynamic sizing
- Upload audio: FFmpegKit re-encode + trim for any audio/video input
- Settings reorganized with per-context action button config; new Profile page
- Highlight cover: full-screen viewer replaces direct download
- Switched HD encoder to `h264_videotoolbox` (hardware) — no GPL FFmpegKit required
- Legacy long-press download deprecated (off by default), replaced by action buttons

### Fixes
- Hide suggested stories no longer removes followed users' stories on scroll
- Settings search bar transparency with liquid glass off; auto-deactivates on push
- HD download cancel: tapping pill aborts in-flight downloads + FFmpeg sessions cleanly
- Download pill stuck state on background/foreground, progress reset per download
- Disappearing messages mode confirmation not firing on swipe
- Detailed color picker not working on story draw `†`
- DM seen toggle menu not updating after tap
- Reel refresh confirmation appearing on first app launch `†`
- Reels action button displacing profile pictures on photo reels
- Disappearing DM media download (expand, share, save to Photos with progress pill)
- Carousel "Download all" not showing item count in feed
- Encoding speed setting being ignored for HD downloads
- Various upstream SCInsta merges (Meta AI hiding, suggested chats hiding, notes tray) — marked `†`

> `†` Merged from upstream [SCInsta](https://github.com/SoCuul/SCInsta) by SoCuul

### Credits
- Thanks to [@erupts0](https://github.com/erupts0) (John) for testing and feature suggestions
- Thanks to [@euoradan](https://t.me/euoradan) (Radan) for experimental Instagram feature flag research
- Safari extension forked/cleaned from [BillyCurtis/OpenInstagramSafariExtension](https://github.com/BillyCurtis/OpenInstagramSafariExtension)

### Known Issues
- Preserved unsent messages can't be removed via "Delete for you"; pull-to-refresh clears them (warning available in settings)
- "Delete for you" detection uses a ~2s window after the local action — a real unsend landing in that window may be missed (rare)
2026-04-16 03:03:42 +01:00
faroukbmiled 86eaa95019 [release] RyukGram v1.2.0
### Features
- **Open Instagram links in app (Safari extension)** — bundled Safari web extension (sideload IPA only). Enable in Safari → Extensions; instagram.com links open in the app.
- **Localization** — every user-facing string flows through a central translation layer. Globe button in Settings; missing keys fall back to English. Ships English only — see the "Translating RyukGram" section in the README to add more.
- **Action buttons** — context-aware menus on feed, reels, and stories (expand, repost, download, copy caption, etc.) with per-context default tap action and carousel/multi-story bulk download
- **Enhanced HD downloads** — up to 1080p via DASH + FFmpegKit with quality picker, preview playback, encoding-speed options, and 720p fallback
- **Repost**, **media viewer**, **media zoom** (long-press), **download pill** (frosted glass, stacks concurrent downloads)
- **Fake location** — overrides CoreLocation app-wide, map picker + saved presets, optional quick-toggle button on the Friends Map
- **Messages-only mode** — strips every tab except DM inbox + profile
- **Launch tab** — pick which tab the app opens to
- Full last active date in DMs — show full date instead of "Active 2h ago"
- Custom date format — 12 formats with per-surface toggles (feed, notes/comments/stories, DMs)
- Send files in DMs (experimental)
- View story mentions
- Hide suggested stories
- Story tray long-press actions — view HD profile picture from the tray menu
- Advance on story reply — auto-skip to next story after sending a reply or reaction
- Mark story as seen on reply or emoji reaction
- Hide metrics (likes, comments, shares counts)
- Hide messages tab
- Hide voice/video call buttons in DM thread header (independent toggles)
- Disable app haptics
- Disable reels tab refresh
- Disable disappearing messages mode in DMs
- Follow indicator — shows whether the profile user follows you
- Copy note text on long press
- Zoom profile photo — long press opens full-screen viewer
- Notes actions — copy text, download GIF/audio from notes long-press menu
- Confirm unfollow
- Feed refresh controls — disable background refresh, home button refresh, and home button scroll

### Improvements
- Default tap action: added copy URL, repost, and view mentions options; dynamic menu generation per context
- Settings pages reordered: General → Feed → Stories → Reels → Messages → Profile → Navigation → Saving → Confirmations
- Fake location picker: native Apple Maps-style UI (search, long-press to drop pin, current location)
- Liquid glass floating tab bar + dynamic sizing
- Upload audio: FFmpegKit re-encode + trim for any audio/video input
- Settings reorganized with per-context action button config; new Profile page
- Highlight cover: full-screen viewer replaces direct download
- Switched HD encoder to `h264_videotoolbox` (hardware) — no GPL FFmpegKit required
- Legacy long-press download deprecated (off by default), replaced by action buttons

### Fixes
- Hide suggested stories no longer removes followed users' stories on scroll
- Settings search bar transparency with liquid glass off; auto-deactivates on push
- HD download cancel: tapping pill aborts in-flight downloads + FFmpeg sessions cleanly
- Download pill stuck state on background/foreground, progress reset per download
- Disappearing messages mode confirmation not firing on swipe
- Detailed color picker not working on story draw `†`
- DM seen toggle menu not updating after tap
- Reel refresh confirmation appearing on first app launch `†`
- Reels action button displacing profile pictures on photo reels
- Disappearing DM media download (expand, share, save to Photos with progress pill)
- Carousel "Download all" not showing item count in feed
- Encoding speed setting being ignored for HD downloads
- Various upstream SCInsta merges (Meta AI hiding, suggested chats hiding, notes tray) — marked `†`

> `†` Merged from upstream [SCInsta](https://github.com/SoCuul/SCInsta) by SoCuul

### Credits
- Thanks to [@erupts0](https://github.com/erupts0) (John) for testing and feature suggestions
- Thanks to [@euoradan](https://t.me/euoradan) (Radan) for experimental Instagram feature flag research
- Safari extension forked/cleaned from [BillyCurtis/OpenInstagramSafariExtension](https://github.com/BillyCurtis/OpenInstagramSafariExtension)

### Known Issues
- Preserved unsent messages can't be removed via "Delete for you"; pull-to-refresh clears them (warning available in settings)
- "Delete for you" detection uses a ~2s window after the local action — a real unsend landing in that window may be missed (rare)
2026-04-16 03:03:30 +01:00
faroukbmiled 9b2c7dc202 [release] RyukGram v1.1.5.1
### Fixes
- Fixed liquid glass buttons and surfaces
- Fixed repost confirmation in reels
- Fixed visual messages never being marked as viewed
- Fixed keep deleted messages on the Instamadillo backend
- Fixed Disable video autoplay
- Fixed play/pause force-audio-onfalsely triggering Instagram's "Reel has no sound" message
- Fixed confirm reel refresh triggering on app launch
- Fixed confirm reel refresh not working after first pull
- and more...

### Features
- Profile copy button — copy username/name/bio from any profile
- Backup & Restore — export/import RyukGram settings
- Download disappearing DM media (photos + videos)
- Mark disappearing messages as viewed
- Upload audio as voice message (with trim editor)
- Download voice messages from DMs
- Auto mark seen on typing
- Mark seen on story like
- Advance to next story when marking as seen
- Advance on story like — automatically skips to the next story after liking
- Per-chat and per-story blocking lists with two modes: "Block all" (exclude list) or "Block selected" (include list). Independent lists per mode, long-press to add/remove, per-entry keep-deleted override
- Save to RyukGram album (optional)
- Unlock password-locked reels
- Read receipt modes (button / toggle)
- Auto mark seen on interact
- Unsent message indicator
- Unsent message notification pill
- Hide trailing action buttons on preserved messages
- Warn before clearing preserved messages on DM refresh
- Long-press menu on the DM seen button for quick actions
- Quick list buttons in chats and stories (toggleable)
- Story seen button mode (button / toggle)
- Long-press menu on the story seen button for quick actions
- Story audio mute/unmute toggle — button on story overlay and 3-dot menu
- Hide repost button in reels and feed
- Copy comment text from long-press menu
- Download GIF comments
- Replace domain in shared links with preset or custom embed domains
- Strip tracking params from shared links (igsh, utm)
- Open links in external browser
- Strip tracking from browser links
- Download highlight cover from profile long-press menu

### Improvements
- Excluding a chat or story now immediately marks as seen
- Tweak settings quick-access (hold feed tab) now on by default
- Disable auto-unmuting reels now off by default
- Opening tweak settings pauses any playing video/audio (toggleable)
- Reorganized DM settings into sub-pages
- Reorganized tweak settings — split "Stories and messages" into separate Stories and Messages pages, regrouped related options
- Hide custom story buttons during pinch-to-zoom
- Search bar in tweak settings

### Known Issues
- Preserved unsent messages can't be removed via "Delete for you"; pull-to-refresh in DMs clears them (warning available in settings).
- "Delete for you" detection uses a ~2 second window after the local action. If a real other-party unsend happens to land in the same window, it may not be preserved. Rare in practice and limited to that specific overlap.
2026-04-10 17:31:15 +01:00
faroukbmiled d17fba5778 feat: Add ability to download highlight cover images from the profile page via long press menu 2026-04-10 16:06:25 +01:00
faroukbmiled 06b2626714 feat: Per-chat and per-story blocking modes — "Block all" (exclude list) or "Block selected" (include list) with independent storage, per-entry
keep-deleted override, and adaptive UI
feat: Quick list buttons in chats and stories — add/remove directly from DM threads and story viewer
fix: KVO observer crash from multiple registrations in story audio toggle
fix: Seen auto-bypass race condition when overlapping events (boolean → counter)
fix: Confirm reel refresh not working after first pull
fix: Startup class scan replaced with direct class lookup
imp: All menu/button text adapts to active blocking mode
imp: Mark-seen triggers at the correct point per mode
imp: Migrated unexclude_inbox_button to chat_quick_list_button
imp: Menu changes in settings now reload table for dynamic titles
2026-04-10 13:41:58 +01:00
faroukbmiled 7952877545 feat: Auto-advance on story like 2026-04-10 11:12:14 +01:00
faroukbmiled 3693f3e93a feat: Replace Domain in Instagram urls
feat: Remove user param from copied links
feat: Open links in External Browser
feat: Strip Instagram tracking from browser links
fix: Confirm reel refresh confirmation appears on app launch
#2
2026-04-10 09:43:41 +01:00
faroukbmiled de3e13f60a feat: Hide repost button in feed
#2
2026-04-10 03:50:23 +01:00
faroukbmiled d8a8b6c0fe feat: Copy comment text from long-press menu
feat: Download GIF comments
2026-04-10 02:48:50 +01:00
faroukbmiled 89c5a25512 feat: Hide Repost Button in reels tab
Closes #2
2026-04-10 01:56:43 +01:00
faroukbmiled f2f310fce5 feat: Story audio mute/unmute toggle — button on story overlay and 3-dot menu
feat: Multi-select in excluded chats/story users lists with batch actions
feat: Dynamic count refresh on manage list buttons
imp: Opening tweak settings pauses any playing video/audio (toggleable in advanced settings)
imp: Tweak settings quick-access (hold feed tab) now on by default
imp: Disable auto-unmuting reels now off by default
imp: Excluding a chat or story now immediately marks as seen
2026-04-10 01:15:04 +01:00
faroukbmiled ceb89e65d2 feat: Per-user story seen-receipt exclusions
feat: Story seen button mode (button / toggle)
feat: Long-press menu on the story seen button (mark seen, exclude, settings)
feat: Auto mark-seen on exclude for both stories and DM chats
imp: Cleaner exclusion menu wording across stories and DMs
imp: Tweak settings now update in real time for exclude ui
imp: Ability to batch select in both stories and messages exclude UI
2026-04-09 18:46:21 +01:00
faroukbmiled d03da10941 fix: fixed a bug where manually deleted messages from chats are marked us unsend and are preserved when "keep deleted messages" is on 2026-04-09 04:57:05 +01:00
faroukbmiled ae6f70e47c feat: Long-press menu on the DM seen button for quick actions
Fix: Prevent play/pause patch from triggering Instagram’s “Reel has no sound” message when forcing audio on silent Reels
imp: Un-exclude button in excluded chats (toggleable)
imp: Show error for unsupported audio files that can't be processed  - we can add ffmpeg at some point
chore: Remove qr code text from import/export buttons
2026-04-09 00:32:09 +01:00
faroukbmiled fee6a026b4 imp: export/import — broaden coverage, drop QR, add JSON/form preview toggle 2026-04-08 11:48:41 +01:00
faroukbmiled 7300fe893e feat: Per-chat read-receipt exclusions - can exclude keep-delete messages as well
fix: Keep-deleted messages now reliable for cold-start backlogs
fix: Fix downloading some audio file formats (tries converting falls back to original file type)
2026-04-08 11:18:28 +01:00
faroukbmiled 84b4405b84 Imp: Moved copy button to the left in your profile page 2026-04-08 05:59:57 +01:00
faroukbmiled bdb0b5d2e3 feat: Added skip story on seen
Imp: Reorginzed some settings
2026-04-08 04:31:38 +01:00
faroukbmiled 0643f5e691 feat: Mark seen on story like
feat: Added copy button in profile page to copy various profile information
feat: Added export/import settings option - With Searchable, collapsible, editable preview before saving or applying
imp: Search bar in tweak settings
imp: Hide custom story buttons when zooming (follows ig buttons)
bug: Fix a bug in keep deleted messages marking removed reactions as unset messages
2026-04-08 03:19:05 +01:00
faroukbmiled 6e96140895 feat: Mark as seen on typing
feat: Save to RyukGram album
feat: Hide trailing action buttons on preserved messages
feat: Confirmation when pulling to refresh the DMs tab if preserved messages would be cleared
2026-04-07 03:04:50 +01:00
faroukbmiled e634359acc Improve unsent indicator 2026-04-07 00:53:36 +01:00
faroukbmiled a93929bbb2 - Fixed Disable video autoplay in feed 2026-04-06 23:31:09 +01:00
faroukbmiled 3490531941 - Addede Download voice messages from DMs
- Fixed Unset text position changing when i hold down on the unset message
- Fixed upload audio button not showing in some chats
2026-04-06 21:39:46 +01:00
faroukbmiled 7782ca34b3 - Fixed keep deleted messages
- Unsent message indicator: visual "Unsent" label on preserved messages
- Unsent message notification pill when a message is preserved
- Reorganized DM settings into sub-pages (keep deleted messages, read receipts)
2026-04-06 17:53:45 +01:00
faroukbmiled 2687f99cfb - Read receipt mode setting: button (one-shot) or toggle (blue/white)
- Auto mark seen on interact: locally marks messages as read when you send any message (text, photo, video, audio, sticker)
2026-04-05 11:01:58 +01:00
faroukbmiled 5282d67103 feat: Unlock password-locked reels (auto unlock and view passowrd) 2026-04-05 03:51:09 +01:00
faroukbmiled b99c20a254 Upload audio as voice message in DMs (audio/video from files or video from library, with trim editor) 2026-04-05 01:56:38 +01:00
faroukbmiled bf541bc483 - Fixed liquid glass buttons and surfaces
- Fixed repost confirmation not working in reels
- Fixed visual message seen bug (messages were never marked as viewed)
- Download button works in DM disappearing messages (photos + videos)
- Mark as viewed button for DM disappearing messages
2026-04-04 09:17:52 +01:00
faroukbmiled 4ebd4d2c0d - Renamed project from SCInsta to RyukGram across all user-facing text,
settings UI, build scripts, workflows, control file, and Makefile
- Added built-in sideload compatibility patch:
    keychain access group discovery, SecItem rebinding via fishhook,
    NSFileManager app group fallback, Cloud Kit entitlement patches
- Added fishhook library (modules/fishhook/) for C function rebinding
- Updated README with new features, repo links, and credits
- Updated GitHub Actions workflows for RyukGram naming
- Plist renamed from SCInsta.plist to RyukGram.plist
2026-04-03 08:59:13 +01:00
faroukbmiled 6bb83483a4 Fix audio on cold start 2026-04-02 17:54:10 +01:00
faroukbmiled 229a9fcb28 some fixes 2026-04-02 08:41:19 +01:00
faroukbmiled a502893c65 inhancing playback for play/pause feature 2026-04-02 08:10:09 +01:00
faroukbmiled 4b9e0ec15b Added download btn to stories ,fixed finger gestures for stories ,fixed manual view ,added not setting visually seen, added stop auto advance stories and more 2026-04-01 10:12:42 +01:00
faroukbmiled 1d87e0b371 smaller download icon in feed 2026-03-31 00:05:53 +01:00
faroukbmiled 3d133ac333 modded scinsta with additional features and fixes for recent instagram version 2026-03-29 00:01:05 +01:00