Since this does impact the ability to access the channel's content, it
makes sense to permit changing subscriptions, just like other
permissions settings on the archived channel.
This code path had not been properly updated for the new ways of
having content access to a channel.
Also adjust the error messages for missing content access.
This was confusingly doing an assertion about the subscription being
active, not the channel. We could rename it to
require_active_subscription. But it was only passed with a non-default
value in b2cb443d24, and that call was
removed in 378062cc83.
Previously, the send button's tooltip was triggered by
the entire message controls row, which also contains the
options button. This caused overlapping tooltips as the
options button has its own tooltip.
This commit resolves the issue by applying the tooltip
only to the send button.
- Clarify what we mean by supported ranges of Git versions.
- Document terminal app compatibility policies.
- Clarify that forks are an option on top of all supported Git
versions.
Replaced `data-dismiss="modal"` attributes with class/ID-based event
handling to align with Micromodal usage. Also removed an unused CSS
rule which was defined.
Initialy, both emoji search container and catalog were displayed
which made popper position the popover for double the height than
real. When search container was hidden `onMount`, the popover
position was not updated which results in arrow being detached
from the popover.
Updates narrow_state.stream_id to have a boolean parameter, that
defaults to false. When true, the function will return an ID or
undefined based on the stream data that we have. When false, the
function will return the operand of the channel narrow term when
it's a valid number or undefined if it's not.
Replaces all uses of narrow_state.stream_sub()?.stream_id to
instead use the updated stream_id function with only_valid_id set
to true.
Updates `narrow_state.stream_sub` to use `narrow_state.stream_id`.
Updates test that was not setting/sorting subscribers correctly
due to `narrow_state.stream_sub` returning "undefined".
When the channel operand would return NaN for the ID value, we now
return undefined, so that there is only one invalid value being
returned by narrow_state.stream_id.
This function is called when entering a message feed view. Therefore,
it should always have a defined MessateListData filter.
Follow-up clean up from reworking the home view to use a Filter
object.
Renames is_for_stream_id to narrowed_to_stream_id, and updates it
to use narrow_state.stream_id for the comparison check instead of
getting the full StreamSubscription object.