MediaWiki API result
This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.
Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.
See the complete documentation, or the API help for more information.
{
"batchcomplete": "",
"continue": {
"lecontinue": "20251231085319|89",
"continue": "-||"
},
"query": {
"logevents": [
{
"logid": 99,
"ns": 0,
"title": "TypeScript 5.9 Study Guide (for JavaScript, Node.js, and React developers)",
"pageid": 95,
"logpage": 95,
"revid": 221,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2026-01-13T05:55:56Z",
"comment": "Created page with \"<span id=\"typescript-5.9-study-guide-for-javascript-node.js-and-react-developers\"></span> = TypeScript 5.9 Study Guide (for JavaScript, Node.js, and React developers) = '''Last verified:''' 2026-01-13 '''Latest stable release line shown on the TypeScript site:''' '''TypeScript 5.9''' ([https://www.typescriptlang.org/ TypeScript]) '''Latest patch listed on GitHub releases:''' '''5.9.3''' ([https://github.com/Microsoft/TypeScript/releases GitHub]) '''TypeScript 5.9 announ...\""
},
{
"logid": 98,
"ns": 0,
"title": "Full MUI AppShell (React 19 + MUI v7) \u2014 Complete Example",
"pageid": 94,
"logpage": 94,
"revid": 219,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2026-01-13T01:49:50Z",
"comment": "Created page with \"<span id=\"full-mui-appshell-react-19-mui-v7-complete-example\"></span> = Full MUI AppShell (React 19 + MUI v7) \u2014 Complete Example = This document walks you from '''zero \u2192 running app''' with a production-grade '''AppShell''': * '''Fixed AppBar''' (top) * '''Responsive Drawer navigation''' ** <code>temporary</code> Drawer on small screens (hamburger menu) ** <code>permanent</code> Drawer on desktop * '''Route-based content area''' (React Router) * '''Light/Dark/Syste...\""
},
{
"logid": 97,
"ns": 0,
"title": "Diffable Data Sources in UIKit (UITableView + UICollectionView) \u2014 Modern Swift (2026)",
"pageid": 93,
"logpage": 93,
"revid": 217,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2026-01-07T07:25:04Z",
"comment": "Created page with \"<span id=\"diffable-data-sources-in-uikit-uitableview-uicollectionview-modern-swift-2026\"></span> = Diffable Data Sources in UIKit (UITableView + UICollectionView) \u2014 Modern Swift (2026) = Diffable Data Sources let you drive <code>UITableView</code> and <code>UICollectionView</code> from ''snapshots'' (a declarative \u201cthis is what the UI should show right now\u201d state) instead of manually coordinating <code>insertRows</code>, <code>deleteItems</code>, <code>performBatc...\""
},
{
"logid": 96,
"ns": 0,
"title": "System-Style SwiftUI Views Cheat Sheet",
"pageid": 92,
"logpage": 92,
"revid": 215,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2026-01-01T04:25:16Z",
"comment": "Created page with \" <span id=\"system-style-swiftui-views-cheat-sheet\"></span> = System-Style SwiftUI Views Cheat Sheet = This document focuses on '''ready-made, opinionated system views''' you can drop in to get platform\u2011native UI with minimal code \u2014 similar in spirit to <code>ContentUnavailableView</code>. ----- <span id=\"contentunavailableview-empty-error-states\"></span> == 1. <code>ContentUnavailableView</code> \u2013 Empty & Error States == '''Availability:''' iOS 17+, macOS...\""
},
{
"logid": 95,
"ns": 0,
"title": "FileManager.SearchPathDirectory (Swift / Foundation)",
"pageid": 91,
"logpage": 91,
"revid": 213,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2026-01-01T03:56:48Z",
"comment": "Created page with \"<span id=\"filemanager.searchpathdirectory-swift-foundation\"></span> = <code>FileManager.SearchPathDirectory</code> (Swift / Foundation) = <code>FileManager.SearchPathDirectory</code> is an enum that identifies \u201cwell-known\u201d directory locations. You typically use it with: * <code>FileManager.default.urls(for:in:)</code> to ''locate'' common directories. :contentReference<span index=\"0\">oaicite:0</span><br /> * <code>FileManager.default.url(for:in:appropriateFor:crea...\""
},
{
"logid": 94,
"ns": 0,
"title": "Firebase for Your iOS App (with a Python/FastAPI Backend)",
"pageid": 90,
"logpage": 90,
"revid": 211,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2025-12-31T15:03:08Z",
"comment": "Created page with \"<span id=\"firebase-for-your-ios-app-with-a-pythonfastapi-backend\"></span> = Firebase for Your iOS App (with a Python/FastAPI Backend) = This document gives you a practical, end\u2011to\u2011end overview of using '''Firebase as the backend''' for an iOS app, with special focus on: * Creating a '''login system''' using Firebase Authentication * Storing and using '''many user\u2011generated files''' * Using a '''Python (FastAPI) backend''' together with Firebase ----- <span id=...\""
},
{
"logid": 93,
"ns": 0,
"title": "How to Extract Only the Audio from a Video on iOS",
"pageid": 89,
"logpage": 88,
"revid": 206,
"params": {
"target_ns": 0,
"target_title": "Extracting Only the Audio from a Video on iOS (Swift)"
},
"type": "move",
"action": "move",
"user": "Ryan",
"timestamp": "2025-12-31T09:40:35Z",
"comment": ""
},
{
"logid": 92,
"ns": 0,
"title": "How to Extract Only the Audio from a Video on iOS",
"pageid": 89,
"logpage": 88,
"revid": 205,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2025-12-31T09:17:57Z",
"comment": "Created page with \"<span id=\"how-to-extract-only-the-audio-from-a-video-on-ios\"></span> = How to Extract Only the Audio from a Video on iOS = This guide shows you '''how to turn a video into an audio file (like .m4a)''' directly on your iPhone or iPad. You\u2019ll learn: # How to do it '''using only built\u2011in iOS apps''' (Shortcuts + Files) # (Optional) How to do it with a '''third\u2011party app''' from the App Store ----- <span id=\"extract-audio-using-only-builtin-apps-shortcuts\"></span...\""
},
{
"logid": 91,
"ns": 0,
"title": "Single end-to-end iOS Swift example (Firebase ID token \u2192 presign \u2192 S3 PUT \u2192 Firestore doc)",
"pageid": 87,
"logpage": 87,
"revid": 203,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2025-12-31T08:57:14Z",
"comment": "Created page with \"<span id=\"single-end-to-end-ios-swift-example-firebase-id-token-presign-s3-put-firestore-doc\"></span> == Single end-to-end iOS Swift example (Firebase ID token \u2192 presign \u2192 S3 PUT \u2192 Firestore doc) == This example does exactly these steps: # '''Get Firebase ID token''' from the currently signed-in user # '''Call your FastAPI''' <code>POST /v1/uploads/presign</code> with <code>Authorization: Bearer <token></code> # '''Upload bytes to S3''' with <code>URLSessio...\""
},
{
"logid": 90,
"ns": 0,
"title": "Fully integrated: Dockerized FastAPI + Firebase Auth + Firestore + S3 (Cloud Run '''or''' ECS/Fargate)",
"pageid": 86,
"logpage": 86,
"revid": 201,
"params": {},
"type": "create",
"action": "create",
"user": "Ryan",
"timestamp": "2025-12-31T08:55:22Z",
"comment": "Created page with \" <span id=\"what-fully-integrated-means-here\"></span> === What \u201cfully integrated\u201d means here === You\u2019ll have: * '''iOS app''' using '''Firebase Authentication''' for login. * A '''Python (FastAPI) backend''' that: ** verifies Firebase '''ID tokens''' (so every request is tied to a real user) ** reads/writes '''Firestore''' (your \u201csource of truth\u201d for app data) ** issues '''S3 presigned URLs''' (so the app uploads/downloads files ''directly'' to/from S3 without...\""
}
]
}
}