Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`Surface.View` can not access context

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

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

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
elixir
領域
backend

調査の方向性

Start with lib/surface/compiler/eex_engine.ex around lines 1095-1100, identified as the culprit, and reproduce the issue using a Surface initialized with --layouts and context in live.sface or a used component. Done means the context value is read correctly instead of returning nil; the issue does not name a test to run.

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

説明

Describe the bug

When using the context in a template defined inside a Surface.View, both (old) <Context get={...}> and (new) prop name, :type, from_context: ... in a used component yields nil.

How to reproduce it

  1. Use surface initialized with --layouts
  2. Use context in live.sface or a component used by live.sface
  3. Resulting value will always be nil

The behavior you expected

The value is read correctly.

Your Environment

Surface: v0.8.1
LiveView: v0.17.11
Elixir: v1.14.0

Culprit

I tracked down the issue to the following line: https://github.com/surface-ui/surface/blob/b9675f9662f9d684ad4baeebdcc358ffab5264b2/lib/surface/compiler/eex_engine.ex#L1095-L1100

Since this looks like the context is intentionally set to an empty map, I decided not to attempt a PR for now.

Workaround

I built the component inclusion manually, for now, to work around the constraint / issue:

https://github.com/jshmrtn/hygeia/blob/c1debcb8c2652042ee1bf61b566ad2cb3e965ac7/lib/hygeia_web/templates/layout/live.sface#L2-L16

主要言語
Elixir
スター
2.1k
フォーク
146
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

surface-ui/surface のほかの issue

surface-ui/surface の issue をすべて見る

似ている issue

Elixir の issue をもっと見る

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

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