Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Add hints / guards against silent or unclear failures

Ouverte
#218 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
javascript

Piste de recherche

Commencez par reproduire les cas de Workbench répertoriés : enfants non pris en charge, enfants multiples, ordre des propriétés de Gtk.Adjustment, ToggleButtons groupés et icônes manquantes. Examinez ensuite la manière dont Workbench signale ou gère actuellement ces exemples, puis définissez un comportement ciblé pour chaque cas ; le travail doit être considéré comme terminé lorsque les utilisateurs reçoivent un retour clair ou que le rendu problématique est empêché sans blocage.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Some things fail (or crash even) silently—we should add measures to inform users and possibly prevent the rendering.

https://floss.social/@sonny/109975391706946091

I discussed with James if this belongs in Blueprint or Workbench, no clear winner. Let's start/iterate in Workbench and possibly transfer to Blueprint later.

No child allowed

crash: no
priority: high

Passing children to objects that don't accept any such as Label will not provide any feedback. It is confusing to beginners as the children don't get rendered but no explanation is given.

We should emit an error.

Label {
  label: "Hello";
  Button {
    label: "World";
  }
}

Single child allowed

crash: no
priority: high

Some widgets like AdwStatusPage, Adw.Clamp, ScrolledWindow, ... allow only one child. It doesn't error but only the last child will be rendered. It's confusing and makes the user think they did something wrong.

OK

Adw.StatusPage {
  Button {
    label: "a";
  }
}

KO

Adw.StatusPage {
  Button {
    label: "a";
  }
  
  Button {
    label: "b";
  }
}

Order of properties on Gtk.Adjustment

crash: no
priority: medium

OK:

      Scale one {
        width-request: 130;
        adjustment: Gtk.Adjustment {
          lower: 0;
          upper: 100;
          value: 50;
        };
      }

KO:

      Scale one {
        width-request: 130;
        adjustment: Gtk.Adjustment {
          lower: 0;
          value: 50;
          upper: 100;
        };
      }

https://matrix.to/#/!aUhETchlgthwWVQzhi:matrix.org/$16780187509362SfqjZ:gnome.org?via=gnome.org&via=matrix.org&via=libera.chat

ToggleButton grouped to each others

Grouping ToggleButtons to each others will render fine but will cause Workbench to freeze when clicking on one of them.

crash: yes
priority: low

KO

using Gtk 4.0;
using Adw 1;

Box {
  halign: center;
  valign: center;
  orientation: horizontal;
  
  ToggleButton button_first {
    label: "Toggle On";
    group: button_second;
  }

  ToggleButton button_second {
    label: "Toggle Off";
    group: button_first;
  }
}

OK:

using Gtk 4.0;
using Adw 1;

Box {
  halign: center;
  valign: center;
  orientation: horizontal;
  
  ToggleButton button_first {
    label: "Toggle On";
  }

  ToggleButton button_second {
    label: "Toggle Off";
    group: button_first;
  }
}

icon not found

crash: no
priority: low

https://matrix.to/#/!kDBZrVKCdhrVuWxbGe:matrix.org/$GI0tPROepvgJBYCqjapML5GqxIXxS6bHukuFrj9RttQ?via=gnome.org&via=matrix.org&via=catgirl.cloud

some references does'nt show up and are replaced by a corrupted icon which looks odd

If we detect an icon as not fund - we could show a hint to lookup the icon library in the menu

Langage dominant
JavaScript
Étoiles
846
Forks
91
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de workbenchdev/Workbench

Toutes les issues de workbenchdev/Workbench

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.