Skip to content

release: freeRASP 7.4.0#192

Open
tompsota wants to merge 20 commits intomasterfrom
rc/7.4.0
Open

release: freeRASP 7.4.0#192
tompsota wants to merge 20 commits intomasterfrom
rc/7.4.0

Conversation

@tompsota
Copy link
Member

freeRASP X.Y.Z

Pre-release checklist

  • 🚀 Dev/Release modes works
  • 🔄 Callbacks works
  • 📝 Logging works
    • sdkVersion is correct
    • sdkPlatform is correct
  • ✅ Tests are passing
  • 📋 Changelog updated
  • ➡️ pubspec.yaml version updated

Post-release checklist

  • 🐦 Release to pub.dev
  • 📝 GitHub release + release notes
  • 📚 Upload dSYM

Type of Changes

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

Description

@tompsota tompsota changed the title feat: init update release: freeRASP 7.4.0 Feb 16, 2026
Copy link
Contributor

@martinzigrai martinzigrai left a comment

Choose a reason for hiding this comment

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

Awesome job! 👏 Left some comments here.

Copy link
Contributor

Choose a reason for hiding this comment

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

To make it completely thread-safe, we should ensure all external calls happen after releasing the lock. The abstract flow should look like this:

For setting the listener (flush):

  1. Lock -> Assign the listener -> Copy cache to a temp list -> Clear cache -> Unlock.

  2. Iterate over the temp list and invoke the listener.

For dispatching a new event:

  1. Lock -> Check if the listener exists.

  2. If YES: Grab the listener reference -> Unlock -> Invoke the listener.

  3. If NO: Add the event to cache -> Unlock.

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 the ExecutionStateDispatcher.kt‎

Copy link
Contributor

Choose a reason for hiding this comment

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

Since this handles execution and device states too, should we rename it? (e.g. PluginSecurityHandler.kt)

/// Android only
locationSpoofing,

/// This method is called when automation is detected
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing 'Android only' comment here

@@ -26,9 +25,4 @@ class RaspExecutionStateCallback extends pigeon.RaspExecutionState {

/// Callback invoked when all security checks are completed.
final VoidCallback? onAllChecksDone;
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we rename this to onAllChecksFinished to match the other platforms?

@@ -90,7 +88,8 @@ internal object TalsecThreatHandler {
* [EventSink] is not destroyed but also is not able to send events.
*/
internal fun suspendListener() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't we also include the executionStateDispatcher in the suspend/resume logic here? Currently, only the threatDispatcher is handled

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.

2 participants