mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 22:48:11 +02:00
Jauge de contexte, espace disque sur partage agrégé, panneau Fichiers
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>
This commit is contained in:
1 parent
895ff92ed8
commit
b405adea6c
5118 files changed
+1264007
-23
No files matched your search
+94
@@ -0,0 +1,94 @@
|
||||
"use strict"
|
||||
module.exports = require('./loader')(global, loadImplementation);
|
||||
|
||||
/**
|
||||
* Node.js version of loadImplementation.
|
||||
*
|
||||
* Requires the given implementation and returns the registration
|
||||
* containing {Promise, implementation}
|
||||
*
|
||||
* If implementation is undefined or global.Promise, loads it
|
||||
* Otherwise uses require
|
||||
*/
|
||||
function loadImplementation(implementation){
|
||||
var impl = null
|
||||
|
||||
if(shouldPreferGlobalPromise(implementation)){
|
||||
// if no implementation or env specified use global.Promise
|
||||
impl = {
|
||||
Promise: global.Promise,
|
||||
implementation: 'global.Promise'
|
||||
}
|
||||
} else if(implementation){
|
||||
// if implementation specified, require it
|
||||
var lib = require(implementation)
|
||||
impl = {
|
||||
Promise: lib.Promise || lib,
|
||||
implementation: implementation
|
||||
}
|
||||
} else {
|
||||
// try to auto detect implementation. This is non-deterministic
|
||||
// and should prefer other branches, but this is our last chance
|
||||
// to load something without throwing error
|
||||
impl = tryAutoDetect()
|
||||
}
|
||||
|
||||
if(impl === null){
|
||||
throw new Error('Cannot find any-promise implementation nor'+
|
||||
' global.Promise. You must install polyfill or call'+
|
||||
' require("any-promise/register") with your preferred'+
|
||||
' implementation, e.g. require("any-promise/register/bluebird")'+
|
||||
' on application load prior to any require("any-promise").')
|
||||
}
|
||||
|
||||
return impl
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the global.Promise should be preferred if an implementation
|
||||
* has not been registered.
|
||||
*/
|
||||
function shouldPreferGlobalPromise(implementation){
|
||||
if(implementation){
|
||||
return implementation === 'global.Promise'
|
||||
} else if(typeof global.Promise !== 'undefined'){
|
||||
// Load global promise if implementation not specified
|
||||
// Versions < 0.11 did not have global Promise
|
||||
// Do not use for version < 0.12 as version 0.11 contained buggy versions
|
||||
var version = (/v(\d+)\.(\d+)\.(\d+)/).exec(process.version)
|
||||
return !(version && +version[1] == 0 && +version[2] < 12)
|
||||
}
|
||||
|
||||
// do not have global.Promise or another implementation was specified
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* Look for common libs as last resort there is no guarantee that
|
||||
* this will return a desired implementation or even be deterministic.
|
||||
* The priority is also nearly arbitrary. We are only doing this
|
||||
* for older versions of Node.js <0.12 that do not have a reasonable
|
||||
* global.Promise implementation and we the user has not registered
|
||||
* the preference. This preserves the behavior of any-promise <= 0.1
|
||||
* and may be deprecated or removed in the future
|
||||
*/
|
||||
function tryAutoDetect(){
|
||||
var libs = [
|
||||
"es6-promise",
|
||||
"promise",
|
||||
"native-promise-only",
|
||||
"bluebird",
|
||||
"rsvp",
|
||||
"when",
|
||||
"q",
|
||||
"pinkie",
|
||||
"lie",
|
||||
"vow"]
|
||||
var i = 0, len = libs.length
|
||||
for(; i < len; i++){
|
||||
try {
|
||||
return loadImplementation(libs[i])
|
||||
} catch(e){}
|
||||
}
|
||||
return null
|
||||
}
|
||||
Reference in new issue
Block a user