Commit 26b5a71
committed
Add delta-reconnect optimization, pupil label printing, and test suite
Delta-reconnect: server tracks per-HubObjectType change timestamps in
memory (HubUpdatesTracker), exposes via getLastChangeTimes RPC endpoint,
and instruments all 50 broadcast sites with touch() calls. Client
compares server change times against disconnect timestamp and emits
HubSelectiveReconnect instead of full HubReconnected. All 10 managers
handle selective reconnect with fallback to full refetch on failure.
Pupil labels: add PupilLabelPdfService generating AVERY 5759 format
labels with QR code, school grade, learning group, and school name.
Integrated into School Lists page.
Tests: 136 tests covering HubUpdatesTracker, delta comparison logic,
DateTimeExtensions (client + server), SchooldayEventFilterPredicates,
PupilIdentityHelper CSV parsing, PupilIdentityExtension serialization/
equality, PupilProxyHelper predicates, and AES-CBC encrypt/decrypt
round-trips.1 parent 8275d26 commit 26b5a71
78 files changed
Lines changed: 4229 additions & 2099 deletions
File tree
- docs/model_relations
- school_data_hub_client/lib/src/protocol
- _features/hub/models
- school_data_hub_flutter
- assets
- lib
- common/widgets/generic_components
- core
- client
- init
- features
- _attendance
- domain
- presentation/attendance_page
- _authorizations
- data
- domain
- _pupil
- data
- domain
- presentation/pupil_profile_page/widgets/pupil_profile_page_content/learning_support_content
- _school_lists/domain
- _schoolday_events
- data
- domain
- books
- data
- domain
- learning_support
- data
- domain
- learning
- _competence
- data
- domain
- presentation/pupil_list_learning_page
- widgets/pupil_learning_content
- competence_report/domain
- services
- pdf
- pages
- pdf_widgets
- school_calendar/domain
- school/data
- workbooks
- data
- domain
- test
- app_utils
- core
- hub
- pupil
- schoolday_events
- school_data_hub_server
- lib/src
- _features
- attendance/endpoints
- authorizations/endpoints
- hub
- endpoints
- models
- services
- learning_support/endpoints
- learning
- competence_report/endpoints
- competence/endpoints
- pupil/endpoints
- school_lists/endpoints
- schoolday_events/endpoints
- generated
- _features/hub/models
- test
- integration/test_tools
- unit
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Loading
Lines changed: 82 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Loading
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
Lines changed: 49 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
31 | 53 | | |
32 | 54 | | |
33 | 55 | | |
| |||
48 | 70 | | |
49 | 71 | | |
50 | 72 | | |
| 73 | + | |
51 | 74 | | |
52 | 75 | | |
53 | 76 | | |
| |||
133 | 156 | | |
134 | 157 | | |
135 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
136 | 162 | | |
137 | 163 | | |
138 | 164 | | |
139 | 165 | | |
140 | 166 | | |
141 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
142 | 179 | | |
143 | 180 | | |
144 | 181 | | |
| |||
181 | 218 | | |
182 | 219 | | |
183 | 220 | | |
184 | | - | |
| 221 | + | |
185 | 222 | | |
186 | 223 | | |
187 | 224 | | |
188 | 225 | | |
189 | 226 | | |
190 | | - | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
191 | 230 | | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
192 | 238 | | |
| 239 | + | |
193 | 240 | | |
194 | 241 | | |
195 | 242 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
65 | 69 | | |
66 | 70 | | |
67 | 71 | | |
| |||
0 commit comments