Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
c66a905
android build: Allow Gradle to use even more memory, 4 GiB
PIG208 Feb 5, 2025
aa53cf6
sticky_header: Add example app
gnprice Jan 24, 2025
7814138
sticky_header test [nfc]: Cut a commented-out debug print
gnprice Jan 30, 2024
b39f6a9
sticky_header [nfc]: Add comments about child sliver
gnprice Jan 31, 2025
40bc4bc
sticky_header [nfc]: Add comments on _headerEndBound conditions
gnprice Jan 25, 2025
40ac6de
sticky_header [nfc]: Cut redundant assert on header size
gnprice Jan 25, 2025
ff252d7
sticky_header: Use cacheExtent from child
gnprice Jan 27, 2025
366144d
sticky_header [nfc]: Add asserts from studying possible child geometr…
gnprice Jan 25, 2025
66cc727
sticky_header: Handle scrollOffsetCorrection
gnprice Jan 28, 2025
4f80b30
sticky_header [nfc]: Skip hitTestExtent, further using simplifying as…
gnprice Jan 25, 2025
a702bd2
sticky_header [nfc]: Explicitly use single "childExtent"
gnprice Jan 25, 2025
5ad545b
sticky_header example: Add a double-sliver example
gnprice Jan 24, 2025
1e8899b
sticky_header: Fix _findChildAtEnd when viewport partly consumed already
gnprice Jan 18, 2024
5d58143
sticky_header: Avoid header at sliver/sliver boundary
gnprice Jan 26, 2024
52118ab
icons: Add resolve/unresolve-topic icons, from Figma
chrisbobbe Dec 5, 2024
2412fbc
action_sheet: Add and use PageRoot
chrisbobbe Jan 29, 2025
731b44f
action_sheet: Implement resolve/unresolve in topic action sheet
chrisbobbe Dec 5, 2024
0e6cacb
msglist: Fix DM header color lerp bug.
E-m-i-n-e-n-c-e Jan 30, 2025
bc0dfde
changelog: Describe changes since 0.0.25
gnprice Feb 7, 2025
ebd7a99
version: Bump version to 0.0.26
gnprice Feb 7, 2025
c4be9ea
doc: Before release, update translations
gnprice Feb 8, 2025
812d95c
l10n: Update translations from Weblate
gnprice Feb 8, 2025
c8aa4c8
i18n [nfc]: Explain why we skip translating licenses
PIG208 Feb 5, 2025
6dab833
about_zulip: Translate unknown app version placeholder
PIG208 Feb 6, 2025
0ac905c
app: Translate (well, transliterate) app title
PIG208 Feb 6, 2025
a08dcda
compose: Translate message for a filename with size
PIG208 Feb 6, 2025
9ba7faf
i18n [nfc]: Improve errorFilesTooLarge example for listMessage
PIG208 Feb 6, 2025
c6db6aa
login [nfc]: Shorten string for server URL input label
PIG208 Feb 6, 2025
0417c87
login [nfc]: Document need for "server URL" hint value to be reserved
gnprice Feb 8, 2025
6765f66
notif test: Clean up `TestPlatformDispatcher.defaultRouteNameTestValue`
rajveermalviya Jan 2, 2025
05628ca
app: Query initial-account-id while handling initial routes
rajveermalviya Jan 27, 2025
4ece284
app [nfc]: Reorder _ZulipAppState methods
rajveermalviya Feb 7, 2025
6d7c751
app: Pull out `_handleGenerateInitialRoutes`
rajveermalviya Jan 2, 2025
bd70287
page [nfc]: Add interface to get account ID for most of our routes
gnprice Jan 30, 2025
4b2f51e
notif: Use associated account as initial account, if opened from back…
rajveermalviya Dec 30, 2024
fb1b97f
notif: Query account by realm URL origin, not full URL
rajveermalviya Jan 28, 2025
9aafbd4
doc: Add libdrm troubleshooting entry
gnprice Jan 24, 2025
1e8397b
msglist: Update label to "Messages with yourself" in DM header
lakshya1goel Feb 12, 2025
f6655b8
login [nfc]: Pass GlobalStore to logOutAccount
PIG208 Jan 6, 2025
8b601be
actions test [nfc]: Move a store-related test to a better home
PIG208 Feb 11, 2025
d186ed0
actions [nfc]: Move logOutAccount and unregisterToken under lib/model
PIG208 Jan 16, 2025
a055486
msglist: Ensure sole ownership of MessageListView
PIG208 Feb 11, 2025
b8c26ec
doc: Update GSoC reference in README
gnprice Feb 14, 2025
96bdc7d
sticky_header [nfc]: Document SliverStickyHeaderList
gnprice Jan 31, 2025
41c410c
sticky_header example: Enable ink splashes, to demo hit-testing
gnprice Jan 31, 2025
16308e5
sticky_header example: Set allowOverflow true in double-sliver example
gnprice Jan 24, 2025
4ab8121
sticky_header example: Make double slivers not back-to-back
gnprice Feb 1, 2025
ca394c0
sticky_header test: Favor drag gestures over taps, when they compete
gnprice Jan 31, 2025
63f66d1
sticky_header test [nfc]: Generalize tap-logging from headers
gnprice Jan 31, 2025
8bf8c24
sticky_header test: Record taps on _Item widgets too
gnprice Jan 31, 2025
b541ea3
sticky_header example: Add double slivers with header at bottom
gnprice Feb 8, 2025
628ac15
sticky_header test [nfc]: Make "first/last item" finders more robust
gnprice Feb 11, 2025
488c60c
sticky_header test [nfc]: Prepare generic test for more generality
gnprice Feb 11, 2025
7df2c37
sticky_header test [nfc]: Prepare list of slivers more uniformly
gnprice Feb 11, 2025
fba97d8
sticky_header test: Use 10 items instead of 100
gnprice Feb 11, 2025
f53521b
sticky_header test: Test slivers splitting viewport
gnprice Feb 11, 2025
d98b67b
sticky_header [nfc]: Fix childMainAxisPosition to properly use paintE…
gnprice Feb 8, 2025
4cc3cb1
sticky_header [nfc]: Split header-overflows-sliver condition explicitly
gnprice Feb 11, 2025
afeacd5
sticky_header: Cut wrong use of calculatePaintOffset
gnprice Jan 31, 2025
732761f
sticky_header [nfc]: Expand on the header-overflows-sliver case
gnprice Feb 8, 2025
dc2c9f0
sticky_header: Fix hit-testing when header overflows sliver
gnprice Jan 31, 2025
043ae10
sticky_header [nfc]: Doc overflow behavior and paint-order constraints
gnprice Jan 31, 2025
c87d48b
content: Move math block parsing to the callers of `parseBlockContent`
rajveermalviya Feb 13, 2025
866faf5
content: Handle multiple math blocks in `<p>`
rajveermalviya Dec 13, 2024
44df81f
msglist: Move star icon 2px away from the edge of the screen
lakshya1goel Feb 14, 2025
724c6b9
api [nfc]: Assert ZulipApiException.data is free of redundant keys
gnprice Feb 14, 2025
fcc8926
test [nfc]: Pull out an example UNAUTHORIZED API exception, and add doc
gnprice Feb 14, 2025
2786055
fake_api [nfc]: Clarify prepared exception is at HTTP layer
gnprice Feb 16, 2025
b7194f0
fake_api: Add apiException parameter; switch to it where needed
gnprice Feb 16, 2025
1b13a8e
fake_api [nfc]: Check for confusion in httpException use
gnprice Feb 16, 2025
f43d2e0
test [nfc]: Introduce eg.apiBadRequest
gnprice Feb 16, 2025
48d67f1
l10n [nfc]: Use a generalized name for errorCouldNotConnectTitle
PIG208 Jan 2, 2025
710c4a1
log [nfc]: Rename ReportErrorCallback to ReportErrorCancellablyCallback
PIG208 Jan 2, 2025
293f213
app test [nfc]: Move error reporting tests to a separate group
PIG208 Feb 13, 2025
4b3ae12
log [nfc]: Pull out _reportErrorToConsole
PIG208 Feb 14, 2025
639c408
log: Add reportErrorModally
PIG208 Jan 2, 2025
87cfc06
action test [nfc]: Remove irrelevant issue reference
PIG208 Jan 7, 2025
ade1f43
store [nfc]: Add TODO for handling auth errors when polling
PIG208 Feb 7, 2025
6cd9e07
store [nfc]: Mention issue number for register-queue feedback
PIG208 Feb 7, 2025
608a028
app: Maintain that the navigator stack is never empty
PIG208 Feb 7, 2025
740efb4
store [nfc]: Mention TODO for checking account existence
PIG208 Feb 13, 2025
938b530
test [nfc]: Introduce apiExceptionBadEventQueueId
PIG208 Feb 18, 2025
9d69074
store: Expect AccountNotFoundException when reloading store
PIG208 Feb 13, 2025
7cd25f2
store: Handle invalid API key on register-queue
PIG208 Dec 19, 2024
4f438d3
home: Center align the "try another account" message in loading place…
KYash03 Feb 5, 2025
3017ba6
actions [nfc]: Namespace actions as statics on a ZulipAction class
gnprice Feb 19, 2025
a198f72
actions [nfc]: Document remaining methods
gnprice Feb 19, 2025
d7fbff2
db [nfc]: Remove dead code
PIG208 Dec 13, 2024
5ad630e
db [nfc]: Mention build_runner for schema changes
PIG208 Dec 17, 2024
9b2d580
db test: Add missing `after.close` call
PIG208 Dec 18, 2024
d302584
deps [nfc]: Set minimum version of drift to 2.23.0
PIG208 Dec 30, 2024
33da884
db test: Test simple migrations without data programmatically
PIG208 Jan 3, 2025
3cff396
db: Start generating schema versions for migrations
PIG208 Dec 18, 2024
5fb8158
db [nfc]: Use step-by-step migration helper
PIG208 Feb 19, 2025
601936d
db: Drop all tables on downgrade
PIG208 Jan 3, 2025
26073e8
compose [nfc]: Simplify content-input state, deduplicating topic text
gnprice Feb 20, 2025
7ea7424
api [nfc]: Rename resolveDmElements to resolveApiNarrowForServer
chrisbobbe Oct 22, 2024
48da972
msglist test [nfc]: Make groups for fetchInitial and fetchOlder tests
chrisbobbe Oct 22, 2024
1b59036
msglist test [nfc]: Refactor fetchInitial smoke, preparing for more n…
chrisbobbe Oct 30, 2024
c655631
msglist test: Add fetchInitial smoke test that uses a topic narrow
chrisbobbe Oct 22, 2024
327ae54
msglist test [nfc]: Remove indentation on an empty line
chrisbobbe Feb 14, 2025
a458ac2
msglist test [nfc]: Add feature-level param to setupMessageListPage
chrisbobbe Oct 30, 2024
be71501
msglist test: Add and use helper checkAppBarChannelTopic
chrisbobbe Feb 13, 2025
5f3a682
api test [nfc]: Separate some checks on "special" narrows from other …
chrisbobbe Feb 20, 2025
c8494a8
msglist: Follow /with/ links through message moves
chrisbobbe Oct 19, 2024
6d6dc6d
compose [nfc]: Derive hintText from topic display name
PIG208 Jan 22, 2025
c4f9341
compose [nfc]: Extract isTopicVacuous helper
PIG208 Feb 4, 2025
3523bc0
compose test: Add tests for hintText
PIG208 Jan 22, 2025
a5af8d3
compose: Avoid translating Zulip message destinations
PIG208 Feb 5, 2025
323e644
l10n: Update translations from Weblate.
weblate Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ You can also [try out this beta app][beta].
Contributions to this app are welcome.

If you're looking to participate in Google Summer of Code with Zulip,
this is one of the projects we're [accepting GSoC 2024 applications][]
this is one of the projects we intend to accept [GSoC 2025 applications][gsoc]
for.

[accepting GSoC 2024 applications]: https://zulip.readthedocs.io/en/latest/outreach/gsoc.html#mobile-app
[gsoc]: https://zulip.readthedocs.io/en/latest/outreach/gsoc.html#mobile-app


### Picking an issue to work on
Expand Down
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx3072M
org.gradle.jvmargs=-Xmx4G
android.useAndroidX=true
android.enableJetifier=true

Expand Down
Binary file modified assets/icons/ZulipIcons.ttf
Binary file not shown.
3 changes: 3 additions & 0 deletions assets/icons/check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions assets/icons/check_remove.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 49 additions & 11 deletions assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,22 @@
"@actionSheetOptionUnfollowTopic": {
"description": "Label for unfollowing a topic on action sheet."
},
"actionSheetOptionResolveTopic": "Mark as resolved",
"@actionSheetOptionResolveTopic": {
"description": "Label for the 'Mark as resolved' button on the topic action sheet."
},
"actionSheetOptionUnresolveTopic": "Mark as unresolved",
"@actionSheetOptionUnresolveTopic": {
"description": "Label for the 'Mark as unresolved' button on the topic action sheet."
},
"errorResolveTopicFailedTitle": "Failed to mark topic as resolved",
"@errorResolveTopicFailedTitle": {
"description": "Error title when marking a topic as resolved failed."
},
"errorUnresolveTopicFailedTitle": "Failed to mark topic as unresolved",
"@errorUnresolveTopicFailedTitle": {
"description": "Error title when marking a topic as unresolved failed."
},
"actionSheetOptionCopyMessageText": "Copy message text",
"@actionSheetOptionCopyMessageText": {
"description": "Label for copy message text button on action sheet."
Expand Down Expand Up @@ -155,13 +171,21 @@
"filename": {"type": "String", "example": "file.txt"}
}
},
"filenameAndSizeInMiB": "{filename}: {size} MiB",
"@filenameAndSizeInMiB": {
"description": "The name of a file, and its size in mebibytes.",
"placeholders": {
"filename": {"type": "String", "example": "foo.txt"},
"size": {"type": "String", "example": "20.2"}
}
},
"errorFilesTooLarge": "{num, plural, =1{File is} other{{num} files are}} larger than the server's limit of {maxFileUploadSizeMib} MiB and will not be uploaded:\n\n{listMessage}",
"@errorFilesTooLarge": {
"description": "Error message when attached files are too large in size.",
"placeholders": {
"num": {"type": "int", "example": "2"},
"maxFileUploadSizeMib": {"type": "int", "example": "15"},
"listMessage": {"type": "String", "example": "foo.txt\nbar.txt"}
"listMessage": {"type": "String", "example": "foo.txt: 10.1 MiB\nbar.txt 20.2 MiB"}
}
},
"errorFilesTooLargeTitle": "{num, plural, =1{File} other{Files}} too large",
Expand Down Expand Up @@ -190,8 +214,8 @@
"url": {"type": "String", "example": "http://example.com/"}
}
},
"errorLoginCouldNotConnectTitle": "Could not connect",
"@errorLoginCouldNotConnectTitle": {
"errorCouldNotConnectTitle": "Could not connect",
"@errorCouldNotConnectTitle": {
"description": "Error title when the app could not connect to the server."
},
"errorMessageDoesNotSeemToExist": "That message does not seem to exist.",
Expand Down Expand Up @@ -324,12 +348,11 @@
"@composeBoxSelfDmContentHint": {
"description": "Hint text for content input when sending a message to yourself."
},
"composeBoxChannelContentHint": "Message #{channel} > {topic}",
"composeBoxChannelContentHint": "Message {destination}",
"@composeBoxChannelContentHint": {
"description": "Hint text for content input when sending a message to a channel",
"description": "Hint text for content input when sending a message to a channel.",
"placeholders": {
"channel": {"type": "String", "example": "channel name"},
"topic": {"type": "String", "example": "topic name"}
"destination": {"type": "String", "example": "#channel name > topic name"}
}
},
"composeBoxSendTooltip": "Send",
Expand Down Expand Up @@ -380,7 +403,7 @@
"others": {"type": "String", "example": "Alice, Bob"}
}
},
"messageListGroupYouWithYourself": "You with yourself",
"messageListGroupYouWithYourself": "Messages with yourself",
"@messageListGroupYouWithYourself": {
"description": "Message list recipient header for a DM group that only includes yourself."
},
Expand Down Expand Up @@ -459,9 +482,9 @@
"@loginAddAnAccountPageTitle": {
"description": "Title for page to add a Zulip account."
},
"loginServerUrlInputLabel": "Your Zulip server URL",
"@loginServerUrlInputLabel": {
"description": "Input label in login page for Zulip server URL entry."
"loginServerUrlLabel": "Your Zulip server URL",
"@loginServerUrlLabel": {
"description": "Label in login page for Zulip server URL entry."
},
"loginHidePassword": "Hide password",
"@loginHidePassword": {
Expand Down Expand Up @@ -499,6 +522,13 @@
"@topicValidationErrorMandatoryButEmpty": {
"description": "Topic validation error when topic is required but was empty."
},
"errorInvalidApiKeyMessage": "Your account at {url} could not be authenticated. Please try logging in again or use another account.",
"@errorInvalidApiKeyMessage": {
"description": "Error message in the dialog for invalid API key.",
"placeholders": {
"url": {"type": "String", "example": "http://chat.example.com/"}
}
},
"errorInvalidResponse": "The server sent an invalid response",
"@errorInvalidResponse": {
"description": "Error message when an API call returned an invalid response."
Expand Down Expand Up @@ -792,5 +822,13 @@
"scrollToBottomTooltip": "Scroll to bottom",
"@scrollToBottomTooltip": {
"description": "Tooltip for button to scroll to bottom."
},
"appVersionUnknownPlaceholder": "(…)",
"@appVersionUnknownPlaceholder": {
"description": "Placeholder to show in place of the app version when it is unknown."
},
"zulipAppTitle": "Zulip",
"@zulipAppTitle": {
"description": "The name of Zulip. This should be either 'Zulip' or a transliteration."
}
}
15 changes: 14 additions & 1 deletion assets/l10n/app_nb.arb
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
{}
{
"aboutPageAppVersion": "App versjon",
"@aboutPageAppVersion": {
"description": "Label for Zulip app version in About Zulip page"
},
"aboutPageTitle": "Om Zulip",
"@aboutPageTitle": {
"description": "Title for About Zulip page."
},
"aboutPageOpenSourceLicenses": "Lisenser for åpen kildekode",
"@aboutPageOpenSourceLicenses": {
"description": "Item title in About Zulip page to navigate to Licenses page"
}
}
Loading