@saooti/octopus-sdk 41.7.0 → 41.7.1

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.
@@ -124,3 +124,8 @@ language_backend:
124
124
  # list of regex patterns which, when matched, mark a memory entry as read‑only.
125
125
  # Extends the list from the global configuration, merging the two lists.
126
126
  read_only_memory_patterns: []
127
+
128
+ # line ending convention to use when writing source files.
129
+ # Possible values: unset (use global setting), "lf", "crlf", or "native" (platform default)
130
+ # This does not affect Serena's own files (e.g. memories and configuration files), which always use native line endings.
131
+ line_ending:
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
- ## 41.7.0 (En cours)
3
+ ## 41.7.1 (En cours)
4
+
5
+ **Fix**
6
+
7
+ - Correction lecture épisodes sur organisations sécurisées
8
+ - Correction prise en compte paramètres SDK smartlink
9
+
10
+ ## 41.7.0 (09/03/2026)
4
11
 
5
12
  **Features**
6
13
 
@@ -18,6 +25,10 @@
18
25
  - Amélioration de l'affichage si le contenu est long
19
26
  - Ajout du paramètre de recherche `validity`/`vl` dans les props de route
20
27
 
28
+ **Misc**
29
+
30
+ - Mise à jour des dépéndances
31
+
21
32
  ## 41.6.1 (04/03/2026)
22
33
 
23
34
  **Fix**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "41.7.0",
3
+ "version": "41.7.1",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -79,12 +79,8 @@ async function downloadRegister(podcastId: number, parameters?: Record<string,un
79
79
  }>({
80
80
  api: ModuleApi.DEFAULT,
81
81
  path:"podcast/download/register/" + podcastId + ".mp3",
82
- parameters: {
83
- access_token: authStore.authParam.accessToken,
84
- ...parameters
85
- },
86
- headers: {'X-Extra-UA':'Saooti Player'},
87
- isNotAuth:true
82
+ parameters,
83
+ headers: {'X-Extra-UA':'Saooti Player'}
88
84
  });
89
85
  }
90
86
 
@@ -62,14 +62,10 @@ export const usePlayerLive = (hlsReady: Ref<boolean>)=>{
62
62
  async function playHls(): Promise<void> {
63
63
  try {
64
64
  if(null===audioElement.value){
65
- audioElement.value = document.getElementById(
66
- "audio-player",
67
- ) as HTMLAudioElement;
65
+ audioElement.value = document.getElementById("audio-player") as HTMLAudioElement;
68
66
  }
69
67
  if (null === audioElement.value || !playerStore.playerHlsUrl) {
70
- setTimeout(() => {
71
- playHls();
72
- }, 1000);
68
+ setTimeout(playHls, 1000);
73
69
  return;
74
70
  }
75
71
  const ua = navigator.userAgent.toLowerCase();
@@ -9,9 +9,9 @@ import { useGeneralStore } from "../../../stores/GeneralStore";
9
9
  import { useVastStore } from "../../../stores/VastStore";
10
10
  import { state as sdkParams } from "../../../stores/ParamSdkStore";
11
11
  import fetchHelper from "../../../helper/fetchHelper";
12
- import classicApi from "../../../api/classicApi";
13
12
  import dayjs from "dayjs";
14
13
  import { FetchParam } from "@/stores/class/general/fetchParam";
14
+ import { podcastApi } from "../../../api/podcastApi";
15
15
 
16
16
  export const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {
17
17
  const hlsReady= ref(false);
@@ -45,15 +45,7 @@ export const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {
45
45
  audioUrlToPlay.value = getAudioUrl();
46
46
  return;
47
47
  }
48
- const response = await classicApi.fetchData<{
49
- location: string;
50
- downloadId: number;
51
- }>({
52
- api:0,
53
- path:"podcast/download/register/"+playerStore.playerPodcast.podcastId + ".mp3",
54
- parameters:getAudioUrlParameters(),
55
- headers: {'X-Extra-UA':'Saooti Player'}
56
- });
48
+ const response = await podcastApi.downloadRegister(playerStore.playerPodcast.podcastId, getAudioUrlParameters());
57
49
  setDownloadId(response.downloadId.toString());
58
50
  audioUrlToPlay.value = response.location;
59
51
  });
@@ -120,8 +112,11 @@ export const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {
120
112
  }
121
113
  }
122
114
 
123
- function getAudioUrlParameters(): FetchParam {
124
- if (!playerStore.playerPodcast) return {};
115
+ function getAudioUrlParameters(addToken?: boolean): FetchParam {
116
+ if (!playerStore.playerPodcast) {
117
+ return {};
118
+ }
119
+
125
120
  const parameters: FetchParam = {
126
121
  origin: "octopus",
127
122
  accepted: vastStore.useVastPlayerPodcast
@@ -133,10 +128,11 @@ export const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {
133
128
  parameters.consent = generalStore.consentTcf;
134
129
  }
135
130
  if (
131
+ addToken &&
136
132
  "SECURED" === playerStore.playerPodcast.organisation.privacy &&
137
133
  authStore.authParam.accessToken
138
134
  ) {
139
- parameters.access_token =authStore.authParam.accessToken;
135
+ parameters.access_token = authStore.authParam.accessToken;
140
136
  }
141
137
  return parameters;
142
138
  }
@@ -145,14 +141,19 @@ export const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {
145
141
  if (playerStore.playerMedia){
146
142
  return playerStore.playerMedia.audioUrl ?? "";
147
143
  }
148
- if (!playerStore.playerPodcast || playerStore.playerVideo) return "";
144
+ if (!playerStore.playerPodcast || playerStore.playerVideo) {
145
+ return "";
146
+ }
149
147
  if (
150
148
  !playerStore.playerPodcast.availability.visibility ||
151
149
  "PROCESSING" === playerStore.playerPodcast.processingStatus
152
- )
150
+ ) {
153
151
  return playerStore.playerPodcast.audioStorageUrl;
154
- if (listenError.value) return playerStore.playerPodcast.audioStorageUrl;
155
- return playerStore.playerPodcast.podcastId + ".mp3?"+fetchHelper.getUriSearchParams(getAudioUrlParameters());
152
+ }
153
+ if (listenError.value) {
154
+ return playerStore.playerPodcast.audioStorageUrl;
155
+ }
156
+ return playerStore.playerPodcast.podcastId + ".mp3?"+fetchHelper.getUriSearchParams(getAudioUrlParameters(), true);
156
157
  }
157
158
 
158
159
  function reInitPlayer(force=false): void {
@@ -131,6 +131,10 @@ const initialize = function initialize(initObject: Partial<ParamStore>): void {
131
131
  state.searchPage,
132
132
  definedProps(initObject.searchPage),
133
133
  );
134
+ state.smartLink = Object.assign(
135
+ state.smartLink,
136
+ definedProps(initObject.smartLink)
137
+ );
134
138
  };
135
139
 
136
140
  export default { initialize, state };