Conversation
- Introduced `PaginatedResponse` and `QueryParams` interfaces for handling paginated API responses. - Defined various interfaces for entities such as `BoardMember`, `Career`, `Event`, `Publication`, and more to standardize data structures. - Added `normalizeDepartment` helper function for department normalization in `Career`. - Created `ForumEvent` and `ForumTitlesResponse` interfaces to structure forum event data and responses.
… dialog components
… and loading states
… better layout and styling
…rd, IconsPackagePage, and PackagesPage components
…PackagesPage components
…vConPage components
Show per-card shimmer placeholders while the Near You tab loads, and convert the map search sheet's browse list and the dashboard Country/All tabs from eagerly-built lists to real SliverList-based lazy loading, so large lists build on demand as the user scrolls.
Air quality marker icons were rasterized at 10x10 logical pixels (vs. the helper's own 24x24 default), making them look like tiny dots. Bump to 44x44 and center-anchor the circular badge icons on their coordinate instead of the default bottom-anchor meant for teardrop pins.
- Created tests for API routes to ensure section existence and route formats. - Implemented tests for BaseApiService methods including URL building and HTTP methods. - Added tests for countrySlice to validate country selection and clearing. - Developed tests for forumSlice to manage event selection and active tab state. - Introduced tests for modalSlice to verify modal open/close functionality and state toggling.
…nd IG sticker Lets Clean Air Forum attendees generate a branded selfie filter or transparent Instagram sticker from their live AQI reading and optionally submit it to the conference wall display, so the feature drives visible engagement at the booth. - Filter/sticker/share-card templates match the approved Figma spec exactly (proportional scaling off a 1080px reference so text/branding stay pixel-accurate at any capture resolution) - Live camera screen overlays the filter chrome so users can frame their shot before capturing, falling back to the system camera or gallery - Share sheet, selfie-source picker, and consent toggle reuse the Exposure/ Learn design tokens (buttons, switch, drag-handle chrome) for visual consistency with the rest of the app instead of one-off styling - Copies the sticker straight to the clipboard (via `pasteboard`) so it can be pasted into an Instagram Story without a separate save/share step - Card and filter shares now include the app link in the share text for conversion tracking Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Fixes a CodeRabbit finding: didChangeAppLifecycleState disposed the camera controller on AppLifecycleState.inactive but never cleared the field, so a rebuild before _openCamera() finished on resume could still try to paint CameraPreview against an already-disposed controller. Now nulls the field (and rebuilds) before disposing. Also sends the new x-clean-air-forum-secret header (from CLEAN_AIR_FORUM_API_SECRET) on wall submissions, matching the website's new shared-secret check. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ityDisplay components
Bumps package.json to match the version already documented in CHANGELOG.md for the OAuth child-window work (main/auth-window.ts), which merged without a version bump. This also folds in staging's accumulated release-pipeline fixes (explicit release dispatch, ref pinning, Linux icon size) since none of it has been tagged/released yet. Bumping this on staging will let auto-tag cut and build the first fully-automated release across Windows, macOS, and Linux. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…roved readability
…, mojibake, cleanup) - sanitizeCardText: latin1.encode() can't represent Windows-1252-specific code points (smart quotes, em-dashes), so it threw and silently left that mojibake (e.g. "it’s") unfixed. Rebuild the byte sequence with a proper Windows-1252 reverse map instead, and tighten detection to drop the bare 'â' trigger (false-positives on legitimate text like "château") in favor of the more specific 'â€' compound signature. Added regression tests. - _pickSelfie / _openLiveCamera: guard the post-await setState calls with `mounted`, matching the pattern already used elsewhere in the file — picking/capturing a selfie after the sheet is dismissed could otherwise throw. - _copySticker: read the clipboard back after Pasteboard.writeImage to confirm something was actually copied before showing "Copied!" — on iOS, a failed image decode leaves UIPasteboard.general.image nil but still resolves the write as successful. - CleanAirForumCameraScreen._setUp: guard Permission.camera.request() with try/catch like the availableCameras() call beside it — build()'s FutureBuilder never checks snapshot.hasError, so an unguarded permission failure left the UI stuck on a permanent loading spinner. - CleanAirForumCameraScreen._openCamera: dispose and clear the controller when initialize() fails instead of leaving _controller pointing at a non-initialized, undisposed instance. - CleanAirForumSubmissionService: document that the bundled shared secret is a weak, interim deterrent only (extractable from the app binary), and that the real backend swap should use a proper per-request mechanism instead of carrying it forward. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tency across product pages
chore(vertex-desktop): bump version to 0.1.11
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
feat: add unit testing infrastructure, E2E tests, and CI/CD workflows
…-quality-lists Feature/lazy loading air quality lists
…m for consistency across the application
…organization management guides - Created `analytics-dashboard.md` to detail the features and usage of the Nexus Dashboard for monitoring air quality. - Added `interactive-map.md` to explain the functionalities of the Interactive Map for exploring air quality data across Africa. - Introduced organization management documentation including `managing-members.md`, `member-requests.md`, `organization-settings.md`, and `roles-and-permissions.md` to guide administrators in managing members, roles, and settings. - Established categories for organization management and visualizing data in the documentation structure. - Developed `dataset-visualizer.md` to provide instructions on using the Dataset Visualizer for uploading and analyzing air quality data.
…selfie-filter-mobile Add Clean Air Forum selfie filter, live camera guide, and IG sticker (mobile)
…oss the application
Updating to rebrand AirQo Analytics to Nexus
…sword reset documentation
Add documentation for Nexus
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.