@siteed/audio-studio 3.0.4 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  ## [Unreleased]
9
9
 
10
10
 
11
+ ## [3.0.5] - 2026-04-25
12
+ ### Changed
13
+ - fix(audio-studio): don't start notification on prepareRecording (Android) (#364) ([5d40d7e](https://github.com/deeeed/audiolab/commit/5d40d7e730f2b74459d319979fd9c112891b10f2))
14
+ - docs: update api references for v3.0.4 ([12421ee](https://github.com/deeeed/audiolab/commit/12421ee6146187888492b957c0eee428fcab3e8b))
15
+ - chore(audio-studio): release @siteed/audio-studio@3.0.4 ([3a5b7da](https://github.com/deeeed/audiolab/commit/3a5b7da8f4289a599d928dce01f262ab97398143))
11
16
  ## [3.0.4] - 2026-04-25
12
17
  ### Changed
13
18
  - fix(audio-studio): move module ops off main thread + fix iOS stop crash (#363) ([1a07d2d](https://github.com/deeeed/audiolab/commit/1a07d2d9222bfac1083b00d6de992fcb2a3be42d))
@@ -344,7 +349,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
344
349
  - Audio features extraction during recording
345
350
  - Consistent WAV PCM recording format across all platforms
346
351
 
347
- [unreleased]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.4...HEAD
352
+ [unreleased]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.5...HEAD
353
+ [3.0.5]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.4...@siteed/audio-studio@3.0.5
348
354
  [3.0.4]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.3...@siteed/audio-studio@3.0.4
349
355
  [3.0.3]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.2...@siteed/audio-studio@3.0.3
350
356
  [3.0.2]: https://github.com/deeeed/audiolab/compare/@siteed/audio-studio@3.0.2-beta.2...@siteed/audio-studio@3.0.2
@@ -909,12 +909,6 @@ class AudioRecorderManager(
909
909
  LogUtils.d(CLASS_NAME, "Skipping primary file creation - primary output is disabled")
910
910
  }
911
911
 
912
- if (recordingConfig.showNotification && enableBackgroundAudio) {
913
- notificationManager.initialize(recordingConfig)
914
- notificationManager.startUpdates(System.currentTimeMillis())
915
- AudioRecordingService.startService(context)
916
- }
917
-
918
912
  acquireWakeLock()
919
913
  audioProcessor.resetCumulativeAmplitudeRange()
920
914
  return true
@@ -960,20 +954,28 @@ class AudioRecorderManager(
960
954
 
961
955
  audioRecord?.startRecording()
962
956
  isPaused.set(false)
963
- _isRecording.set(true)
964
957
  isFirstChunk = true
965
-
966
- if (!isPaused.get()) {
967
- recordingStartTime = System.currentTimeMillis()
958
+ recordingStartTime = System.currentTimeMillis()
959
+
960
+ // Start notification + foreground service before flipping isRecording (#298, #288).
961
+ // Previously the notification block fired in initializeRecordingResources, which is
962
+ // also reached from prepareRecording, so the notification timer started on prepare.
963
+ // Mirrors iOS fix in AudioStreamManager.swift. Service start is shared by both
964
+ // showNotification and keepAwake gates and must precede _isRecording=true so
965
+ // getStatus() can't observe (isRecording=true && !isServiceRunning).
966
+ val needsService = (recordingConfig.showNotification || recordingConfig.keepAwake) &&
967
+ enableBackgroundAudio
968
+ if (recordingConfig.showNotification && enableBackgroundAudio) {
969
+ notificationManager.initialize(recordingConfig)
970
+ notificationManager.startUpdates(recordingStartTime)
968
971
  }
969
-
970
- recordingThread = Thread { recordingProcess() }.apply { start() }
971
-
972
- // Start service if keepAwake is true, but only if background audio is enabled (#288)
973
- if (recordingConfig.keepAwake && enableBackgroundAudio) {
972
+ if (needsService) {
974
973
  AudioRecordingService.startService(context)
975
974
  }
976
-
975
+
976
+ _isRecording.set(true)
977
+ recordingThread = Thread { recordingProcess() }.apply { start() }
978
+
977
979
  return true
978
980
 
979
981
  } catch (e: Exception) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siteed/audio-studio",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "description": "Comprehensive audio processing library for React Native and Expo with recording, analysis, visualization, and streaming capabilities across iOS, Android, and web",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",