Skip to content

Conversation

@mlodyjesienin
Copy link
Contributor

@mlodyjesienin mlodyjesienin commented Jun 10, 2025

Description

Migrated example apps (llm, computervision) to expo router navigation.
Added drawer navigation and menu for better UX.
Fixed small issues regarding keyboard padding.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Tested on

  • iOS
  • Android

Related issues

Issue #224

Checklist

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas, (not necessary)
  • I have updated the documentation accordingly, (not necessary)
  • My changes generate no new warnings

@msluszniak
Copy link
Member

Calling yarn in example apps generates now new warnings:

➤ YN0002: │ computer-vision@workspace:apps/computer-vision doesn't provide @react-navigation/native (p65dbd), requested by @react-navigation/drawer.
➤ YN0002: │ llm@workspace:apps/llm doesn't provide @react-navigation/native (pe0aa0), requested by @react-navigation/drawer.

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

Could you also handle this one: #349 in this PR and disable voice chat on emulator in llm examples?

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

This seems to be a bit of redudancy:
image

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

If I'm not wrong, currently tool calling supports only calls to Google Calendar, not the regular calendar on device. So make it clear and add Google Calendar instead of calendar.
My bad, ignore this comment. This not work for me on emulator, so I'll create separate issue about this.
image

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

I guess that the icon in the chat presents a lama because the model was previously LLaMa. Now it's Qwen, so maybe think of changing this one.
image

@msluszniak
Copy link
Member

I think that in llm examples it will be better to use simple stack navigation with back arrow to the main screen instead of drawer navigation.

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

Could you disable the button with camera on emulator for all examples in apps/computer-vision?
image
PS. change order of words to Top 10 Results, sounds better imho.

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

I don't understand what should present the Object Detection example in apps/computer-vision. Does it even work?

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

The fact that OCR and Vertical OCR on the list below are not two consecutive elements is unnatural for me. Maybe consider changing the name to OCR Vertical to preserve alphabetical order and force the intuitive order.
image

@msluszniak
Copy link
Member

Maybe it is worth adding upload from device option for speech to text example?

@msluszniak
Copy link
Member

There is no way now to clear automatically added sentences and user defined sentences. I think it will be nice to add such option.
image

@msluszniak
Copy link
Member

msluszniak commented Jun 10, 2025

Deactivate Find Similar when no input provided, and communicate more explicitly in this example that you need to provide sentence and use Find Similar on that particular sentence. I thought, that I should enter all context sentences by Add to list and then clicking Find Similar will generate me some text embeddings similar to the context sentences.

@msluszniak
Copy link
Member

In computer-vision package.json there is "react-native-executorch": "0.4.2", while other examples use react-native-executorch from monorepo, maybe change this one.

"icon": "./assets/icons/icon.png",
"userInterfaceStyle": "light",
"newArchEnabled": true,
"scheme": "your-app-scheme",
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it would be better to set scheme to "rne-computer-vision"

Do the same for other apps

"react": "19.0.0",
"react-native": "0.79.2",
"react-native-executorch": "workspace:*",
"react-native-executorch": "0.4.2",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"react-native-executorch": "0.4.2",
"react-native-executorch": "workspace:*",

"orientation": "portrait",
"icon": "./assets/icons/icon.png",
"userInterfaceStyle": "light",
"scheme": "your-app-scheme",
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as in computer vision rne-llm

});
const speechToText = useSpeechToText({
modelName: 'moonshine',
modelName: 'whisper',
Copy link
Contributor

Choose a reason for hiding this comment

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

why this change? I think w should stay with moonshine as default

@mlodyjesienin mlodyjesienin marked this pull request as draft June 12, 2025 11:40
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="your-app-scheme"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

You need to run npx expo prebuild for a changes from app.json to be applied, but when doing that don't forget to open ios project in xcode and add increased memory capability

return context;
}

import { ReactNode } from 'react';
Copy link
Contributor

Choose a reason for hiding this comment

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

Move the import to the top of this file

@NorbertKlockiewicz
Copy link
Contributor

I've tested it and works fine. Please apply changes requested i my two comments, fix the conflicts and you can merge.

@mlodyjesienin mlodyjesienin force-pushed the @mlodyjesienin/example-app-ui branch from 75ff9ff to fec4dc1 Compare June 16, 2025 09:08
@msluszniak
Copy link
Member

Speech to text example still contains in package.json "react-native-wheel-scrollview-picker": "^2.0.6", you can remove it ;)

