Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't load manga from a path with a UTF-8 character #214

Open
LeoShivas opened this issue Aug 29, 2024 · 4 comments
Open

Can't load manga from a path with a UTF-8 character #214

LeoShivas opened this issue Aug 29, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@LeoShivas
Copy link

Describe the bug
When I'm trying to load mangas from a folder with a UTF-8 character in its name, Manga-Manager doesn't load any manga.

To Reproduce
Steps to reproduce the behavior:

  1. Create a directory with a UTF-8 character (ie: Les Chroniques d'Azfaréo)
    mkdir "Les Chroniques d'Azfaréo"
  2. Put some mangas in
root@kavita-manga-manager-696fcc95f-kvql8:/manga/Les Chroniques d'Azfaréo# ls -la
total 1692024
drwxrwxrwx.   2 abc 1000      4096 Apr  9  2023  .
drwxrwxr-x. 122 abc 1000      4096 Aug 29 13:05  ..
-rwxrwxrwx.   1 abc 1000 257501181 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T01 (Chitose) (2020) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 255320192 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T02 (Chitose) (2020) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 210454660 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T03 (Chitose) (2020) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 196838433 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T04 (Chitose) (2021) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000  87332723 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T05 (Chitose) (2021) [Digital-1200] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 196973059 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T06 (Chitose) (2021) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 206430887 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T07 (Chitose) (2021) [Digital-1920] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 104412440 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T08 (Chitose) (2022) [Digital-1200] [Manga FR] (PapriKa+).cbz'
-rwxrwxrwx.   1 abc 1000 217336727 Apr  6  2023 'Chroniques d'\''Azfaréo (Les) T09 (Chitose) (2022) [Digital-1920] [Manga FR] (PapriKa+).cbz'
root@kavita-manga-manager-696fcc95f-kvql8:/manga/Les Chroniques d'Azfaréo#
  1. Go on Manga-Manager and click on Open Folder
    image
  2. Navigate to the previously created folder
    image
  3. Click on Ok
    image
  4. Nothing happens
  5. See error

Expected behavior
The mangas should load

Logs
None except guacd and rdp

Deployment
I've deployed manga manager with a custom helm chart of my own : https://github.com/LeoShivas/GitOps/tree/39ba1b613c2f6b92dc142f8247d765619791f2dd/kubernetes/kavita/helm/kavita

Version
I use the latest version of the docker image.

@LeoShivas
Copy link
Author

For more details, here is the pod spec :

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-08-29T09:50:49Z"
  generateName: kavita-manga-manager-696fcc95f-
  labels:
    app.kubernetes.io/component: manga-manager
    app.kubernetes.io/instance: kavita
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: kavita
    app.kubernetes.io/version: latest
    helm.sh/chart: kavita-0.1.0
    pod-template-hash: 696fcc95f
  name: kavita-manga-manager-696fcc95f-kvql8
  namespace: plex
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: kavita-manga-manager-696fcc95f
    uid: 23b36f49-de07-497a-b692-f91a2a5a31fa
  resourceVersion: "101827363"
  uid: a5b81728-48f4-43bc-9a0e-c0158a305769
spec:
  containers:
  - envFrom:
    - configMapRef:
        name: kavita
    - configMapRef:
        name: kavita-manga-manager-env
    image: thepromidius/manga-manager:latest
    imagePullPolicy: Always
    name: manga-manager
    ports:
    - containerPort: 3000
      name: web-ui
      protocol: TCP
    - containerPort: 3389
      name: rdp
      protocol: TCP
    resources: {}
    securityContext: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /covers
      name: manga-manager-folder
    - mountPath: /config/MangaManager
      name: manga-manager-config-dir
    - mountPath: /manga
      name: data
      subPath: mangas
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-mb946
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  initContainers:
  - command:
    - sh
    - -c
    - cp /config-file/config.ini /config-dir/
    envFrom:
    - configMapRef:
        name: kavita
    image: thepromidius/manga-manager:latest
    imagePullPolicy: Always
    name: init-config
    resources: {}
    securityContext: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /config-dir
      name: manga-manager-config-dir
    - mountPath: /config-file
      name: manga-manager-config-file
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-mb946
      readOnly: true
  nodeName: kube-cp-1
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: manga-manager-folder
    persistentVolumeClaim:
      claimName: kavita-manga-manager-folder
  - configMap:
      defaultMode: 420
      items:
      - key: config.ini
        path: config.ini
      name: kavita-manga-manager-config
    name: manga-manager-config-file
  - emptyDir: {}
    name: manga-manager-config-dir
  - name: data
    persistentVolumeClaim:
      claimName: kavita-data
  - name: kube-api-access-mb946
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace

Here is the configMap ofr env vars :

apiVersion: v1
data:
  KEYBOARD: fr-fr-azerty
  TITLE: Manga Manager
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: kavita
    meta.helm.sh/release-namespace: plex
  creationTimestamp: "2024-08-29T09:17:52Z"
  labels:
    app.kubernetes.io/component: manga-manager
    app.kubernetes.io/instance: kavita
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: kavita
    app.kubernetes.io/version: latest
    helm.sh/chart: kavita-0.1.0
  name: kavita-manga-manager-env
  namespace: plex
  resourceVersion: "101819024"
  uid: ea8a4079-9015-4bcb-b1b9-ae5e020b5d3a

Here is the configMap for settings :

apiVersion: v1
data:
  config.ini: |-
    [main]
    cache_cover_images = True
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: kavita
    meta.helm.sh/release-namespace: plex
  creationTimestamp: "2024-08-29T09:33:17Z"
  labels:
    app.kubernetes.io/component: manga-manager
    app.kubernetes.io/instance: kavita
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: kavita
    app.kubernetes.io/version: latest
    helm.sh/chart: kavita-0.1.0
  name: kavita-manga-manager-config
  namespace: plex
  resourceVersion: "101822852"
  uid: 9610f478-c57d-4d53-a1fe-489742215a19

@ThePromidius
Copy link
Member

Interesting.. I researched some filename sanitization for FMD3 might be handy for this case. I will see where exactly it could be failing and provide more feedback to the issue.

Thanks for reporting!

@ThePromidius ThePromidius added the bug Something isn't working label Aug 29, 2024
@ThePromidius
Copy link
Member

Related to #207 maybe

@LeoShivas
Copy link
Author

LeoShivas commented Aug 29, 2024

Interesting.. I researched some filename sanitization for FMD3 might be handy for this case. I will see where exactly it could be failing and provide more feedback to the issue.

Thanks for reporting!

You're welcome !

When I rename the folder to Les Chroniques d'Azfareo (removing the é character), Manga Manager recognizes well the files, despite they have a è in their filename.

The issue seems to be folder path related, not to the filename.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants