الأخطاء

كل رمز خطأ في حزم الـ SDK: ما الذي حدث، وما العمل حياله.

كل إخفاق في حزم الـ SDK نوع خطأ واحد له رمز ورسالة وجملة واحدة عمّا يجب فعله ورابط إلى مدخله هنا. والرموز نفسها في أندرويد و Apple والويب و C. الرسائل والأسطر التي تبيّن ما العمل مكتوبة بالإنجليزية، حرفيًا كما يطبعها الـ SDK.

26 رمزًا، SDK 3.0.0

invalid_argument

الرسالة
Invalid argument: {detail}.
ما العمل
Pass a value the API accepts: a context or head name the model lists, a sample rate the SDK can resample, a surah from 1 to 114 with ayahs inside it, a rule name of lower-case letters, digits and underscores.

invalid_key

الرسالة
Quran Lab does not accept this key.
ما العمل
Copy the key for this app and platform again from sdk.quranlab.ai; a revoked key has to be replaced by a new one there.
على الجهاز
إذا أجاب الخادم بأن المفتاح مُبطَل أو غير معروف، يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم مفتاحًا من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.

sdk_too_old

الرسالة
This key needs SDK {version} or later; this is {sdk}.
ما العمل
Upgrade the TajweedFormer SDK to {version} or later (the min_sdk of the server's answer), with the install line of the README.

server_rejected

الرسالة
Quran Lab refused this app: {detail}.
ما العمل
Check in sdk.quranlab.ai that the key belongs to this app id and platform and that the app is not blocked.

إذا ذكر الرفض أحد هذه الأسباب، بقي رمز الخطأ كما هو، وجاءت الرسالة و«ما العمل» من ذلك السبب.

السبب
developer_not_approved
الرسالة
The account behind this key has no access to Quran Lab yet (developer_not_approved).
ما العمل
Open https://sdk.quranlab.ai/start with the account that owns the key and finish the access request; the key works as soon as access is given.
على الجهاز
يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم المفتاح والتطبيق من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.
السبب
not_a_member
الرسالة
The account that made this key is not a member of the workspace that owns the app (not_a_member).
ما العمل
Ask an owner of that workspace on sdk.quranlab.ai to add the account, or make a new key from an account that is a member.
السبب
key_type_mismatch
الرسالة
This key is of the wrong type for this platform (key_type_mismatch).
ما العمل
Use an apps key on Android and iOS, a desktop key on macOS, Windows and Linux, and a web key in a browser page; sdk.quranlab.ai makes each of them under the same app.
على الجهاز
يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم المفتاح والتطبيق من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.
السبب
origin_not_allowed
الرسالة
This page's origin, {origin}, is not on the key (origin_not_allowed).
ما العمل
Add this page's origin (scheme, host and port, for example https://app.example.org) to the key on its page at https://sdk.quranlab.ai/keys.
على الجهاز
يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم المفتاح والتطبيق من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.
السبب
app_not_allowed
الرسالة
This key belongs to another app (app_not_allowed).
ما العمل
A key works for the first app that used it. Make a key for this app at https://sdk.quranlab.ai/keys, or allow this app's identifier on the key's page.
على الجهاز
يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم المفتاح والتطبيق من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.
السبب
app_blocked
الرسالة
Quran Lab does not serve this app at the moment: it is blocked by Quran Lab or paused by its developer (app_blocked).
ما العمل
Open the app's page on sdk.quranlab.ai: unpause the app there, or read the reason for the block and write to Quran Lab from the account that owns the app.
على الجهاز
يتوقف الـ SDK أيضًا عن تشغيل النموذج ويحذفه من الجهاز. وحين يقبل الخادم المفتاح والتطبيق من جديد، يُنزَّل النموذج مرة أخرى كما في التثبيت الأول.
السبب
environment_mismatch
الرسالة
This key's environment (development or production) does not match this app (environment_mismatch).
ما العمل
Use the development key in the builds you run yourself and the production key in the build you publish; both are on the app's page on sdk.quranlab.ai.
السبب
local_needs_development_key
الرسالة
This page runs on {origin}, and a production key does not work on a local address (local_needs_development_key).
ما العمل
Use this app's development key for local work, with http://localhost:* among its origins (https://sdk.quranlab.ai/keys); keep the production key for the deployed site.
السبب
model_attestation_required
الرسالة
Quran Lab could not confirm that this is the app as its store delivers it, running on a real device, and does not send it the model (model_attestation_required).
ما العمل
Run the app as the store or TestFlight installs it, on a real device: a simulator, an emulator and a changed app or device cannot be confirmed. While you develop, use this app's development key, which is not asked for this.
السبب
model_not_allowed
الرسالة
Quran Lab does not send model files to this platform at the moment (model_not_allowed).
ما العمل
Nothing in the app is wrong. See sdk.quranlab.ai for the state of this platform, or write to Quran Lab from the account that owns the app.

client_exists

الرسالة
This process already has a TajweedClient.
ما العمل
Keep the first client and reuse it, or close it before making another.

model_unavailable

الرسالة
Quran Lab has no model build for SDK {sdk} yet.
ما العمل
Nothing to change in the app: call model() again later, and check client.diagnose() and sdk.quranlab.ai for the model builds of this SDK version.

needs_connection

الرسالة
The model is not on this device yet.
ما العمل
Connect once so the model can be downloaded; call prefetch() at app start so later starts work offline.

network_not_permitted

الرسالة
This app is not allowed to use the network.
ما العمل
Android: keep the INTERNET permission that the SDK's manifest declares (take out a tools:node="remove" for android.permission.INTERNET). A sandboxed Mac app: turn on Outgoing Connections (Client) under App Sandbox.

download_failed

الرسالة
The model download stopped: {detail}.
ما العمل
Call model() or prefetch() again when the network is back; the download resumes where it stopped.

storage_full

الرسالة
Not enough free space for the model: {needed} bytes needed, {available} free.
ما العمل
Free that much space on the device, or call removeModels() to drop model versions that are no longer used.

storage_failed

الرسالة
The SDK's folder cannot be read or written: {detail}.
ما العمل
Give the client a storage folder the app can write to, and make sure only one process uses it.

model_missing

الرسالة
No model here: {detail}.
ما العمل
Let client.model() download the model: a model comes from Quran Lab's server through the Client, and a model folder that the Client did not download itself is not opened.

model_invalid

الرسالة
The model folder is damaged: {detail}.
ما العمل
Call removeModels() and then model() to download the model again.

signature_invalid

الرسالة
The model's manifest is not signed by Quran Lab.
ما العمل
Use only model files from cdn.quranlab.ai; call removeModels() and then model() to download them again.

checksum_mismatch

الرسالة
A model file differs from the manifest: {file}.
ما العمل
Call removeModels() and then model() to download the model again; if it repeats, the storage is failing.

model_incompatible

الرسالة
This model build does not run on this SDK: {detail}.
ما العمل
Upgrade the SDK to the version the message names, or let client.model() pick the build for this SDK instead of opening a folder.

runtime_unsupported

الرسالة
The SDK cannot run here: {detail}.
ما العمل
Run the app where the SDK is supported: {minimum}.

reference_missing

الرسالة
The reference data is not on this device.
ما العمل
Call model.reference.fetch() once, with a connection, before asking for units.

session_open

الرسالة
This model already has an open session.
ما العمل
Finish or cancel the open session before starting the next take.

session_closed

الرسالة
The session has ended.
ما العمل
Start a new session with model.listen() or model.session() for the next take.

cancelled

الرسالة
The take was cancelled.
ما العمل
Nothing to fix: cancel() was called, or the app's task was cancelled; start a new session for the next take.

engine_failed

الرسالة
The engine failed: {detail}.
ما العمل
Call client.diagnose() and send the report to Quran Lab; a new session on the same model can be tried.

microphone_denied

الرسالة
The microphone permission was refused.
ما العمل
Explain why the app listens and send the learner to the system settings; listen() asks again only where the platform allows it.

microphone_unavailable

الرسالة
No microphone can be opened: {detail}.
ما العمل
Check that the device has an input and no other app holds it, then call listen() again.

interrupted

الرسالة
The take ended on an interruption: {detail}.
ما العمل
Start a new session when the app has the audio again; what was heard so far is in the last chunk.

sharing_unavailable

الرسالة
Sharing is not available for this app.
ما العمل
Nothing to call: Quran Lab switches sharing on per app; check client.sharing.isAvailable before showing sharing settings.