You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- the claude\designs directory is used for all design related files and should not be used for any other purpose.
137
137
138
138
# Code Style
139
-
- Always recommend dart code vs trying to use native code in Swift or Kotlin, etc. If required, look for 3rd party libraries that might be available that publish solutions that work in all platforms (mac, linux, windows, android, ios, web).
139
+
- Always recommend dart code vs trying to use native code in Swift or Kotlin, etc. If required, look for 3rd party libraries that might be available that publish solutions that work in all platforms (mac, linux, windows, android, ios, web).
140
+
141
+
- If you're rendering a list of items, use ListView even if you only have one string you want to display: ListView(title: Text(string))
142
+
- If you have multiple, use subtitle as well
143
+
- If you need the option for lots of text, use ExpansionTile
144
+
- NO hardcoding theme stuff, since Flutter users expect to be able to override these values via Theme
145
+
146
+
- In general, pulling larger chunks of UI out into getters really helps readability, e.g.
147
+
148
+
class MyState extends State<MyWidget> {
149
+
// ...
150
+
151
+
Widget get something => ListTile(/* ... */ );
152
+
}
153
+
Flutter has an insane problem with rightward drift, and this is one of the few tools we have to combat it
Copy file name to clipboardExpand all lines: README.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,6 +112,71 @@ Both export features now use the **native platform Share API** for a seamless us
112
112
- The `share_plus` package handles all platform-specific sharing requirements automatically
113
113
- Users can share to any compatible app (email, cloud storage, messaging, etc.) through the native platform dialogs
114
114
115
+
## `SystemSettingsView`
116
+
117
+
The `SystemSettingsView` provides a comprehensive interface for viewing and inspecting all Ditto system configuration settings. This diagnostic tool helps developers understand the current runtime configuration of their Ditto instance by displaying all system parameters retrieved using the `SHOW ALL` DQL statement.
118
+
119
+
### Usage
120
+
121
+
The `SystemSettingsView` can be used as a standalone widget in your Flutter application:
1.**Dynamic Settings Display** - Automatically displays all available system settings without hardcoded keys, adapting to different Ditto SDK versions
138
+
2.**Search Functionality** - Real-time search/filter to quickly find specific settings by key or value
139
+
3.**Smart Value Formatting** - Intelligent display of different data types (boolean, number, string, array, object)
140
+
4.**Detailed View** - Expandable detail dialog for complex values (arrays, objects, long strings)
141
+
5.**Copy to Clipboard** - Easy copying of setting key-value pairs for debugging or documentation
142
+
6.**Live Refresh** - Manual refresh button to reload settings and see configuration changes
143
+
144
+
### Settings Information Displayed
145
+
146
+
The view displays all system configuration parameters including but not limited to:
147
+
-**Replication Settings** - Parameters controlling data synchronization behavior
148
+
-**Network Settings** - Configuration for mesh networking, routing, and transports
149
+
-**Storage Settings** - Database and blob store configuration
150
+
-**Performance Settings** - Timeout values, batch sizes, and optimization parameters
151
+
-**Feature Flags** - Enabled/disabled features and experimental options
152
+
153
+
### Value Visualization
154
+
155
+
Different data types are displayed with appropriate formatting:
156
+
-**Booleans** - Color-coded badges (green for true, grey for false)
157
+
-**Numbers** - Monospace font for easy reading
158
+
-**Strings** - Truncated with full view on tap for long values
159
+
-**Arrays/Objects** - Compact badge showing type and item count, expandable for full JSON view
160
+
-**Empty Values** - Clear indication of empty arrays, objects, or strings
161
+
162
+
### Real-time Search
163
+
164
+
The search feature allows filtering by:
165
+
- Setting key names (e.g., searching for "replication" shows all replication-related settings)
166
+
- Setting values (e.g., searching for "true" shows all boolean settings that are enabled)
167
+
- Case-insensitive matching for convenience
168
+
169
+
### Platform Support
170
+
- ✅ **iOS**: Full support
171
+
- ✅ **Android**: Full support
172
+
- ✅ **macOS**: Full support
173
+
- ✅ **Linux**: Full support
174
+
- ✅ **Web**: Full support (when Ditto Web SDK supports DQL execution)
175
+
176
+
### Documentation Reference
177
+
178
+
For more information about system settings and the `SHOW ALL` DQL statement, see the [Ditto documentation on retrieving system values](https://docs.ditto.live/sdk/latest/sync/using-alter-system#retrieving-values).
179
+
115
180
## `SyncStatusHelper` and `SyncStatusView`
116
181
117
182
These tools are intended to provide insights into the status of your subscriptions.
0 commit comments