Search results for

“column”

2,085 results found

Post

Replies

Boosts

Views

Activity

SwiftUI Table column widths cannot be saved
I have a macOS app made with SwiftUI where I want to show a list of data in a tabular fashion. SwiftUI Table seems to be the only built-in component that can do this. I would like to let the user size the columns and have their widths restored when the app is relaunched. I can find no documentation on how to do this and it does not seem to be saved and restored automatically. I can find no way to listen for changes in the column widths when the user resizes and no way to set the size from code. For a macOS app it seems that the only way to set the width of a column is to use e.g. .width(min: 200, max: 200). This in effect disables resizing of the column. It seems that idealSize is totally ignored on macOS. Any suggestions?
2
0
393
Feb ’25
Not able to view PDF on a website when I open it in Safari browser.
When you open the Directorate General of civil Aviation, India website then in the top bar bring the cursor to “Regulations and Guidance” under that there will be a drop down which will give numerous options. In that go to Centre Column “Civil Aviation Requirements”. Then click on ”Section 7” then click on “Part II”. Actually on a laptop it’s a 4 page document but on my iPad it’s just an image of the first page. I can’t read any of the PDF’s.
Topic: Safari & Web SubTopic: General
2
0
200
Feb ’25
Fatal Error in Swift Playground
Fatal Error in Swift Playground Description I'm experiencing a catastrophic error when importing Package Dependency in any Swift Playgrounds that has icon or name that caused the whole Playground won't work anymore with error messages below. I'm current running macOS Sequoia 15.3 (24D60) and Swift Playgrounds 4.6.1. They're all up-to-date. Reproduction Open Swift Playgrounds and and create a new project. Import a package dependency https://github.com/simibac/ConfettiSwiftUI.git Rename the project and add an icon Then you should able the reproduce the problem. I strongly believed that this is a serious bug. You'll find that Assets in the left column are disappeared and appeared Assets.xcassets, you're unable to reveal the Dependency in the column like the reference picture above. The whole Playground is destroyed now and unable to work anymore.
2
0
533
Feb ’25
Correct way to label TextField inside Form in SwiftUI
Hello everyone. I'm building a simple Form in a Multiplatform App with SwiftUI. Originally I had something like this. import SwiftUI struct OnboardingForm: View { @State var firstName: String = @State var lastName: String = @State var email: String = @State var job: String = @State var role: String = var body: some View { Form { TextField(First Name, text: $firstName, prompt: Text(Required)) TextField(Last Name, text: $lastName, prompt: Text(Required)) TextField(Email, text: $email, prompt: Text(Required)) TextField(Job, text: $job, prompt: Text(Required)) TextField(Role, text: $role, prompt: Text(Required)) } } } #Preview { OnboardingForm() } In macOS it looks ok but then in iOS it looks like this: and it's impossible to know what each field is for if all the prompts are the same. I tried adding LabeledContent around each text field and that solves it for iOS but then on macOS it looks like this: The labels are shown twice and the columns are out of alignment. I think I could get around it by d
2
0
1.1k
Feb ’25
Reply to libncftp v. macOS Native curl with Secure Transport APIs and Session Reuse
But, just to confirm, that means that can reproduce this with a server under your control, right? If so, that’s definitely a progress. Confirmed. A correlating factor seems to be those servers written against OpenSSL, possibly running on Linux. See below. OK. And cases 1 and 2 (curl with Secure Transport, and Fetch 5.8) work whereas case 3 (your libncftp code) fails, right? Confirmed. FTPS Server Secure Control-only Secure Control+Data test.rebex.net Custom .NET Implementation ✅ ✅ Microsoft FTP Service ✅ ❌ proftpd ✅ ❌ pureftpd ✅ ❌ vsftpd ✅ ❌ Until I added code to utilize SSLSetPeerID, Secure Control+Data was ❌ up and down that column. Adding code to work with SSLSetPeerID allowed the test.rebex.net Custom .NET Implementation to work on stop responding with 425: Cannot secure data connection - TLS session resumption required. on attempting to establish the secure data channel session.
Topic: Privacy & Security SubTopic: General Tags:
Feb ’25
SwiftData integration for coexistence with CoreData Error: Persistent truncated
When integrating SwiftData for an already existing app that uses CoreData as data management, I encounter errors. When building the ModelContainer for the first time, the following error appears: Error: Persistent History (184) has to be truncated due to the following entities being removed (all Entities except for the 2 where I defined a SwiftData Model) class SwiftDataManager: ObservableObject { static let shared = SwiftDataManager() private let persistenceManager = PersistenceManager.shared private init(){} lazy var modelContainer: ModelContainer = { do { let storeUrl = persistenceManager.storeURL() let schema = Schema([ HistoryIncident.self, HistoryEvent.self ]) let modelConfig = ModelConfiguration(url: storeUrl) return try ModelContainer(for: schema, configurations: [modelConfig]) } catch { fatalError(Could not create ModelContainer: (error)) } }() } @Model public class HistoryIncident { var missionNr: String? @Relationship(deleteRule: .cascade) var events: [HistoryEvent]? public init(){} } @Model class
1
0
684
Feb ’25
Reply to Correct way to label TextField inside Form in SwiftUI
I've never needed to do this, but I've had a quick look, and this seems reasonable: var body: some View { VStack(alignment: .leading) { Form { Text(First Name) TextField(, text: $firstName, prompt: Text(Required)) Text(Last Name) .padding(.top, 10) TextField(, text: $lastName, prompt: Text(Required)) Text(Email) .padding(.top, 10) TextField(, text: $email, prompt: Text(Required)) Text(Job) .padding(.top, 10) TextField(, text: $job, prompt: Text(Required)) Text(Role) .padding(.top, 10) TextField(, text: $role, prompt: Text(Required)) } .formStyle(.columns) .padding(.horizontal, 16) .padding(.vertical, 16) Spacer() } } The key is .formStyle(.columns).
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Feb ’25
Create ML Trouble Loading CSV to Train Word Tagger With Commas in Training Data
I'm using Numbers to build a spreadsheet that I'm exporting as a CSV. I then import this file into Create ML to train a word tagger model. Everything has been working fine for all the models I've trained so far, but now I'm coming across a use case that has been breaking the import process: commas within the training data. This is a case that none of Apple's examples show. My project takes Navajo text that has been tokenized by syllables and labels the parts-of-speech. Case that works... Raw text: Naaltsoos yídéeshtah. Tokens column: Naal,tsoos, ,yí,déesh,tah,. Labels column: NObj,NObj,Space,Verb,Verb,VStem,Punct Case that breaks... Raw text: óola, béésh łigaii, tłʼoh naadą́ą́ʼ, wáin, akʼah, dóó á,shįįh Tokens column with tokenized text (commas quoted): óo,la,,, ,béésh, ,łi,gaii,,, ,tłʼoh, ,naa,dą́ą́ʼ,,, ,wáin,,, ,a,kʼah,,, ,dóó, ,á,shįįh (Create ML reports mismatched columns) Tokens column with tokenized text (commas escaped): óo,la,,, ,béésh, ,łi,gaii,,, ,tłʼoh,
6
0
836
Jan ’25
Reply to Embedding a NavigationSplitView inside a NavigationStack
NavigationSplitView and TabView are top level navigation containers and could have unexpected behaviors when they're not implemented as such. on iOS, a NavigationSplitView collapses all of its columns into a stack.So it's best practice to prefer using a split view in a regular — not a compact — environments. Please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here. If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?
Topic: UI Frameworks SubTopic: SwiftUI
Jan ’25
Reply to Multiple PushProviders Instantiated at one time
I’m not super familiar with app push providers, but there’s one thing I want to check up front. You wrote: [quote='773468021, dtanmasimo, /thread/773468, /profile/dtanmasimo'] I see logs for my push provider initializing but I don't see it de-initializing. [/quote] Are you sure they’re all from the same process? I’ve hit situations like this — with other NE provider types, mind you — where the process died and was restarted, but the logging didn’t make that obvious. I generally do all my logging with the system log (see Your Friend the System Log) which records the pid with each log entry. So, all I need to do to rule this out is to show that column in Console. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Jan ’25
Reply to 400 : bad gateway error when requesting analytics reports
Ok, so, after a bit of back and forth, here's where I stand : curl --location 'https://api.appstoreconnect.apple.com/v1/analyticsReportRequests' --header 'Content-Type: application/json' --header 'Authorization: Bearer [my_token]' --data '{ type: analyticsReportRequests, attributes: { accessType: ONGOING }, relationships: { app : { data : { type : apps, id : [my_appid] } } } }' I have changed up my request such that it now looks like this, and I've got a new issue : { errors: [ { id: [id], status: 422, code: ENTITY_UNPROCESSABLE, title: The request entity is not a valid request document object, detail: Unexpected or invalid value at 'type'., meta: { position: { row: 2, column: 22 } } } ] } Doesn't really feel like I've made any progress, but I'm now getting a 422 error response, and I really don't see any way out of this. Any help at all would be appreciated.
Jan ’25
Reply to Subscription Paywall Stuck on 'Loading Subscription': Works in Debug, Stuck in TestFlight/Production
Subscriptions are approved in App Store Connect. Do you mean that the status of your subscriptions is Approved in App Store Connect? For more information about status, see In-app purchase statuses. SubscriptionStoreView(productIDs: subscriptionsManager.products.map { $0.id }) Can you add logs to inspect the values of the product identifiers you are using in your app? Compare these values to the ProductID column of your in-app purchases in App Store Connect. Confirm the following: The country or region of the account currently logged on your device matches one of the countries or regions you selected for your in-app purchase in App Store Connect. In App Store Connect, the status of your Paid Apps Agreement is Active. In App Store Connect, the status of your banking and tax information is Active. For more information, see Manage banking information, Manage tax information, and View agreements status. If the status of your subscriptions is Approved in App Store Connect, they are available in App Store
Jan ’25
Reply to How to find the camera transform (or view matrix) in the world coordinate from a camera frame
Hi @hale_xie I did some prototyping over the weekend and came up with something that's close, but not perfect. Specifically, there's increasing misalignment as the angle between an object and the camera increases. I'd appreciate it if you file a feedback request to request an abstraction to simplify offline rendering with passthrough. Be sure to detail your use case. Now on to the solution which uses ProjectiveTransformCameraComponent instead of PerspectiveCamera. Here's a class to render a scene with passthrough. Construct it with the root entity you want to render. When CameraFrameProvider delivers an update, call render to obtain a UIImage of the scene. import SwiftUI import RealityKit import ARKit @MainActor final class EntityToImage { let renderer:RealityRenderer? let cameraEntity = Entity() init(root: Entity) { renderer = try? RealityRenderer() renderer?.entities.append(root) renderer?.entities.append(cameraEntity) } private func computeProjectionMatrix( intrinsics: simd_float3x3, extrinsics: simd_float
Topic: Spatial Computing SubTopic: ARKit Tags:
Jan ’25
Reply to Trying to better understand CGAffineTransform.... and need a bit of guidance.
Here are some tidbits about affine transforms on Apple platforms that I have collected over the years. I hope they are helpful for you. This might be overkill for your particular question (as it appears to have received some pretty good answers already), but I'm putting it on the forums in case it's useful to anyone else. Documentation Core Graphics affine transform is defined here: CGAffineTransform There is also a detailed discussion here: Quartz 2D Programming Guide: Transforms Core Animation includes a unit based coordinate system discussed here: Core Animation Programming Guide: Core Animation Basics Foundation also has an affine transform: Foundation: AffineTransform Accelerate also includes simd based affine transforms used with 3D coordinaes: Accelerate: Working with Matrices A technote about debugging coordinate space issues: TN3124: Debugging coordinate space issues Understanding affine transforms There are many interesting discussions of affine transforms and how to use them available elsewhere. I'
Topic: Graphics & Games SubTopic: General Tags:
Jan ’25
SwiftUI Table column widths cannot be saved
I have a macOS app made with SwiftUI where I want to show a list of data in a tabular fashion. SwiftUI Table seems to be the only built-in component that can do this. I would like to let the user size the columns and have their widths restored when the app is relaunched. I can find no documentation on how to do this and it does not seem to be saved and restored automatically. I can find no way to listen for changes in the column widths when the user resizes and no way to set the size from code. For a macOS app it seems that the only way to set the width of a column is to use e.g. .width(min: 200, max: 200). This in effect disables resizing of the column. It seems that idealSize is totally ignored on macOS. Any suggestions?
Replies
2
Boosts
0
Views
393
Activity
Feb ’25
Not able to view PDF on a website when I open it in Safari browser.
When you open the Directorate General of civil Aviation, India website then in the top bar bring the cursor to “Regulations and Guidance” under that there will be a drop down which will give numerous options. In that go to Centre Column “Civil Aviation Requirements”. Then click on ”Section 7” then click on “Part II”. Actually on a laptop it’s a 4 page document but on my iPad it’s just an image of the first page. I can’t read any of the PDF’s.
Topic: Safari & Web SubTopic: General
Replies
2
Boosts
0
Views
200
Activity
Feb ’25
Reply to Network Extension Unexpectedly Terminated by iOS
[quote='774113021, maxpe, /thread/774113, /profile/maxpe'] On affected devices, the “Swap Used” column shows very low values (a few MB). [/quote] Where are you seeing this Swap Used column? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
Feb ’25
Fatal Error in Swift Playground
Fatal Error in Swift Playground Description I'm experiencing a catastrophic error when importing Package Dependency in any Swift Playgrounds that has icon or name that caused the whole Playground won't work anymore with error messages below. I'm current running macOS Sequoia 15.3 (24D60) and Swift Playgrounds 4.6.1. They're all up-to-date. Reproduction Open Swift Playgrounds and and create a new project. Import a package dependency https://github.com/simibac/ConfettiSwiftUI.git Rename the project and add an icon Then you should able the reproduce the problem. I strongly believed that this is a serious bug. You'll find that Assets in the left column are disappeared and appeared Assets.xcassets, you're unable to reveal the Dependency in the column like the reference picture above. The whole Playground is destroyed now and unable to work anymore.
Replies
2
Boosts
0
Views
533
Activity
Feb ’25
Correct way to label TextField inside Form in SwiftUI
Hello everyone. I'm building a simple Form in a Multiplatform App with SwiftUI. Originally I had something like this. import SwiftUI struct OnboardingForm: View { @State var firstName: String = @State var lastName: String = @State var email: String = @State var job: String = @State var role: String = var body: some View { Form { TextField(First Name, text: $firstName, prompt: Text(Required)) TextField(Last Name, text: $lastName, prompt: Text(Required)) TextField(Email, text: $email, prompt: Text(Required)) TextField(Job, text: $job, prompt: Text(Required)) TextField(Role, text: $role, prompt: Text(Required)) } } } #Preview { OnboardingForm() } In macOS it looks ok but then in iOS it looks like this: and it's impossible to know what each field is for if all the prompts are the same. I tried adding LabeledContent around each text field and that solves it for iOS but then on macOS it looks like this: The labels are shown twice and the columns are out of alignment. I think I could get around it by d
Replies
2
Boosts
0
Views
1.1k
Activity
Feb ’25
Reply to libncftp v. macOS Native curl with Secure Transport APIs and Session Reuse
But, just to confirm, that means that can reproduce this with a server under your control, right? If so, that’s definitely a progress. Confirmed. A correlating factor seems to be those servers written against OpenSSL, possibly running on Linux. See below. OK. And cases 1 and 2 (curl with Secure Transport, and Fetch 5.8) work whereas case 3 (your libncftp code) fails, right? Confirmed. FTPS Server Secure Control-only Secure Control+Data test.rebex.net Custom .NET Implementation ✅ ✅ Microsoft FTP Service ✅ ❌ proftpd ✅ ❌ pureftpd ✅ ❌ vsftpd ✅ ❌ Until I added code to utilize SSLSetPeerID, Secure Control+Data was ❌ up and down that column. Adding code to work with SSLSetPeerID allowed the test.rebex.net Custom .NET Implementation to work on stop responding with 425: Cannot secure data connection - TLS session resumption required. on attempting to establish the secure data channel session.
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
Feb ’25
SwiftData integration for coexistence with CoreData Error: Persistent truncated
When integrating SwiftData for an already existing app that uses CoreData as data management, I encounter errors. When building the ModelContainer for the first time, the following error appears: Error: Persistent History (184) has to be truncated due to the following entities being removed (all Entities except for the 2 where I defined a SwiftData Model) class SwiftDataManager: ObservableObject { static let shared = SwiftDataManager() private let persistenceManager = PersistenceManager.shared private init(){} lazy var modelContainer: ModelContainer = { do { let storeUrl = persistenceManager.storeURL() let schema = Schema([ HistoryIncident.self, HistoryEvent.self ]) let modelConfig = ModelConfiguration(url: storeUrl) return try ModelContainer(for: schema, configurations: [modelConfig]) } catch { fatalError(Could not create ModelContainer: (error)) } }() } @Model public class HistoryIncident { var missionNr: String? @Relationship(deleteRule: .cascade) var events: [HistoryEvent]? public init(){} } @Model class
Replies
1
Boosts
0
Views
684
Activity
Feb ’25
Reply to Correct way to label TextField inside Form in SwiftUI
I've never needed to do this, but I've had a quick look, and this seems reasonable: var body: some View { VStack(alignment: .leading) { Form { Text(First Name) TextField(, text: $firstName, prompt: Text(Required)) Text(Last Name) .padding(.top, 10) TextField(, text: $lastName, prompt: Text(Required)) Text(Email) .padding(.top, 10) TextField(, text: $email, prompt: Text(Required)) Text(Job) .padding(.top, 10) TextField(, text: $job, prompt: Text(Required)) Text(Role) .padding(.top, 10) TextField(, text: $role, prompt: Text(Required)) } .formStyle(.columns) .padding(.horizontal, 16) .padding(.vertical, 16) Spacer() } } The key is .formStyle(.columns).
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Feb ’25
Create ML Trouble Loading CSV to Train Word Tagger With Commas in Training Data
I'm using Numbers to build a spreadsheet that I'm exporting as a CSV. I then import this file into Create ML to train a word tagger model. Everything has been working fine for all the models I've trained so far, but now I'm coming across a use case that has been breaking the import process: commas within the training data. This is a case that none of Apple's examples show. My project takes Navajo text that has been tokenized by syllables and labels the parts-of-speech. Case that works... Raw text: Naaltsoos yídéeshtah. Tokens column: Naal,tsoos, ,yí,déesh,tah,. Labels column: NObj,NObj,Space,Verb,Verb,VStem,Punct Case that breaks... Raw text: óola, béésh łigaii, tłʼoh naadą́ą́ʼ, wáin, akʼah, dóó á,shįįh Tokens column with tokenized text (commas quoted): óo,la,,, ,béésh, ,łi,gaii,,, ,tłʼoh, ,naa,dą́ą́ʼ,,, ,wáin,,, ,a,kʼah,,, ,dóó, ,á,shįįh (Create ML reports mismatched columns) Tokens column with tokenized text (commas escaped): óo,la,,, ,béésh, ,łi,gaii,,, ,tłʼoh,
Replies
6
Boosts
0
Views
836
Activity
Jan ’25
Reply to Embedding a NavigationSplitView inside a NavigationStack
NavigationSplitView and TabView are top level navigation containers and could have unexpected behaviors when they're not implemented as such. on iOS, a NavigationSplitView collapses all of its columns into a stack.So it's best practice to prefer using a split view in a regular — not a compact — environments. Please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here. If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
Boosts
Views
Activity
Jan ’25
Reply to Multiple PushProviders Instantiated at one time
I’m not super familiar with app push providers, but there’s one thing I want to check up front. You wrote: [quote='773468021, dtanmasimo, /thread/773468, /profile/dtanmasimo'] I see logs for my push provider initializing but I don't see it de-initializing. [/quote] Are you sure they’re all from the same process? I’ve hit situations like this — with other NE provider types, mind you — where the process died and was restarted, but the logging didn’t make that obvious. I generally do all my logging with the system log (see Your Friend the System Log) which records the pid with each log entry. So, all I need to do to rule this out is to show that column in Console. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
Jan ’25
Reply to 400 : bad gateway error when requesting analytics reports
Ok, so, after a bit of back and forth, here's where I stand : curl --location 'https://api.appstoreconnect.apple.com/v1/analyticsReportRequests' --header 'Content-Type: application/json' --header 'Authorization: Bearer [my_token]' --data '{ type: analyticsReportRequests, attributes: { accessType: ONGOING }, relationships: { app : { data : { type : apps, id : [my_appid] } } } }' I have changed up my request such that it now looks like this, and I've got a new issue : { errors: [ { id: [id], status: 422, code: ENTITY_UNPROCESSABLE, title: The request entity is not a valid request document object, detail: Unexpected or invalid value at 'type'., meta: { position: { row: 2, column: 22 } } } ] } Doesn't really feel like I've made any progress, but I'm now getting a 422 error response, and I really don't see any way out of this. Any help at all would be appreciated.
Replies
Boosts
Views
Activity
Jan ’25
Reply to Subscription Paywall Stuck on 'Loading Subscription': Works in Debug, Stuck in TestFlight/Production
Subscriptions are approved in App Store Connect. Do you mean that the status of your subscriptions is Approved in App Store Connect? For more information about status, see In-app purchase statuses. SubscriptionStoreView(productIDs: subscriptionsManager.products.map { $0.id }) Can you add logs to inspect the values of the product identifiers you are using in your app? Compare these values to the ProductID column of your in-app purchases in App Store Connect. Confirm the following: The country or region of the account currently logged on your device matches one of the countries or regions you selected for your in-app purchase in App Store Connect. In App Store Connect, the status of your Paid Apps Agreement is Active. In App Store Connect, the status of your banking and tax information is Active. For more information, see Manage banking information, Manage tax information, and View agreements status. If the status of your subscriptions is Approved in App Store Connect, they are available in App Store
Replies
Boosts
Views
Activity
Jan ’25
Reply to How to find the camera transform (or view matrix) in the world coordinate from a camera frame
Hi @hale_xie I did some prototyping over the weekend and came up with something that's close, but not perfect. Specifically, there's increasing misalignment as the angle between an object and the camera increases. I'd appreciate it if you file a feedback request to request an abstraction to simplify offline rendering with passthrough. Be sure to detail your use case. Now on to the solution which uses ProjectiveTransformCameraComponent instead of PerspectiveCamera. Here's a class to render a scene with passthrough. Construct it with the root entity you want to render. When CameraFrameProvider delivers an update, call render to obtain a UIImage of the scene. import SwiftUI import RealityKit import ARKit @MainActor final class EntityToImage { let renderer:RealityRenderer? let cameraEntity = Entity() init(root: Entity) { renderer = try? RealityRenderer() renderer?.entities.append(root) renderer?.entities.append(cameraEntity) } private func computeProjectionMatrix( intrinsics: simd_float3x3, extrinsics: simd_float
Topic: Spatial Computing SubTopic: ARKit Tags:
Replies
Boosts
Views
Activity
Jan ’25
Reply to Trying to better understand CGAffineTransform.... and need a bit of guidance.
Here are some tidbits about affine transforms on Apple platforms that I have collected over the years. I hope they are helpful for you. This might be overkill for your particular question (as it appears to have received some pretty good answers already), but I'm putting it on the forums in case it's useful to anyone else. Documentation Core Graphics affine transform is defined here: CGAffineTransform There is also a detailed discussion here: Quartz 2D Programming Guide: Transforms Core Animation includes a unit based coordinate system discussed here: Core Animation Programming Guide: Core Animation Basics Foundation also has an affine transform: Foundation: AffineTransform Accelerate also includes simd based affine transforms used with 3D coordinaes: Accelerate: Working with Matrices A technote about debugging coordinate space issues: TN3124: Debugging coordinate space issues Understanding affine transforms There are many interesting discussions of affine transforms and how to use them available elsewhere. I'
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’25