mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Atoll: add in-app Spotify login sheet for sp_dc cookie capture
Wraps accounts.spotify.com login in a WKWebView so users can sign in without opening the browser inspector to copy the sp_dc cookie. The sheet uses a non-persistent data store, observes the cookie store, and hands the captured value to the existing SpotifyAuthManager.validate flow on a match. Spotify's anti-bot blocks the WebView path for some accounts, so this sits alongside (not replaces) the manual paste field, with an "Open in Browser" escape hatch in the sheet toolbar. Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
This commit is contained in:
parent
8bea68d0fc
commit
2e796b08a7
3 changed files with 312 additions and 42 deletions
|
|
@ -2314,7 +2314,6 @@
|
|||
},
|
||||
"±10 Seconds" : {
|
||||
"comment" : "Display name for the \"±10 Seconds\" music skip behavior option.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -3150,7 +3149,6 @@
|
|||
},
|
||||
"Accent" : {
|
||||
"comment" : "Display name for the caps lock indicator tint mode.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -3708,7 +3706,6 @@
|
|||
},
|
||||
"Adaptive gradient" : {
|
||||
"comment" : "Display name for the timer icon color mode: adaptive gradient.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -5635,6 +5632,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Amazon Music" : {
|
||||
"comment" : "Spotify music service.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Animation" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -6028,7 +6029,6 @@
|
|||
},
|
||||
"Apple Music" : {
|
||||
"comment" : "Media controller type for Apple Music",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -6936,7 +6936,6 @@
|
|||
},
|
||||
"Bar" : {
|
||||
"comment" : "Name of the timer progress style that shows a horizontal bar.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -11679,6 +11678,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Connect Spotify" : {
|
||||
"comment" : "A heading for a Spotify login sheet.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Connected" : {
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
|
|
@ -14542,7 +14545,6 @@
|
|||
},
|
||||
"Digital" : {
|
||||
"comment" : "The display name for the \"Digital\" reminder presentation style.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -20319,6 +20321,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Get the cookie manually" : {
|
||||
"comment" : "A section that provides instructions on how to get the Spotify cookie manually.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Get your free API key from Google AI Studio" : {
|
||||
"localizations" : {
|
||||
"fr" : {
|
||||
|
|
@ -20853,7 +20859,6 @@
|
|||
},
|
||||
"Green" : {
|
||||
"comment" : "Display name for the green caps lock indicator tint mode.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -21598,10 +21603,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"How to get it:" : {
|
||||
"comment" : "A heading for the instructions on how to get the Spotify cookie.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"https://example.com/animation.json" : {
|
||||
"comment" : "A placeholder text for a Lottie JSON URL input field.",
|
||||
"isCommentAutoGenerated" : true,
|
||||
|
|
@ -29979,7 +29980,6 @@
|
|||
},
|
||||
"Now Playing" : {
|
||||
"comment" : "Name of the media controller type for the \"Now Playing\" option.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -30386,6 +30386,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Open in Browser" : {
|
||||
"comment" : "A button that opens Spotify in the user's browser.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Open in Calendar" : {
|
||||
"comment" : "A button label that opens a calendar with the event details.",
|
||||
"isCommentAutoGenerated" : true,
|
||||
|
|
@ -30732,7 +30736,6 @@
|
|||
},
|
||||
"Panel" : {
|
||||
"comment" : "Display name for the clipboard display mode \"Panel\".",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -30837,10 +30840,6 @@
|
|||
"comment" : "A button that copies the `sp_dc` cookie from the clipboard.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Paste the `sp_dc` cookie from your logged-in Spotify web session." : {
|
||||
"comment" : "A description of how to paste the Spotify cookie.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Pause" : {
|
||||
"localizations" : {
|
||||
"ru" : {
|
||||
|
|
@ -33653,6 +33652,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Reset Session" : {
|
||||
"comment" : "A button that clears the Spotify login session.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Reset Timer" : {
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -34289,7 +34292,6 @@
|
|||
},
|
||||
"Ring" : {
|
||||
"comment" : "The name of the timer progress style that shows a ring shape.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -35811,7 +35813,6 @@
|
|||
},
|
||||
"Separate Tab" : {
|
||||
"comment" : "Display name for the clipboard display mode option to open the clipboard in a separate tab.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -38247,7 +38248,6 @@
|
|||
},
|
||||
"Shows screen assistant as a dropdown attached to the AI button" : {
|
||||
"comment" : "Description of the screen assistant display mode option that shows the screen assistant as a dropdown attached to the AI button.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -38272,7 +38272,6 @@
|
|||
},
|
||||
"Shows screen assistant in a floating panel near the notch" : {
|
||||
"comment" : "Description of the screen assistant display mode option that shows the screen assistant in a floating panel near the notch.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -38389,6 +38388,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Sign in to Spotify to capture the `sp_dc` cookie automatically, or paste it in below." : {
|
||||
"comment" : "A description of how to sign in to Spotify to get the `sp_dc` cookie.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Sign in with Spotify" : {
|
||||
"comment" : "A button that opens a sheet for signing in with Spotify.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Simple and minimal interface with just the essentials for everyday tasks." : {
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -38500,7 +38507,6 @@
|
|||
},
|
||||
"Skip forward or backward by ten seconds" : {
|
||||
"comment" : "Description of a music skip behavior option.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -39228,7 +39234,6 @@
|
|||
},
|
||||
"Spotify" : {
|
||||
"comment" : "Spotify media controller type.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -39255,6 +39260,10 @@
|
|||
"comment" : "A section header for the Spotify Canvas session settings.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Spotify often blocks in-app logins. Sign in via your normal browser, then paste sp_dc in Settings." : {
|
||||
"comment" : "A help message for the Spotify login sheet.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Square" : {
|
||||
"localizations" : {
|
||||
"ar" : {
|
||||
|
|
@ -39469,7 +39478,6 @@
|
|||
},
|
||||
"Standard previous/next track controls" : {
|
||||
"comment" : "Description of the music skip behavior option to use standard previous/next track controls.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -42297,7 +42305,6 @@
|
|||
},
|
||||
"Track Skip" : {
|
||||
"comment" : "Display name for the \"Track Skip\" music skip behavior.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
@ -45673,7 +45680,6 @@
|
|||
},
|
||||
"Youtube Music" : {
|
||||
"comment" : "Spotify music service.",
|
||||
"extractionState" : "stale",
|
||||
"isCommentAutoGenerated" : true,
|
||||
"localizations" : {
|
||||
"ko" : {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue