Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add switch button Icon #1

Open
wants to merge 158 commits into
base: main
Choose a base branch
from
Open

Conversation

AshutoshKhadse23
Copy link
Owner

Here I add also added the switch account button and placed at single location with my profile.
Like provide in the image

Related zulip#1178

Simulator Screenshot - iPhone 15 Pro - 2024-12-22 at 02 20 48

tomlin7 and others added 25 commits December 20, 2024 14:44
I've just filed this TODO item as #1201, so link there.
This method has gotten awfully long and tangly.  Here's a first step
on giving it some more organized structure.
This logic pairs closely with _maybeReportToUserTransientError,
so pulling it out lets that logic live nearer each other.
This is basically a form of error reporting.
Now the `poll` method itself is a lot more focused on the overall
structure of how polling works.
This takes it a bit farther in squeezing out details that aren't
part of the main picture of what this method is doing.

At this point the main remaining thing that feels like clutter
is all the `if (_disposed) return;` lines.  But I don't have any
ideas at the moment for a better way to handle those.
Xcode made the project.pbxproj changes when I changed the "macOS
Deployment Target" setting in the GUI from 10.14 to 10.15 and back
again. The Runner.xcscheme changes happened when I built the app to
run.

A quick test confirmed that 7649477 explains the change from
"zulip.app" to "Zulip.app" (I tried a different string "asdfjkl" and
saw that it propagated in the same way).

Not sure what explains removing the "name = Pods;" line, but there's
a "path = Pods;" line right under it, and anyway the app continues
to build.
…m ios/

We brought this to ios/Podfile from zulip-mobile in a7ed31e;
helpful to have it on the macOS side too.
Fixes #1116.

Done by changing the line in the Podfile, and following the
(recently added) comment there by changing a setting in the Xcode
GUI.

The Podfile change seems to be the only thing missing when Greg
attempted this bump:

