Compare commits

..

No commits in common. "ab50344598aa40ab6f10322bbef96918e517bcd0" and "50b2e3957992177d2ae926cec03907e0673f7ca3" have entirely different histories.

11 changed files with 159 additions and 269 deletions

View File

@ -1,17 +0,0 @@
import React from 'react'
const MessageContext = React.createContext(false)
export function MessageContextProvider({
children,
}: {
children: React.ReactNode
}) {
return (
<MessageContext.Provider value={true}>{children}</MessageContext.Provider>
)
}
export function useIsWithinMessage() {
return React.useContext(MessageContext)
}

View File

@ -4,7 +4,6 @@ import {AppBskyEmbedRecord} from '@atproto/api'
import {PostEmbeds, PostEmbedViewContext} from '#/view/com/util/post-embeds'
import {atoms as a, native, useTheme} from '#/alf'
import {MessageContextProvider} from './MessageContext'
let MessageItemEmbed = ({
embed,
@ -14,7 +13,6 @@ let MessageItemEmbed = ({
const t = useTheme()
return (
<MessageContextProvider>
<View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}>
<PostEmbeds
embed={embed}
@ -22,7 +20,6 @@ let MessageItemEmbed = ({
viewContext={PostEmbedViewContext.Feed}
/>
</View>
</MessageContextProvider>
)
}
MessageItemEmbed = React.memo(MessageItemEmbed)

View File

@ -5,7 +5,7 @@ import {SUPPORTED_MIME_TYPES, SupportedMimeTypes} from '#/lib/constants'
import {extToMime} from '#/state/queries/video/util'
import {CompressedVideo} from './types'
const MIN_SIZE_FOR_COMPRESSION = 25 // 25mb
const MIN_SIZE_FOR_COMPRESSION = 1024 * 1024 * 25 // 25mb
export async function compressVideo(
file: ImagePickerAsset,
@ -30,7 +30,6 @@ export async function compressVideo(
compressionMethod: 'manual',
bitrate: 3_000_000, // 3mbps
maxSize: 1920,
// WARNING: this ONE SPECIFIC ARG is in MB -sfn
minimumFileSizeForCompress,
getCancellationId: id => {
if (signal) {

View File

@ -127,7 +127,7 @@ msgstr ""
msgid "{0} joined this week"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:637
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:593
msgid "{0} of {1}"
msgstr ""
@ -461,7 +461,7 @@ msgstr ""
#~ msgid "Add ALT text"
#~ msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:109
#: src/view/com/composer/videos/SubtitleDialog.tsx:107
msgid "Add alt text (optional)"
msgstr ""
@ -607,9 +607,9 @@ msgid "ALT"
msgstr ""
#: src/view/com/composer/GifAltText.tsx:144
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
#: src/view/com/composer/videos/SubtitleDialog.tsx:104
#: src/view/com/composer/videos/SubtitleDialog.tsx:108
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
#: src/view/com/composer/videos/SubtitleDialog.tsx:102
#: src/view/com/composer/videos/SubtitleDialog.tsx:106
#: src/view/com/modals/EditImage.tsx:316
#: src/view/screens/AccessibilitySettings.tsx:87
msgid "Alt text"
@ -640,7 +640,7 @@ msgstr ""
#~ msgid "An error occured"
#~ msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:413
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:369
msgid "An error occurred"
msgstr ""
@ -652,11 +652,11 @@ msgstr ""
msgid "An error occurred while generating your starter pack. Want to try again?"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbed.tsx:215
#: src/view/com/util/post-embeds/VideoEmbed.tsx:213
msgid "An error occurred while loading the video. Please try again later."
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:171
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:170
msgid "An error occurred while loading the video. Please try again."
msgstr ""
@ -669,7 +669,7 @@ msgstr ""
msgid "An error occurred while saving the QR code!"
msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:68
#: src/view/com/composer/videos/SelectVideoBtn.tsx:61
msgid "An error occurred while selecting the video"
msgstr ""
@ -844,7 +844,7 @@ msgstr ""
msgid "Are you sure you want to remove this from your feeds?"
msgstr ""
#: src/view/com/composer/Composer.tsx:841
#: src/view/com/composer/Composer.tsx:837
msgid "Are you sure you'd like to discard this draft?"
msgstr ""
@ -1096,8 +1096,8 @@ msgstr ""
#: src/components/Prompt.tsx:124
#: src/components/TagMenu/index.tsx:282
#: src/screens/Deactivated.tsx:161
#: src/view/com/composer/Composer.tsx:595
#: src/view/com/composer/Composer.tsx:610
#: src/view/com/composer/Composer.tsx:591
#: src/view/com/composer/Composer.tsx:606
#: src/view/com/modals/ChangeEmail.tsx:213
#: src/view/com/modals/ChangeEmail.tsx:215
#: src/view/com/modals/ChangeHandle.tsx:148
@ -1165,11 +1165,11 @@ msgstr ""
msgid "Cannot interact with a blocked user"
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:135
#: src/view/com/composer/videos/SubtitleDialog.tsx:133
msgid "Captions (.vtt)"
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
msgid "Captions & alt text"
msgstr ""
@ -1457,7 +1457,7 @@ msgstr ""
msgid "Closes password update alert"
msgstr ""
#: src/view/com/composer/Composer.tsx:607
#: src/view/com/composer/Composer.tsx:603
msgid "Closes post composer and discards post draft"
msgstr ""
@ -1496,7 +1496,7 @@ msgstr ""
msgid "Complete the challenge"
msgstr ""
#: src/view/com/composer/Composer.tsx:715
#: src/view/com/composer/Composer.tsx:711
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@ -1742,7 +1742,7 @@ msgstr ""
msgid "Could not mute chat"
msgstr ""
#: src/view/com/composer/videos/VideoPreview.web.tsx:56
#: src/view/com/composer/videos/VideoPreview.web.tsx:45
msgid "Could not process your video"
msgstr ""
@ -2005,7 +2005,7 @@ msgstr ""
msgid "Dialog: adjust who can interact with this post"
msgstr ""
#: src/view/com/composer/Composer.tsx:356
#: src/view/com/composer/Composer.tsx:352
msgid "Did you want to say anything?"
msgstr ""
@ -2038,7 +2038,7 @@ msgstr ""
#~ msgid "Disable haptics"
#~ msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:379
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:335
msgid "Disable subtitles"
msgstr ""
@ -2055,11 +2055,11 @@ msgstr ""
msgid "Disabled"
msgstr ""
#: src/view/com/composer/Composer.tsx:843
#: src/view/com/composer/Composer.tsx:839
msgid "Discard"
msgstr ""
#: src/view/com/composer/Composer.tsx:840
#: src/view/com/composer/Composer.tsx:836
msgid "Discard draft?"
msgstr ""
@ -2089,7 +2089,7 @@ msgstr ""
#~ msgid "Dismiss"
#~ msgstr ""
#: src/view/com/composer/Composer.tsx:1110
#: src/view/com/composer/Composer.tsx:1106
msgid "Dismiss error"
msgstr ""
@ -2141,8 +2141,8 @@ msgstr ""
#: src/screens/Onboarding/StepProfile/index.tsx:325
#: src/view/com/auth/server-input/index.tsx:169
#: src/view/com/auth/server-input/index.tsx:170
#: src/view/com/composer/videos/SubtitleDialog.tsx:171
#: src/view/com/composer/videos/SubtitleDialog.tsx:181
#: src/view/com/composer/videos/SubtitleDialog.tsx:167
#: src/view/com/composer/videos/SubtitleDialog.tsx:177
#: src/view/com/modals/AddAppPasswords.tsx:243
#: src/view/com/modals/AltImage.tsx:141
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
@ -2417,7 +2417,7 @@ msgstr ""
msgid "Enable priority notifications"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:380
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:336
msgid "Enable subtitles"
msgstr ""
@ -2447,7 +2447,7 @@ msgstr ""
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
#~ msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:161
#: src/view/com/composer/videos/SubtitleDialog.tsx:157
msgid "Ensure you have selected a language for each subtitle file."
msgstr ""
@ -2549,7 +2549,7 @@ msgstr ""
msgid "Excludes users you follow"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:397
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:353
msgid "Exit fullscreen"
msgstr ""
@ -3057,7 +3057,7 @@ msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:398
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:354
msgid "Fullscreen"
msgstr ""
@ -3526,7 +3526,7 @@ msgstr ""
msgid "It's just you right now! Add more people to your starter pack by searching above."
msgstr ""
#: src/view/com/composer/Composer.tsx:1129
#: src/view/com/composer/Composer.tsx:1125
msgid "Job ID: {0}"
msgstr ""
@ -4046,12 +4046,12 @@ msgstr ""
msgid "Music"
msgstr ""
#: src/components/TagMenu/index.tsx:263
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:345
msgctxt "video"
msgid "Mute"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:389
msgctxt "video"
#: src/components/TagMenu/index.tsx:263
msgid "Mute"
msgstr ""
@ -4583,7 +4583,7 @@ msgstr ""
#~ msgid "Onboarding tour step {0}: {1}"
#~ msgstr ""
#: src/view/com/composer/Composer.tsx:672
#: src/view/com/composer/Composer.tsx:668
msgid "One or more images is missing alt text."
msgstr ""
@ -4638,8 +4638,8 @@ msgid "Open conversation options"
msgstr ""
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
#: src/view/com/composer/Composer.tsx:823
#: src/view/com/composer/Composer.tsx:824
#: src/view/com/composer/Composer.tsx:819
#: src/view/com/composer/Composer.tsx:820
msgid "Open emoji picker"
msgstr ""
@ -4825,7 +4825,7 @@ msgstr ""
msgid "Opens this profile"
msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:88
#: src/view/com/composer/videos/SelectVideoBtn.tsx:81
msgid "Opens video picker"
msgstr ""
@ -4903,11 +4903,11 @@ msgid "Password updated!"
msgstr ""
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:366
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:322
msgid "Pause"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:319
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:275
msgid "Pause video"
msgstr ""
@ -4967,7 +4967,7 @@ msgid "Pinned to your feeds"
msgstr ""
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:367
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:323
msgid "Play"
msgstr ""
@ -4984,8 +4984,8 @@ msgstr ""
msgid "Play or pause the GIF"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbed.tsx:189
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:320
#: src/view/com/util/post-embeds/VideoEmbed.tsx:187
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:276
msgid "Play video"
msgstr ""
@ -5057,7 +5057,7 @@ msgstr ""
msgid "Please Verify Your Email"
msgstr ""
#: src/view/com/composer/Composer.tsx:360
#: src/view/com/composer/Composer.tsx:356
msgid "Please wait for your link card to finish loading"
msgstr ""
@ -5070,8 +5070,8 @@ msgstr ""
msgid "Porn"
msgstr ""
#: src/view/com/composer/Composer.tsx:647
#: src/view/com/composer/Composer.tsx:654
#: src/view/com/composer/Composer.tsx:643
#: src/view/com/composer/Composer.tsx:650
msgctxt "action"
msgid "Post"
msgstr ""
@ -5250,11 +5250,11 @@ msgstr ""
msgid "Public, shareable lists which can drive feeds."
msgstr ""
#: src/view/com/composer/Composer.tsx:632
#: src/view/com/composer/Composer.tsx:628
msgid "Publish post"
msgstr ""
#: src/view/com/composer/Composer.tsx:632
#: src/view/com/composer/Composer.tsx:628
msgid "Publish reply"
msgstr ""
@ -5482,7 +5482,7 @@ msgstr ""
msgid "Remove repost"
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:264
#: src/view/com/composer/videos/SubtitleDialog.tsx:260
msgid "Remove subtitle file"
msgstr ""
@ -5559,7 +5559,7 @@ msgstr ""
#~ msgid "Replies to this thread are disabled"
#~ msgstr ""
#: src/view/com/composer/Composer.tsx:645
#: src/view/com/composer/Composer.tsx:641
msgctxt "action"
msgid "Reply"
msgstr ""
@ -6053,7 +6053,7 @@ msgstr ""
#~ msgid "See what's next"
#~ msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:631
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:587
msgid "Seek slider"
msgstr ""
@ -6093,7 +6093,7 @@ msgstr ""
msgid "Select how long to mute this word for."
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:249
#: src/view/com/composer/videos/SubtitleDialog.tsx:245
msgid "Select language..."
msgstr ""
@ -6133,7 +6133,7 @@ msgstr ""
#~ msgid "Select topical feeds to follow from the list below"
#~ msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:87
#: src/view/com/composer/videos/SelectVideoBtn.tsx:80
msgid "Select video"
msgstr ""
@ -7429,7 +7429,7 @@ msgstr ""
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:113
#: src/view/com/composer/videos/SelectVideoBtn.tsx:106
msgid "To upload videos to Bluesky, you must first verify your email."
msgstr ""
@ -7572,13 +7572,13 @@ msgstr ""
msgid "Unlike this feed"
msgstr ""
#: src/components/TagMenu/index.tsx:263
#: src/view/screens/ProfileList.tsx:689
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:344
msgctxt "video"
msgid "Unmute"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:388
msgctxt "video"
#: src/components/TagMenu/index.tsx:263
#: src/view/screens/ProfileList.tsx:689
msgid "Unmute"
msgstr ""
@ -7608,7 +7608,7 @@ msgstr ""
msgid "Unmute thread"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:317
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:273
msgid "Unmute video"
msgstr ""
@ -7837,7 +7837,7 @@ msgstr ""
msgid "Value:"
msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:111
#: src/view/com/composer/videos/SelectVideoBtn.tsx:104
msgid "Verified email required"
msgstr ""
@ -7870,7 +7870,7 @@ msgstr ""
msgid "Verify New Email"
msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:115
#: src/view/com/composer/videos/SelectVideoBtn.tsx:108
msgid "Verify now"
msgstr ""
@ -7904,11 +7904,11 @@ msgstr ""
msgid "Video Games"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:164
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:163
msgid "Video not found."
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:101
#: src/view/com/composer/videos/SubtitleDialog.tsx:99
msgid "Video settings"
msgstr ""
@ -7920,11 +7920,6 @@ msgstr ""
#~ msgid "Videos cannot be larger than 50MB"
#~ msgstr ""
#: src/view/com/composer/videos/SelectVideoBtn.tsx:58
#: src/view/com/composer/videos/VideoPreview.web.tsx:44
msgid "Videos must be less than 60 seconds long"
msgstr ""
#: src/screens/Profile/Header/Shell.tsx:113
msgid "View {0}'s avatar"
msgstr ""
@ -8098,7 +8093,7 @@ msgstr ""
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr ""
#: src/view/com/composer/Composer.tsx:422
#: src/view/com/composer/Composer.tsx:418
msgid "We're sorry! The post you are replying to has been deleted."
msgstr ""
@ -8137,7 +8132,7 @@ msgstr ""
#: src/view/com/auth/SplashScreen.tsx:40
#: src/view/com/auth/SplashScreen.web.tsx:86
#: src/view/com/composer/Composer.tsx:517
#: src/view/com/composer/Composer.tsx:513
msgid "What's up?"
msgstr ""
@ -8212,11 +8207,11 @@ msgstr ""
msgid "Write a message"
msgstr ""
#: src/view/com/composer/Composer.tsx:713
#: src/view/com/composer/Composer.tsx:709
msgid "Write post"
msgstr ""
#: src/view/com/composer/Composer.tsx:516
#: src/view/com/composer/Composer.tsx:512
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
msgid "Write your reply"
msgstr ""
@ -8576,7 +8571,7 @@ msgstr ""
msgid "Your birth date"
msgstr ""
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:168
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:167
msgid "Your browser does not support the video format. Please try a different browser."
msgstr ""
@ -8631,7 +8626,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr ""
#: src/view/com/composer/Composer.tsx:468
#: src/view/com/composer/Composer.tsx:464
msgid "Your post has been published"
msgstr ""
@ -8647,7 +8642,7 @@ msgstr ""
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
msgstr ""
#: src/view/com/composer/Composer.tsx:467
#: src/view/com/composer/Composer.tsx:463
msgid "Your reply has been published"
msgstr ""

View File

@ -127,7 +127,7 @@ msgstr ""
msgid "{0} joined this week"
msgstr "{0} entrou esta semana"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:637
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:593
msgid "{0} of {1}"
msgstr ""
@ -461,7 +461,7 @@ msgstr "Adicionar texto alternativo"
#~ msgid "Add ALT text"
#~ msgstr "Adicionar texto alternativo"
#: src/view/com/composer/videos/SubtitleDialog.tsx:109
#: src/view/com/composer/videos/SubtitleDialog.tsx:107
msgid "Add alt text (optional)"
msgstr "Adicionar texto alternativo (opcional)"
@ -607,9 +607,9 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/composer/GifAltText.tsx:144
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
#: src/view/com/composer/videos/SubtitleDialog.tsx:104
#: src/view/com/composer/videos/SubtitleDialog.tsx:108
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
#: src/view/com/composer/videos/SubtitleDialog.tsx:102
#: src/view/com/composer/videos/SubtitleDialog.tsx:106
#: src/view/com/modals/EditImage.tsx:316
#: src/view/screens/AccessibilitySettings.tsx:87
msgid "Alt text"
@ -640,7 +640,7 @@ msgstr "Ocorreu um erro"
#~ msgid "An error occured"
#~ msgstr "Tivemos um problema"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:413
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:369
msgid "An error occurred"
msgstr "Ocorreu um erro"
@ -652,11 +652,11 @@ msgstr "Ocorreu um erro ao compactar o vídeo."
msgid "An error occurred while generating your starter pack. Want to try again?"
msgstr "Ocorreu um erro ao gerar seu pacote inicial. Quer tentar novamente?"
#: src/view/com/util/post-embeds/VideoEmbed.tsx:215
#: src/view/com/util/post-embeds/VideoEmbed.tsx:213
msgid "An error occurred while loading the video. Please try again later."
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente mais tarde."
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:171
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:170
msgid "An error occurred while loading the video. Please try again."
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente."
@ -669,7 +669,7 @@ msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente."
msgid "An error occurred while saving the QR code!"
msgstr "Ocorreu um erro ao salvar o QR code!"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:68
#: src/view/com/composer/videos/SelectVideoBtn.tsx:61
msgid "An error occurred while selecting the video"
msgstr "Ocorreu um erro ao selecionar o vídeo"
@ -844,7 +844,7 @@ msgstr "Tem certeza que deseja remover {0} dos seus feeds?"
msgid "Are you sure you want to remove this from your feeds?"
msgstr "Tem certeza que deseja remover isto de seus feeds?"
#: src/view/com/composer/Composer.tsx:841
#: src/view/com/composer/Composer.tsx:837
msgid "Are you sure you'd like to discard this draft?"
msgstr "Tem certeza que deseja descartar este rascunho?"
@ -1096,8 +1096,8 @@ msgstr "Só pode conter letras, números, espaços, riscas e subtraços. Deve te
#: src/components/Prompt.tsx:124
#: src/components/TagMenu/index.tsx:282
#: src/screens/Deactivated.tsx:161
#: src/view/com/composer/Composer.tsx:595
#: src/view/com/composer/Composer.tsx:610
#: src/view/com/composer/Composer.tsx:591
#: src/view/com/composer/Composer.tsx:606
#: src/view/com/modals/ChangeEmail.tsx:213
#: src/view/com/modals/ChangeEmail.tsx:215
#: src/view/com/modals/ChangeHandle.tsx:148
@ -1165,11 +1165,11 @@ msgstr "Cancela a abertura do link"
msgid "Cannot interact with a blocked user"
msgstr ""
#: src/view/com/composer/videos/SubtitleDialog.tsx:135
#: src/view/com/composer/videos/SubtitleDialog.tsx:133
msgid "Captions (.vtt)"
msgstr "Legendas (.vtt)"
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
msgid "Captions & alt text"
msgstr "Legendas e texto alt"
@ -1457,7 +1457,7 @@ msgstr "Fecha barra de navegação inferior"
msgid "Closes password update alert"
msgstr "Fecha alerta de troca de senha"
#: src/view/com/composer/Composer.tsx:607
#: src/view/com/composer/Composer.tsx:603
msgid "Closes post composer and discards post draft"
msgstr "Fecha o editor de post e descarta o rascunho"
@ -1496,7 +1496,7 @@ msgstr "Completar e começar a usar sua conta"
msgid "Complete the challenge"
msgstr "Complete o captcha"
#: src/view/com/composer/Composer.tsx:715
#: src/view/com/composer/Composer.tsx:711
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
@ -1742,7 +1742,7 @@ msgstr "Não foi possível carregar a lista"
msgid "Could not mute chat"
msgstr "Não foi possível silenciar este chat"
#: src/view/com/composer/videos/VideoPreview.web.tsx:56
#: src/view/com/composer/videos/VideoPreview.web.tsx:45
msgid "Could not process your video"
msgstr "Não foi possível processar seu vídeo"
@ -2005,7 +2005,7 @@ msgstr "Desanexar postagem de citação?"
msgid "Dialog: adjust who can interact with this post"
msgstr "Diálogo: ajuste quem pode interagir com esta postagem"
#: src/view/com/composer/Composer.tsx:356
#: src/view/com/composer/Composer.tsx:352
msgid "Did you want to say anything?"
msgstr "Você gostaria de dizer alguma coisa?"
@ -2038,7 +2038,7 @@ msgstr "Desabilitar feedback tátil"
#~ msgid "Disable haptics"
#~ msgstr "Desabilitar feedback tátil"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:379
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:335
msgid "Disable subtitles"
msgstr "Desativar legendas"
@ -2055,11 +2055,11 @@ msgstr "Desativar legendas"
msgid "Disabled"
msgstr "Desabilitado"
#: src/view/com/composer/Composer.tsx:843
#: src/view/com/composer/Composer.tsx:839
msgid "Discard"
msgstr "Descartar"
#: src/view/com/composer/Composer.tsx:840
#: src/view/com/composer/Composer.tsx:836
msgid "Discard draft?"
msgstr "Descartar rascunho?"
@ -2089,7 +2089,7 @@ msgstr "Descubra Novos Feeds"
#~ msgid "Dismiss"
#~ msgstr "Ocultar"
#: src/view/com/composer/Composer.tsx:1110
#: src/view/com/composer/Composer.tsx:1106
msgid "Dismiss error"
msgstr "Ocultar erro"
@ -2141,8 +2141,8 @@ msgstr "Domínio verificado!"
#: src/screens/Onboarding/StepProfile/index.tsx:325
#: src/view/com/auth/server-input/index.tsx:169
#: src/view/com/auth/server-input/index.tsx:170
#: src/view/com/composer/videos/SubtitleDialog.tsx:171
#: src/view/com/composer/videos/SubtitleDialog.tsx:181
#: src/view/com/composer/videos/SubtitleDialog.tsx:167
#: src/view/com/composer/videos/SubtitleDialog.tsx:177
#: src/view/com/modals/AddAppPasswords.tsx:243
#: src/view/com/modals/AltImage.tsx:141
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
@ -2417,7 +2417,7 @@ msgstr "Habilitar mídia para"
msgid "Enable priority notifications"
msgstr "Habilitar notificações prioritárias"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:380
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:336
msgid "Enable subtitles"
msgstr "Habilitar legendas"
@ -2447,7 +2447,7 @@ msgstr "Fim do feed"
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
#~ msgstr "Fim da integração da sua janela. Não avance. Em vez disso, volte para mais opções ou pressione para pular."
#: src/view/com/composer/videos/SubtitleDialog.tsx:161
#: src/view/com/composer/videos/SubtitleDialog.tsx:157
msgid "Ensure you have selected a language for each subtitle file."
msgstr "Certifique-se de ter selecionado um idioma para cada arquivo de legenda."
@ -2549,7 +2549,7 @@ msgstr "Excluir usuário que você segue"
msgid "Excludes users you follow"
msgstr "Excluir usuário que você segue"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:397
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:353
msgid "Exit fullscreen"
msgstr "Sair da tela cheia"
@ -3057,7 +3057,7 @@ msgctxt "from-feed"
msgid "From <0/>"
msgstr "Por <0/>"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:398
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:354
msgid "Fullscreen"
msgstr "Tela cheia"
@ -3526,7 +3526,7 @@ msgstr "Convites, mas pessoais"
msgid "It's just you right now! Add more people to your starter pack by searching above."
msgstr "É só você por enquanto! Adicione mais pessoas ao seu pacote inicial pesquisando acima."
#: src/view/com/composer/Composer.tsx:1129
#: src/view/com/composer/Composer.tsx:1125
msgid "Job ID: {0}"
msgstr ""
@ -4046,15 +4046,15 @@ msgstr "Filmes"
msgid "Music"
msgstr "Música"
#: src/components/TagMenu/index.tsx:263
msgid "Mute"
msgstr "Silenciar"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:389
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:345
msgctxt "video"
msgid "Mute"
msgstr ""
#: src/components/TagMenu/index.tsx:263
msgid "Mute"
msgstr "Silenciar"
#: src/components/TagMenu/index.web.tsx:116
msgid "Mute {truncatedTag}"
msgstr "Silenciar {truncatedTag}"
@ -4583,7 +4583,7 @@ msgstr "Resetar tutoriais"
#~ msgid "Onboarding tour step {0}: {1}"
#~ msgstr "Etapa do tour de integração {0}: {1}"
#: src/view/com/composer/Composer.tsx:672
#: src/view/com/composer/Composer.tsx:668
msgid "One or more images is missing alt text."
msgstr "Uma ou mais imagens estão sem texto alternativo."
@ -4638,8 +4638,8 @@ msgid "Open conversation options"
msgstr "Abrir opções de conversa"
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
#: src/view/com/composer/Composer.tsx:823
#: src/view/com/composer/Composer.tsx:824
#: src/view/com/composer/Composer.tsx:819
#: src/view/com/composer/Composer.tsx:820
msgid "Open emoji picker"
msgstr "Abrir seletor de emojis"
@ -4825,7 +4825,7 @@ msgstr "Abre as preferências de threads"
msgid "Opens this profile"
msgstr "Abre este perfil"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:88
#: src/view/com/composer/videos/SelectVideoBtn.tsx:81
msgid "Opens video picker"
msgstr "Abre seletor de vídeos"
@ -4903,11 +4903,11 @@ msgid "Password updated!"
msgstr "Senha atualizada!"
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:366
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:322
msgid "Pause"
msgstr "Pausar"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:319
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:275
msgid "Pause video"
msgstr "Pausar vídeo"
@ -4967,7 +4967,7 @@ msgid "Pinned to your feeds"
msgstr "Fixado em seus feeds"
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:367
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:323
msgid "Play"
msgstr "Tocar"
@ -4984,8 +4984,8 @@ msgstr "Reproduzir {0}"
msgid "Play or pause the GIF"
msgstr "Tocar ou pausar o GIF"
#: src/view/com/util/post-embeds/VideoEmbed.tsx:189
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:320
#: src/view/com/util/post-embeds/VideoEmbed.tsx:187
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:276
msgid "Play video"
msgstr "Reproduzir vídeo"
@ -5057,7 +5057,7 @@ msgstr "Por favor entre como @{0}"
msgid "Please Verify Your Email"
msgstr "Por favor, verifique seu e-mail"
#: src/view/com/composer/Composer.tsx:360
#: src/view/com/composer/Composer.tsx:356
msgid "Please wait for your link card to finish loading"
msgstr "Aguarde até que a prévia de link termine de carregar"
@ -5070,8 +5070,8 @@ msgstr "Política"
msgid "Porn"
msgstr "Pornografia"
#: src/view/com/composer/Composer.tsx:647
#: src/view/com/composer/Composer.tsx:654
#: src/view/com/composer/Composer.tsx:643
#: src/view/com/composer/Composer.tsx:650
msgctxt "action"
msgid "Post"
msgstr "Postar"
@ -5250,11 +5250,11 @@ msgstr "Listas públicas e compartilháveis para silenciar ou bloquear usuários
msgid "Public, shareable lists which can drive feeds."
msgstr "Listas públicas e compartilháveis que geram feeds."
#: src/view/com/composer/Composer.tsx:632
#: src/view/com/composer/Composer.tsx:628
msgid "Publish post"
msgstr "Publicar post"
#: src/view/com/composer/Composer.tsx:632
#: src/view/com/composer/Composer.tsx:628
msgid "Publish reply"
msgstr "Publicar resposta"
@ -5482,7 +5482,7 @@ msgstr "Remover citação"
msgid "Remove repost"
msgstr "Desfazer repost"
#: src/view/com/composer/videos/SubtitleDialog.tsx:264
#: src/view/com/composer/videos/SubtitleDialog.tsx:260
msgid "Remove subtitle file"
msgstr "Remover arquivo de legenda"
@ -5559,7 +5559,7 @@ msgstr "Respostas para esta postagem estão desativadas."
#~ msgid "Replies to this thread are disabled"
#~ msgstr "Respostas para esta thread estão desativadas"
#: src/view/com/composer/Composer.tsx:645
#: src/view/com/composer/Composer.tsx:641
msgctxt "action"
msgid "Reply"
msgstr "Responder"
@ -6053,7 +6053,7 @@ msgstr "Veja o guia"
#~ msgid "See what's next"
#~ msgstr "Veja o que vem por aí"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:631
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:587
msgid "Seek slider"
msgstr "Controle deslizante de busca"
@ -6093,7 +6093,7 @@ msgstr "Selecionar GIF \"{0}\""
msgid "Select how long to mute this word for."
msgstr "Selecione por quanto tempo essa palavra deve ser silenciada."
#: src/view/com/composer/videos/SubtitleDialog.tsx:249
#: src/view/com/composer/videos/SubtitleDialog.tsx:245
msgid "Select language..."
msgstr "Selecione o idioma..."
@ -6133,7 +6133,7 @@ msgstr "Selecione o serviço que hospeda seus dados."
#~ msgid "Select topical feeds to follow from the list below"
#~ msgstr "Selecione feeds de assuntos para seguir"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:87
#: src/view/com/composer/videos/SelectVideoBtn.tsx:80
msgid "Select video"
msgstr "Selecione o vídeo"
@ -7429,7 +7429,7 @@ msgstr "Para desabilitar o 2FA via e-mail, por favor verifique seu acesso a este
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
msgstr "Para denunciar uma conversa, por favor, denuncie uma das mensagens individualmente. Isso vai permitir a análise da situação pelos nossos moderadores."
#: src/view/com/composer/videos/SelectVideoBtn.tsx:113
#: src/view/com/composer/videos/SelectVideoBtn.tsx:106
msgid "To upload videos to Bluesky, you must first verify your email."
msgstr "Para enviar vídeos para o Bluesky, você deve primeiro verificar seu e-mail."
@ -7572,16 +7572,16 @@ msgstr "Deixar de seguir"
msgid "Unlike this feed"
msgstr "Descurtir este feed"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:344
msgctxt "video"
msgid "Unmute"
msgstr ""
#: src/components/TagMenu/index.tsx:263
#: src/view/screens/ProfileList.tsx:689
msgid "Unmute"
msgstr "Dessilenciar"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:388
msgctxt "video"
msgid "Unmute"
msgstr ""
#: src/components/TagMenu/index.web.tsx:115
msgid "Unmute {truncatedTag}"
msgstr "Dessilenciar {truncatedTag}"
@ -7608,7 +7608,7 @@ msgstr "Desmutar conversa"
msgid "Unmute thread"
msgstr "Dessilenciar thread"
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:317
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:273
msgid "Unmute video"
msgstr "Desmutar vídeo"
@ -7837,7 +7837,7 @@ msgstr "Usuários que curtiram este conteúdo ou perfil"
msgid "Value:"
msgstr "Conteúdo:"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:111
#: src/view/com/composer/videos/SelectVideoBtn.tsx:104
msgid "Verified email required"
msgstr "E-mail verificado necessário"
@ -7870,7 +7870,7 @@ msgstr "Verificar Meu Email"
msgid "Verify New Email"
msgstr "Verificar Novo E-mail"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:115
#: src/view/com/composer/videos/SelectVideoBtn.tsx:108
msgid "Verify now"
msgstr "Verifique agora"
@ -7904,11 +7904,11 @@ msgstr "Falha no processamento do vídeo"
msgid "Video Games"
msgstr "Games"
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:164
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:163
msgid "Video not found."
msgstr "Vídeo não encontrado."
#: src/view/com/composer/videos/SubtitleDialog.tsx:101
#: src/view/com/composer/videos/SubtitleDialog.tsx:99
msgid "Video settings"
msgstr "Configurações de vídeo"
@ -7920,11 +7920,6 @@ msgstr ""
#~ msgid "Videos cannot be larger than 50MB"
#~ msgstr "Vídeos não podem ter mais de 100 MB"
#: src/view/com/composer/videos/SelectVideoBtn.tsx:58
#: src/view/com/composer/videos/VideoPreview.web.tsx:44
msgid "Videos must be less than 60 seconds long"
msgstr "Os vídeos devem ter menos de 60 segundos de duração."
#: src/screens/Profile/Header/Shell.tsx:113
msgid "View {0}'s avatar"
msgstr "Ver o avatar de {0}"
@ -8098,7 +8093,7 @@ msgstr "Não foi possível carregar sua lista de palavras silenciadas. Por favor
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Lamentamos, mas sua busca não pôde ser concluída. Por favor, tente novamente em alguns minutos."
#: src/view/com/composer/Composer.tsx:422
#: src/view/com/composer/Composer.tsx:418
msgid "We're sorry! The post you are replying to has been deleted."
msgstr "Sentimos muito! A postagem que você está respondendo foi excluída."
@ -8137,7 +8132,7 @@ msgstr "Como você quer chamar seu pacote inicial?"
#: src/view/com/auth/SplashScreen.tsx:40
#: src/view/com/auth/SplashScreen.web.tsx:86
#: src/view/com/composer/Composer.tsx:517
#: src/view/com/composer/Composer.tsx:513
msgid "What's up?"
msgstr "E aí?"
@ -8212,11 +8207,11 @@ msgstr "Largo"
msgid "Write a message"
msgstr "Escreva uma mensagem"
#: src/view/com/composer/Composer.tsx:713
#: src/view/com/composer/Composer.tsx:709
msgid "Write post"
msgstr "Escrever post"
#: src/view/com/composer/Composer.tsx:516
#: src/view/com/composer/Composer.tsx:512
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
msgid "Write your reply"
msgstr "Escreva sua resposta"
@ -8576,7 +8571,7 @@ msgstr "O repositório da sua conta, contendo todos os seus dados públicos, pod
msgid "Your birth date"
msgstr "Sua data de nascimento"
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:168
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:167
msgid "Your browser does not support the video format. Please try a different browser."
msgstr "Seu navegador não suporta o formato de vídeo. Por favor, tente um navegador diferente."
@ -8631,7 +8626,7 @@ msgstr "Suas palavras silenciadas"
msgid "Your password has been changed successfully!"
msgstr "Sua senha foi alterada com sucesso!"
#: src/view/com/composer/Composer.tsx:468
#: src/view/com/composer/Composer.tsx:464
msgid "Your post has been published"
msgstr "Seu post foi publicado"
@ -8647,7 +8642,7 @@ msgstr "Seu perfil"
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
msgstr "Seu perfil, postagens, feeds e listas não serão mais visíveis para outros usuários do Bluesky. Você pode reativar sua conta a qualquer momento fazendo login."
#: src/view/com/composer/Composer.tsx:467
#: src/view/com/composer/Composer.tsx:463
msgid "Your reply has been published"
msgstr "Sua resposta foi publicada"

View File

@ -18,7 +18,7 @@ import {Button} from '#/components/Button'
import {VideoClip_Stroke2_Corner0_Rounded as VideoClipIcon} from '#/components/icons/VideoClip'
import * as Prompt from '#/components/Prompt'
const VIDEO_MAX_DURATION = 60 * 1000 // 60s in milliseconds
const VIDEO_MAX_DURATION = 60
type Props = {
onSelectVideo: (video: ImagePickerAsset) => void
@ -45,20 +45,13 @@ export function SelectVideoBtn({onSelectVideo, disabled, setError}: Props) {
const response = await launchImageLibraryAsync({
exif: false,
mediaTypes: MediaTypeOptions.Videos,
videoMaxDuration: VIDEO_MAX_DURATION,
quality: 1,
legacy: true,
preferredAssetRepresentationMode:
UIImagePickerPreferredAssetRepresentationMode.Current,
})
if (response.assets && response.assets.length > 0) {
if (isNative) {
if (typeof response.assets[0].duration !== 'number')
throw Error('Asset is not a video')
if (response.assets[0].duration > VIDEO_MAX_DURATION) {
setError(_(msg`Videos must be less than 60 seconds long`))
return
}
}
try {
onSelectVideo(response.assets[0])
} catch (err) {

View File

@ -12,8 +12,6 @@ import {ExternalEmbedRemoveBtn} from 'view/com/composer/ExternalEmbedRemoveBtn'
import {atoms as a} from '#/alf'
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
const MAX_DURATION = 60
export function VideoPreview({
asset,
video,
@ -38,15 +36,6 @@ export function VideoPreview({
'loadedmetadata',
function () {
setDimensions(this.videoWidth, this.videoHeight)
if (!isNaN(this.duration)) {
if (this.duration > MAX_DURATION) {
Toast.show(
_(msg`Videos must be less than 60 seconds long`),
'xmark',
)
clear()
}
}
},
{signal},
)

View File

@ -11,7 +11,6 @@ import {useAutoplayDisabled} from 'state/preferences'
import {VideoEmbedInnerNative} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerNative'
import {atoms as a} from '#/alf'
import {Button} from '#/components/Button'
import {useIsWithinMessage} from '#/components/dms/MessageContext'
import {Loader} from '#/components/Loader'
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
import {VisibilityView} from '../../../../../modules/expo-bluesky-swiss-army'
@ -69,8 +68,7 @@ function InnerWrapper({embed}: Props) {
const [isMuted, setIsMuted] = useState(player.muted)
const [isFullscreen, setIsFullscreen] = React.useState(false)
const [timeRemaining, setTimeRemaining] = React.useState(0)
const isWithinMessage = useIsWithinMessage()
const disableAutoplay = useAutoplayDisabled() || isWithinMessage
const disableAutoplay = useAutoplayDisabled()
const isActive = embed.playlist === activeSource && activeViewId === viewId
// There are some different loading states that we should pay attention to and show a spinner for
const isLoading =

View File

@ -12,7 +12,6 @@ import {
VideoNotFoundError,
} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerWeb'
import {atoms as a} from '#/alf'
import {useIsWithinMessage} from '#/components/dms/MessageContext'
import {useFullscreen} from '#/components/hooks/useFullscreen'
import {ErrorBoundary} from '../ErrorBoundary'
import {useActiveVideoWeb} from './ActiveVideoWebContext'
@ -101,12 +100,11 @@ function ViewportObserver({
}: {
children: React.ReactNode
sendPosition: (position: number) => void
isAnyViewActive: boolean
isAnyViewActive?: boolean
}) {
const ref = useRef<HTMLDivElement>(null)
const [nearScreen, setNearScreen] = useState(false)
const [isFullscreen] = useFullscreen()
const isWithinMessage = useIsWithinMessage()
// Send position when scrolling. This is done with an IntersectionObserver
// observing a div of 100vh height
@ -143,12 +141,10 @@ function ViewportObserver({
<div
ref={ref}
style={{
// Don't escape bounds when in a message
...(isWithinMessage
? {top: 0, height: '100%'}
: {top: 'calc(50% - 50vh)', height: '100vh'}),
position: 'absolute',
top: 'calc(50% - 50vh)',
left: '50%',
height: '100vh',
width: 1,
pointerEvents: 'none',
}}

View File

@ -35,13 +35,7 @@ export function VideoEmbedInnerWeb({
if (!ref.current) return
if (!Hls.isSupported()) throw new HLSUnsupportedError()
const hls = new Hls({
capLevelToPlayerSize: true,
maxMaxBufferLength: 10, // only load 10s ahead
// note: the amount buffered is affected by both maxBufferLength and maxBufferSize
// it will buffer until it it's greater than *both* of those values
// so we use maxMaxBufferLength to set the actual maximum amount of buffering instead
})
const hls = new Hls({capLevelToPlayerSize: true})
hlsRef.current = hls
hls.attachMedia(ref.current)

View File

@ -15,7 +15,6 @@ import {
} from '#/state/preferences'
import {atoms as a, useTheme, web} from '#/alf'
import {Button} from '#/components/Button'
import {useIsWithinMessage} from '#/components/dms/MessageContext'
import {useFullscreen} from '#/components/hooks/useFullscreen'
import {useInteractionState} from '#/components/hooks/useInteractionState'
import {
@ -96,15 +95,6 @@ export function Controls({
}
}, [interactingViaKeypress])
useEffect(() => {
if (isFullscreen) {
document.documentElement.style.scrollbarGutter = 'unset'
return () => {
document.documentElement.style.removeProperty('scrollbar-gutter')
}
}
}, [isFullscreen])
// pause + unfocus when another video is active
useEffect(() => {
if (!active) {
@ -114,8 +104,7 @@ export function Controls({
}, [active, pause, setFocused])
// autoplay/pause based on visibility
const isWithinMessage = useIsWithinMessage()
const autoplayDisabled = useAutoplayDisabled() || isWithinMessage
const autoplayDisabled = useAutoplayDisabled()
useEffect(() => {
if (active) {
if (onScreen) {
@ -132,12 +121,8 @@ export function Controls({
if (focused) {
// auto decide quality based on network conditions
hlsRef.current.autoLevelCapping = -1
// allow 30s of buffering
hlsRef.current.config.maxMaxBufferLength = 30
} else {
// back to what we initially set
hlsRef.current.autoLevelCapping = 0
hlsRef.current.config.maxMaxBufferLength = 10
}
}, [hlsRef, focused])
@ -250,39 +235,6 @@ export function Controls({
}
}, [])
// these are used to trigger the hover state. on mobile, the hover state
// should stick around for a bit after they tap, and if the controls aren't
// present this initial tab should *only* show the controls and not activate anything
const onPointerDown = useCallback(
(evt: React.PointerEvent<HTMLDivElement>) => {
if (evt.pointerType !== 'mouse' && !hovered) {
evt.preventDefault()
}
},
[hovered],
)
const timeoutRef = useRef<ReturnType<typeof setTimeout>>()
const onHoverWithTimeout = useCallback(() => {
onHover()
clearTimeout(timeoutRef.current)
}, [onHover])
const onEndHoverWithTimeout = useCallback(
(evt: React.PointerEvent<HTMLDivElement>) => {
// if touch, end after 3s
// if mouse, end immediately
if (evt.pointerType !== 'mouse') {
setTimeout(onEndHover, 3000)
} else {
onEndHover()
}
},
[onEndHover],
)
const showControls =
((focused || autoplayDisabled) && !playing) ||
(interactingViaKeypress ? hasFocus : hovered)
@ -300,10 +252,9 @@ export function Controls({
evt.stopPropagation()
setInteractingViaKeypress(false)
}}
onPointerEnter={onHoverWithTimeout}
onPointerMove={onHoverWithTimeout}
onPointerLeave={onEndHoverWithTimeout}
onPointerDown={onPointerDown}
onPointerEnter={onHover}
onPointerMove={onHover}
onPointerLeave={onEndHover}
onFocus={onFocus}
onBlur={onBlur}
onKeyDown={onKeyDown}>
@ -592,7 +543,7 @@ function Scrubber({
return (
<View
testID="scrubber"
style={[{height: 18, width: '100%'}, a.flex_shrink_0, a.px_xs, a.py_xs]}
style={[{height: 10, width: '100%'}, a.flex_shrink_0, a.px_xs]}
onPointerEnter={onStartHover}
onPointerLeave={onEndHover}>
<div