diff --git a/.github/workflows/mobile-daily-internal.yml b/.github/workflows/mobile-daily-internal.yml index 0ca74c1bb0..5b9d21a236 100644 --- a/.github/workflows/mobile-daily-internal.yml +++ b/.github/workflows/mobile-daily-internal.yml @@ -87,9 +87,15 @@ jobs: echo "✅ Changelog valid:" cat "$OUTPUT_FILE" - # Store changelog for later use - Simple and reliable method - CHANGELOG=$(cat "$OUTPUT_FILE" | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/"/\\"/g') - echo "CHANGELOG=${CHANGELOG}" >> $GITHUB_ENV + # Store changelog for Play Store (with escaped newlines) + CHANGELOG_PLAYSTORE=$(cat "$OUTPUT_FILE" | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/"/\\"/g') + echo "CHANGELOG=${CHANGELOG_PLAYSTORE}" >> $GITHUB_ENV + + # Store changelog for Discord (with proper newlines) + CHANGELOG_DISCORD=$(cat "$OUTPUT_FILE" | sed 's/"/\\"/g') + echo "CHANGELOG_DISCORD<> $GITHUB_ENV + echo "$CHANGELOG_DISCORD" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV - name: Setup keys uses: timheuer/base64-to-file@v1 @@ -129,5 +135,5 @@ jobs: **Download:** [Play Store](https://play.google.com/store/apps/details?id=io.ente.photos) **Changes:** - ${{ env.CHANGELOG }} + ${{ env.CHANGELOG_DISCORD }} color: 0x00ff00 \ No newline at end of file diff --git a/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldb_helper.py b/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldb_helper.py new file mode 100644 index 0000000000..a88caf99df --- /dev/null +++ b/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldb_helper.py @@ -0,0 +1,32 @@ +# +# Generated file, do not edit. +# + +import lldb + +def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict): + """Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages.""" + base = frame.register["x0"].GetValueAsAddress() + page_len = frame.register["x1"].GetValueAsUnsigned() + + # Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the + # first page to see if handled it correctly. This makes diagnosing + # misconfiguration (e.g. missing breakpoint) easier. + data = bytearray(page_len) + data[0:8] = b'IHELPED!' + + error = lldb.SBError() + frame.GetThread().GetProcess().WriteMemory(base, data, error) + if not error.Success(): + print(f'Failed to write into {base}[+{page_len}]', error) + return + +def __lldb_init_module(debugger: lldb.SBDebugger, _): + target = debugger.GetDummyTarget() + # Caveat: must use BreakpointCreateByRegEx here and not + # BreakpointCreateByName. For some reasons callback function does not + # get carried over from dummy target for the later. + bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$") + bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__)) + bp.SetAutoContinue(True) + print("-- LLDB integration loaded --") diff --git a/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldbinit b/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldbinit new file mode 100644 index 0000000000..e3ba6fbedc --- /dev/null +++ b/mobile/apps/photos/ios/Flutter/ephemeral/flutter_lldbinit @@ -0,0 +1,5 @@ +# +# Generated file, do not edit. +# + +command script import --relative-to-command-file flutter_lldb_helper.py diff --git a/mobile/apps/photos/scripts/changes.txt b/mobile/apps/photos/scripts/changes.txt index 6abb45295c..3548862e8d 100644 --- a/mobile/apps/photos/scripts/changes.txt +++ b/mobile/apps/photos/scripts/changes.txt @@ -1,2 +1,3 @@ +- Neeraj: Handle custom domain links - Aman: Fixed bottom nav bar color in light theme, resolved paint editor's initial color, and added tap-to-reset with haptics for tune adjustments (brightness/exposure) - Gracefully handle heic rendering on Android \ No newline at end of file