(from #1116)
> Naturally we're happy to bump up our minimum macOS deployment
> target — 10.15 is from 2019, and even increasing to last year's
> macOS 14 would be perfectly fine. But I spent a few minutes just
> now attempting to do so — editing the `MACOSX_DEPLOYMENT_TARGET =
> 10.14;` lines in the `project.pbxproj` file so they say 10.15 (or
> 13.0) instead, then also tried setting it in Xcode which added
> some new lines of that form — and the error persisted. (Perhaps
> there's somewhere *else* that `pod update` is looking? Perhaps it
> has a cache of some kind that it fails to update?)
As Greg said in #1116:

> 10.15 is from 2019, and even increasing to last year's macOS 14
> would be perfectly fine.
And update Flutter's supporting libraries to match.
Done with:

  flutter pub upgrade --major-versions share_plus{,_platform_interface}
(then commit, for the sake of a no-uncommitted-files check)
  tools/upgrade pub
(then squash)

See discussion:
  https://chat.zulip.org/#narrow/channel/243-mobile-team/topic/deps.3A.20running.20.60tools.2Fupgrade.20pub.60.20twice/near/2013483

All the Firebase packages are now upgraded to latest; none of them
appear in the `flutter pub outdated` list.

This seems to have unlocked upgrading `drift` too. Some followups
were needed:

- ran `tools/check drift --all --fix`

- ran `tools/check build_runner --all --fix`

- followed an instruction from the analyzer:

  info • 'package:drift_dev/api/migrations.dart' is deprecated and
    shouldn't be used. Import `package:drift/migrations_native.dart`
    instead • test/model/database_test.dart:4:1 •
    deprecated_member_use

Greg pointed out that it's awkward that some Drift files change, but
he found that they're not substantive changes, so it's fine:
  #1184 (comment)
  #1184 (comment)
Starting with our last Flutter update 273674f (#1184), a directory
android/app/.cxx/ gets created whenever building or running the app
for Android.  It has a lot of generated files in it.

See chat discussion:
  https://chat.zulip.org/#narrow/channel/516-mobile-dev-help/topic/Error.20in.20running.20the.20app/near/2017805
  https://chat.zulip.org/#narrow/channel/516-mobile-dev-help/topic/.2Ecxx.2F.20files.20created/near/2017819

There's an upstream issue for the need to add a gitignore line for
these in the `flutter create` templates:
  flutter/flutter#160372

Even when that's done, it won't affect existing apps like ours; we
need to make a similar update in our own tree.  That's this commit.
We always know the current visibility policy, so we can pass that
unconditionally.
This makes it a bit more transparent what each of these cases is
doing, by having fewer local abstractions with their own names.
Seeing a condition like `channelMuted != null`, it's not entirely
clear what it means for a "channel muted" value to be null.
We can express the point more directly as `subscription != null`,
and then consult `isMuted` on the subscription.
This change makes the message list's topic headers case-insensitive
Messages with topics differing only in case (e.g., "missing string"
and "Missing string") will now share a single header. This aligns
the behavior with Zulip web and ensures a consistent user experience.

Fixes: #739
@chrisbobbe
Copy link

It looks like you've made a PR in the wrong direction; you want the destination to be main on https://github.com/zulip/zulip-flutter not your fork.

apoorvapendse and others added 4 commits January 2, 2025 15:49
Skips the test that fails because of the platform
specific path separator being '\' instead of '/
on Windows.

Read this excellent explanation by
@chrisbobbe for better understanding:
https://chat.zulip.org/#narrow/channel/516-mobile-dev-help/topic/failing.20composebox.20test.20while.20running.20check.20script/near/2000301

[greg: rewrote comment]
We don't expect UpdateMessageEvent to signal a change in a message's
read state; that's what UpdateMessageFlagsEvent is for. Our unreads
model does process `UpdateMessageEvent`s, though, to apply changes
in a message's mentioned state.

Also, we expect the client to be synced with the server for all
messages' read state, assuming !oldUnreadsMissing.

Where we process `UpdateMessageEvent`s, we have a `debugLog` line to
alert us if one of these expectations isn't being met. It's been
giving false positives when we get an UpdateMessageEvent for a bulk
message move where some of the moved messages are read and some
aren't. Since the server only intends the event's `flags` to apply
to the event's `messageId` (one message), we should only be checking
that message, not all the messages in the event's `messageIds`.
From the API doc on `flags`:

https://zulip.com/api/get-events#update_message
> The user's personal message flags for the message with ID
> message_id following the edit.
And make it public, with dartdoc and tests, while we're at it.
For this debug check to work, it just needs a known read state for
one message.

When `oldUnreadsMissing` is false (the common case), the model holds
one of two answers for a message's read state: known-unread or
known-read.

When `oldUnreadsMissing` is true, the model holds known-unread or
unknown.

Before, we were skipping the debug check on seeing that
`oldUnreadsMissing` is true. That's earlier than we need to abort,
because the model might still hold a known-unread state for the
message. Now, we go ahead with the debug check if that's the case,
and still skip it otherwise.

Done by using our new `isUnread` helper, in this separate commit
because it's not NFC in debug mode.
chrisbobbe and others added 30 commits January 27, 2025 15:42
…ssage`

When we add the resolve/unresolve button, coming up, we'll use this
to test the edge case where the button isn't shown in the
message-list app bar if the message list is empty. (For that case
we'll just pass an empty Iterable for this.)
…entHeader

Move _containsDifferentChannels method to StreamMessageRecipientHeader
where it's used, and pass narrow directly instead of a pre-computed
showStream boolean.
This covers some of the fields that can be inconsistent
(`zulipFeatureLevel` in particular) when a test is not set up properly

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
The parameter `realmWaitingPeriodThreshold` was added in
commit 157418c but it was never used.

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
This will become handy for setting up a compose box in different types
of narrows where compose box is supported.
This will result in a more logical order of the class members.
The implementation logic is mostly similar to the zulip-mobile implementation:
  https://github.com/zulip/zulip-mobile/blob/a115df1f71c9dc31e9b41060a8d57b51c017d786/src/autocomplete/WildcardMentionItem.js#L92-L141

It is different from the zulip-mobile in the following ways:
  - suppress wildcards on silent mentions
  - match "stream" queries even on new servers (but emit @**channel**)

Fixes: #234
Updated the top border and added shadow effect to the top of
the compose box to make it more visible in dark mode.

For reference, see the Figma design:
https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=5908-64038&t=alSmAmdRXFDwT4IT-1

Fixes: #1207
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
The comment started with "Strings here left unlocalized"
was from #397, which followed an old design:
  https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=171-12359&t=ilEg6ymsxO6JLNQ5-0
Since we have now translated these strings, this is no longer true.

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Renamed the "composeBoxUnknownChannelName" string to generalize it.

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
This descriptions were adapted from [VideoPlayerValue].

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Ideally we should implement #1080 for DMs title, but we might switch to
showing avatars as the TODO indicated before we work on lists' proper
translation.

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
and implement the necessary plumbing to access ZulipLocalizations

Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Signed-off-by: Zixuan James Li <zixuan@zulip.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.