mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-14 18:58:43 +02:00
Trois défauts sans rapport entre eux, tous visibles à l'écran. Jauge de contexte bloquée à « 0 / N (0 %) » : le comptage exact vient de usage.prompt_tokens (include_usage), qu'un llama-server récent a cessé de renvoyer. On note désormais si l'usage est arrivé ; sinon la fin de tour publie l'estimation qui pilote déjà la compaction — approximative, mais jamais absente. Et la souscription envoie la valeur courante juste après le rattrapage : une page rechargée affichait zéro sur une discussion pourtant pleine, faute d'événement ctx_used dans la fenêtre rejouée. Espace disque : « il ne reste que 11,9 Go » sur un partage Unraid qui en a des centaines. /mnt/user est servi par shfs, un FUSE qui agrège plusieurs disques — statfs y renvoie l'espace d'un seul, et ce chiffre REFUSAIT l'installation du modèle. Les systèmes de fichiers qui approximent (FUSE, overlay, NFS, CIFS, Ceph, Gluster) sont reconnus par leur magie : leur chiffre reste affiché, précédé d'un « ~ », mais ne bloque plus rien. Panneau Fichiers : le panneau entier défilait, emportant vers le haut l'en-tête, le fil d'Ariane et le pied (occupation disque, bouton .zip) dès qu'il y avait quelques fichiers. Seule la liste défile maintenant ; le pied reste en bas et l'état vide se centre. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
79 lines
2.5 KiB
JavaScript
79 lines
2.5 KiB
JavaScript
"use strict"
|
|
// global key for user preferred registration
|
|
var REGISTRATION_KEY = '@@any-promise/REGISTRATION',
|
|
// Prior registration (preferred or detected)
|
|
registered = null
|
|
|
|
/**
|
|
* Registers the given implementation. An implementation must
|
|
* be registered prior to any call to `require("any-promise")`,
|
|
* typically on application load.
|
|
*
|
|
* If called with no arguments, will return registration in
|
|
* following priority:
|
|
*
|
|
* For Node.js:
|
|
*
|
|
* 1. Previous registration
|
|
* 2. global.Promise if node.js version >= 0.12
|
|
* 3. Auto detected promise based on first sucessful require of
|
|
* known promise libraries. Note this is a last resort, as the
|
|
* loaded library is non-deterministic. node.js >= 0.12 will
|
|
* always use global.Promise over this priority list.
|
|
* 4. Throws error.
|
|
*
|
|
* For Browser:
|
|
*
|
|
* 1. Previous registration
|
|
* 2. window.Promise
|
|
* 3. Throws error.
|
|
*
|
|
* Options:
|
|
*
|
|
* Promise: Desired Promise constructor
|
|
* global: Boolean - Should the registration be cached in a global variable to
|
|
* allow cross dependency/bundle registration? (default true)
|
|
*/
|
|
module.exports = function(root, loadImplementation){
|
|
return function register(implementation, opts){
|
|
implementation = implementation || null
|
|
opts = opts || {}
|
|
// global registration unless explicitly {global: false} in options (default true)
|
|
var registerGlobal = opts.global !== false;
|
|
|
|
// load any previous global registration
|
|
if(registered === null && registerGlobal){
|
|
registered = root[REGISTRATION_KEY] || null
|
|
}
|
|
|
|
if(registered !== null
|
|
&& implementation !== null
|
|
&& registered.implementation !== implementation){
|
|
// Throw error if attempting to redefine implementation
|
|
throw new Error('any-promise already defined as "'+registered.implementation+
|
|
'". You can only register an implementation before the first '+
|
|
' call to require("any-promise") and an implementation cannot be changed')
|
|
}
|
|
|
|
if(registered === null){
|
|
// use provided implementation
|
|
if(implementation !== null && typeof opts.Promise !== 'undefined'){
|
|
registered = {
|
|
Promise: opts.Promise,
|
|
implementation: implementation
|
|
}
|
|
} else {
|
|
// require implementation if implementation is specified but not provided
|
|
registered = loadImplementation(implementation)
|
|
}
|
|
|
|
if(registerGlobal){
|
|
// register preference globally in case multiple installations
|
|
root[REGISTRATION_KEY] = registered
|
|
}
|
|
}
|
|
|
|
return registered
|
|
}
|
|
}
|