popcodeorg / popcodeorg/popcode

Console open state should be preserved when project persisted

オープン
#1,328 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug code quality
主要言語
JavaScript
スター
191
フォーク
143
平均マージ
4日 11時間
マージ済み PR(30日)
5

説明

Right now, the console is always closed when a project is loaded, even if it was open last time that project was modified. This is different from other UI components, whose minimization state is retained when a project is persisted and then loaded.

This is because the collection of minimized components is represented as a set of component names. This is fine as far as it goes, but it precludes adding new minimized components that are minimized by default (e.g. the console), because the absence of the console from the array in a saved project might mean either:

  1. The console is not minimized in this project, or
  2. The project was last saved before the console feature was introduced

To work around this, when loading a project from storage, we assume the second case and always add the console to the list of minimized components.

Instead, we should store the collection of minimized components as a Map whose keys are component names, and values are either true or false. Entries should only be present in the map if the user has explicitly hidden or shown a component; if an entry is not present, the appropriate default for the editor in question can be used (this logic should probably live in the React component layer).

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まずプロジェクトの永続化と読み込みを追跡し、次に、最小化されたコンポーネントのデフォルト値が適用される React コンポーネント層を調べます。保存された最小化コンポーネントのコレクションがどのようにシリアライズされ、復元されるかを確認します。明示的に非表示または表示にされた状態が保持され、エントリが存在しない場合はコンソールを含め各エディターのデフォルトが使用されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, react
領域
frontend
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。