Skip to content

[webview_flutter_lwe] Update lightweight web engine to 1.5.11 - #1196

Open
seungsoo47 wants to merge 6 commits into
flutter-tizen:mainfrom
seungsoo47:webview_flutter_lwe-update-engine-1.5.10
Open

seungsoo47 wants to merge 6 commits into
flutter-tizen:mainfrom
seungsoo47:webview_flutter_lwe-update-engine-1.5.10

Conversation

@seungsoo47

@seungsoo47 seungsoo47 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Update lightweight web engine to version 1.5.11.
Fixes a hang on real TV devices when the first WebView is created.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-03T02:38:36.428734Z 4534fb1 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

https://github.com/flutter-tizen/plugins/blob/a8f2abad41da9a9e7e09cef10bc36ef461a47d86/packages/webview_flutter_lwe/tizen/lib/armel/liblightweight-web-engine.flutter-impl.so#L1
P1 Badge Rebuild the engine against the Tizen 5.5 C++ ABI

On Tizen 5.5 devices, which are still explicitly supported by README.md:80 and project_def.prop:6, these replacement implementation libraries cannot be loaded: readelf --dyn-syms shows that every architecture now imports std::_Sp_make_shared_tag::_S_eq@GLIBCXX_3.4.26, while the Tizen 5.5/GCC 6-era runtime only provides symbols through GLIBCXX_3.4.22 (the previous binaries also required at most that version). The dynamic loader will therefore reject the plugin before the first WebView is created; rebuild the engine with the 5.5 toolchain or raise the advertised minimum Tizen version.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@seungsoo47

Copy link
Copy Markdown
Contributor Author

💡 Codex Review

https://github.com/flutter-tizen/plugins/blob/a8f2abad41da9a9e7e09cef10bc36ef461a47d86/packages/webview_flutter_lwe/tizen/lib/armel/liblightweight-web-engine.flutter-impl.so#L1 P1 Badge Rebuild the engine against the Tizen 5.5 C++ ABI

On Tizen 5.5 devices, which are still explicitly supported by README.md:80 and project_def.prop:6, these replacement implementation libraries cannot be loaded: readelf --dyn-syms shows that every architecture now imports std::_Sp_make_shared_tag::_S_eq@GLIBCXX_3.4.26, while the Tizen 5.5/GCC 6-era runtime only provides symbols through GLIBCXX_3.4.22 (the previous binaries also required at most that version). The dynamic loader will therefore reject the plugin before the first WebView is created; rebuild the engine with the 5.5 toolchain or raise the advertised minimum Tizen version.

ℹ️ About Codex in GitHub

The plugin's minimum supported version was already raised to Tizen 6.0 earlier; the README was outdated. Updated it to state Tizen 6.0 or later.

@JSUYA JSUYA left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

x86_64 libnanomsg.so has SONAME libnanomsg.so.5, unlike the other bundled libs (libtuv.so, libclipper.so, ...). flutter-tizen only copies *.so files into the TPK, so libnanomsg.so.5 is never packaged and the impl lib's NEEDED libnanomsg.so.5 can't be resolved on x64.

Could you rebuild nanomsg with an unversioned SONAME (libnanomsg.so) and keep only that one file, like the other libs?

@seungsoo47
seungsoo47 force-pushed the webview_flutter_lwe-update-engine-1.5.10 branch from b53955a to 4ca8393 Compare October 29, 2026 07:39
@seungsoo47 seungsoo47 changed the title [webview_flutter_lwe] Update lightweight web engine to 1.5.10 [webview_flutter_lwe] Update lightweight web engine to 1.5.11 Oct 29, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c0308e3b41

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@JSUYA JSUYA left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The x86_64 1.5.11 build aborts while playing the embedded video on https://flutter.dev (the example's default page). On both the Tizen 10.0 and 11.0 x64 emulators, dlog shows player video-frame callbacks (media packets from tbm_surface) right before:

    E/Starfish: Canvas.h: attachPlatformExternalBuffer(217) > 1.5.11: RELEASE_ASSERT_NOT_REACHED
    E/ConsoleMessage: onSigabrt called

main (1.5.1) stays alive on the same emulators. readelf -d shows the x86_64 impl newly NEEDs libcapi-media-player.so.0, libcapi-media-tool.so.0, libmp4parse.so and libwebm.so; the 1.5.1 x86_64 and the i586 builds do not have these.

The integration tests load no video, so they do not catch this.

@JSUYA JSUYA left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The 1.5.11 API library adds LWE::LWE::CanUnload(), LWE::Settings::SetMaxVideoDecodeSize(unsigned int, unsigned int) and LWE::Settings::GetMaxVideoDecodeSize(unsigned int&, unsigned int&) const, but tizen/inc/lwe/LWEWebView.h is unchanged. Could you update the header too, as #1071 and #1079 did?

@seungsoo47

Copy link
Copy Markdown
Contributor Author

The x86_64 1.5.11 build aborts while playing the embedded video on https://flutter.dev (the example's default page). On both the Tizen 10.0 and 11.0 x64 emulators, dlog shows player video-frame callbacks (media packets from tbm_surface) right before:

    E/Starfish: Canvas.h: attachPlatformExternalBuffer(217) > 1.5.11: RELEASE_ASSERT_NOT_REACHED
    E/ConsoleMessage: onSigabrt called

main (1.5.1) stays alive on the same emulators. readelf -d shows the x86_64 impl newly NEEDs libcapi-media-player.so.0, libcapi-media-tool.so.0, libmp4parse.so and libwebm.so; the 1.5.1 x86_64 and the i586 builds do not have these.

The integration tests load no video, so they do not catch this.

Thank you for the reviews.
As discussed offline, I rebuilt the lwe engine with the multimedia feature disabled. The libraries no longer depend on libcapi-media-player, libcapi-media-tool, libmp4parse and libwebm on any architecture, and the example no longer aborts on https://flutter.dev on the Tizen 10.0 x64 emulators (common and TV).
I also updated the README to state that multimedia is not supported.

I updated LWEWebView.h to the 1.5.11 header, which adds LWE::CanUnload() and Settings::Get/SetMaxVideoDecodeSize().

@JSUYA JSUYA left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The bundled libwebp_lwe.so NEEDs libsharpyuv.so.0 on all four arches (present only in libwebp 1.3+; the dependency appeared in 1.4.1 #1071, 1.3.7 did not have it), while the Tizen 6.0 reference repo ships libwebp 1.1.0 without libsharpyuv.
The 10.0/11.0 emulators pass only because they ship libwebp 1.4.0.

@JSUYA JSUYA left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the 1.5.11 binaries in this PR, liblightweight-web-engine.flutter-impl.so no longer links libmp4parse.so or libwebm.so on any arch (readelf -d shows no NEEDED entry for them, and there is no dlopen string either). Only the multimedia code used them, and that is now excluded. Could you remove the 8 files (4 archs x 2)? They still get packaged into every TPK otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants