Skip to content
Open
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4093c6b
feat(attachments): improve image and audio bubble handling
Feeh03114 Jan 21, 2026
5fabb83
refactor(attachments): remove platform-specific ImageBubble files
Feeh03114 Jan 21, 2026
92404ef
fix: att ignore
Feeh03114 Jan 21, 2026
3d82596
feat(audio): improve audio bubble and cell type safety
Feeh03114 Jan 21, 2026
9f21e18
fix(message): Safely access message status in ComposedBubble
Feeh03114 Jan 21, 2026
d9192a9
feat(audio): apply visual refinements to AudioBubble
Feeh03114 Jan 21, 2026
410c9e8
revert(audio): revert visual design changes in AudioBubble
Feeh03114 Jan 21, 2026
cbb41f5
feat(audio): implement robust audio playback with expo-av
Feeh03114 Jan 22, 2026
7761306
fix(audio): enhance PlayerHub stability and HMR compatibility
Feeh03114 Jan 22, 2026
b867ea1
docs: update PULL_REQUEST_TEMPLATE.md with audio feature details
Feeh03114 Jan 22, 2026
c3735c9
docs: add comments to audio playback components
Feeh03114 Jan 22, 2026
20eac43
docs: add comments to ImageBubble component
Feeh03114 Jan 22, 2026
1439716
docs: finalize PULL_REQUEST_TEMPLATE.md checklist
Feeh03114 Jan 22, 2026
c6f7516
Revert "docs: finalize PULL_REQUEST_TEMPLATE.md checklist"
Feeh03114 Jan 22, 2026
52de3d5
Reapply "docs: finalize PULL_REQUEST_TEMPLATE.md checklist"
Feeh03114 Jan 22, 2026
f019d89
Revert "docs: update PULL_REQUEST_TEMPLATE.md with audio feature deta…
Feeh03114 Jan 22, 2026
d584ac9
feat(video): implement dynamic video sizing and add comments to Video…
Feeh03114 Jan 22, 2026
83c7237
fix(video): resolve naturalSize TypeScript error in VideoBubble
Feeh03114 Jan 22, 2026
1ea7008
fix(video): import AVPlaybackStatusLoaded to resolve TypeScript error
Feeh03114 Jan 22, 2026
3e299e5
fix(video): resolve AVPlaybackStatusLoaded type issue by casting to a…
Feeh03114 Jan 22, 2026
20c85e0
fix(video): prevent redundant video size calculations in VideoBubble
Feeh03114 Jan 22, 2026
eb579fc
docs: update comments in VideoBubble.tsx for new sizing logic and add…
Feeh03114 Jan 22, 2026
87c4663
feat(video): pass width prop to VideoBubble in ComposedBubble
Feeh03114 Jan 22, 2026
a82ba44
fix(audio): unify audio playback keying scheme for AudioCell and Audi…
Feeh03114 Jan 22, 2026
95a65ad
fix: resizeMode video
Feeh03114 Jan 22, 2026
f22c5f9
fix: max height video
Feeh03114 Jan 22, 2026
f0adf25
fix(audio): route convertAacToWav to iOS implementation for voice rec…
Feeh03114 Jan 22, 2026
3e25f06
fix(audio): ensure slider knob resets correctly when switching audio …
Feeh03114 Jan 22, 2026
966f611
fix(audio): add error logging and handling for slider interactions
Feeh03114 Jan 22, 2026
f42e589
fix(audio): remove Reanimated worklet wrappers for slider interaction…
Feeh03114 Jan 22, 2026
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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,9 @@ google-services.json
GoogleService-Info.plist
.env
.env.local

AGENTS.md

eslint.config.js
yarn.lock
settings.json
5 changes: 5 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ module.exports = {
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
transform: {
'^.+\\.(js|jsx|ts|tsx)$': ['babel-jest', { configFile: './babel.config.js' }],
},
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
extensionsToTreatAsEsm: ['.ts', '.tsx'],
transformIgnorePatterns: [
'node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation|@reduxjs|immer)',
],
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,4 @@
"storybook": "8.6.15"
}
}
}
}
32 changes: 16 additions & 16 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/components-next/common/slider/Slider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ export const Slider = (props: SliderProps) => {
useAnimatedReaction(
() => currentPosition.value,
(next, _prev) => {
if (totalDuration.value === 0) {
return;
}
Comment on lines 54 to +59

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update slider when duration is initially unknown

Because useAnimatedReaction only re-runs when currentPosition.value changes, the early return when totalDuration.value === 0 can leave translationX stuck at the previous audio’s position. This happens when switching to a new audio bubble: currentPosition is reset to 0 while totalDuration is still 0, so the reaction exits and never updates again when the duration later becomes >0. The knob/filled track then render at the old position until playback advances. Consider resetting translationX to 0 (or reacting to totalDuration changes) instead of returning.

Useful? React with 👍 / 👎.

translationX.value = withSpring(
interpolate(next, [0, totalDuration.value], [0, sliderMaxWidth.value - 16]),
{
Expand Down
2 changes: 1 addition & 1 deletion src/constants/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export const AUDIO_FORMATS = {
M4A: 'audio/m4a',
};

export const MAXIMUM_FILE_UPLOAD_SIZE = 20;
export const MAXIMUM_FILE_UPLOAD_SIZE = 50;

export const CONVERSATION_STATUSES = [
{
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/af.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/az.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/da.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "टाइपिंग",
"ALL_CONVERSATION_LOADED": "सभी वार्तालाप लोड हो गए",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/hr.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/ms.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/no.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/sh.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/sl.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/sq.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/sr.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "typing",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "skriver",
"ALL_CONVERSATION_LOADED": "Alla konversationer laddade",
"ASSIGN": "Tilldela konversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
2 changes: 1 addition & 1 deletion src/i18n/ta.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"TYPING": "பதிவிடப்படுகிறது",
"ALL_CONVERSATION_LOADED": "All conversations loaded",
"ASSIGN": "Assign conversation",
"FILE_SIZE_LIMIT": "File exceeds the 5MB attachment limit",
"FILE_SIZE_LIMIT": "File exceeds the 50MB attachment limit",
"SHARE": "Share conversation",
"DETAILS": "Details",
"LABELS": "Conversation labels",
Expand Down
Loading