mlodyjesienin and others added 4 commits June 16, 2025 15:40
#401)

…hen they go out of focus by introducing wrapers.

## Description


### Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] Documentation update (improves or adds clarity to existing
documentation)

### Tested on

- [ ] iOS
- [ ] Android

### Testing instructions

<!-- Provide step-by-step instructions on how to test your changes.
Include setup details if necessary. -->

### Screenshots

<!-- Add screenshots here, if applicable -->

### Related issues

<!-- Link related issues here using #issue-number -->

### Checklist

- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have updated the documentation accordingly
- [ ] My changes generate no new warnings

### Additional notes

<!-- Include any additional information, assumptions, or context that
reviewers might need to understand this PR. -->

---------

Co-authored-by: mlodyjesienin <[email protected]>
@mlodyjesienin mlodyjesienin marked this pull request as ready for review June 17, 2025 12:16
@msluszniak
Copy link
Member

msluszniak commented Jun 17, 2025

Are you able to run successfully for some url Speech to text example on iOS emulator? I'm receiving constant crashes @mlodyjesienin @NorbertKlockiewicz. If no, I'll create a separate issue to not block this one

@NorbertKlockiewicz
Copy link
Contributor

NorbertKlockiewicz commented Jun 18, 2025

Are you able to run successfully for some url Speech to text example on iOS emulator? I'm receiving constant crashes @mlodyjesienin @NorbertKlockiewicz. If no, I'll create a separate issue to not block this one

Same problem at my side, tested it with audio that worked some time ago. However it's not in scope of this PR so I will be thankful if you can add a separate issue.

@mlodyjesienin mlodyjesienin linked an issue Jun 18, 2025 that may be closed by this pull request
@msluszniak
Copy link
Member

Done: #409
The very basic triage directs to audio-api

import { BottomBar } from '../../components/BottomBar';
import React, { useContext, useEffect, useState } from 'react';
import { GeneratingContext } from '../../context';
import ScreenWrapper from '../../screenWrapper';
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the name of the screenWrapper file should start from large letter as it's a component

import { useIsFocused } from '@react-navigation/native';
import { GeneratingContext } from '../../context';

export default function LLMScreenWrapper() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe let's move this wrapper to separate file like in computer-vision example

Copy link
Contributor

Choose a reason for hiding this comment

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

It's not used anywhere, remove it

@NorbertKlockiewicz NorbertKlockiewicz self-requested a review June 18, 2025 12:07
@mlodyjesienin mlodyjesienin merged commit 573edd1 into main Jun 18, 2025
4 of 5 checks passed
@mlodyjesienin mlodyjesienin deleted the @mlodyjesienin/example-app-ui branch June 18, 2025 12:09
@msluszniak
Copy link
Member

A really good job on this one 👏🏻

mkopcins pushed a commit that referenced this pull request Oct 15, 2025
## Description

Migrated example apps (llm, computervision) to expo router navigation. 
Added drawer navigation and menu for better UX.
Fixed small issues regarding keyboard padding. 

### Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)

### Tested on

- [x] iOS
- [x] Android

### Related issues
Issue  #224 

### Checklist

- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand
areas, (not necessary)
- [ ] I have updated the documentation accordingly, (not necessary)
- [ ] My changes generate no new warnings

---------

Co-authored-by: pweglik <[email protected]>
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.

Disable example with Speech to text in apps/llm on emulator Find alternative for scroll picker with better UX for example apps.

5 participants