νμλ₯Ό κΈ°λ°μΌλ‘ AudioContent
λ μ€μ λ‘ μ΅μ λμ΄κ° 3μ΄μ΄μΌ νμ§λ§ FileContent
κ° 6μΌλ‘ μ€μ νλ κ²μ²λΌ 보μ
λλ€. λ€λ₯Έ νμΌμ λν΄ λ€λ₯Έ κ²½κ³λ₯Ό κ°λλ‘ FileContentλ₯Ό λ€μ μμ±νλ κ²μ΄ ν©λ¦¬μ μ
λκΉ? μ ν? FileContent.tsx λ΄μμ ν΄λΉ λ
Όλ¦¬λ₯Ό μμ±νλ κ²μ κ°λ¨ν΄ 보μ΄μ§λ§ κ° [mime-type]Content.tsx
νμΌμμ μ΄λ¬ν μμ±μ μ€μ νλ κ²μ΄ λ λμ κ² κ°μ΅λλ€. μ΄ μμ
μ μννλ €λ©΄ μ΄λ»κ² ν΄μΌ ν©λκΉ? FileContent
μ AudioContent
μ¬μ΄μμ λ°μ΄ν°κ° μ΄λ»κ² νλ₯΄λμ§ μ¬μ ν νΌλμ€λ¬μ μ£μ‘ν©λλ€.
μ κ·Έλ. μ΄κ²μ μ½κ° μ΄λ¦¬μκ³ νμ€ν λ΄ μλͺ»μ λλ€. AudioContentλ λ΄κ° μμ±ν POCλ‘ μ€μ λ‘ λ§μ€ν°μ μλ₯ν μλλ μμμ§λ§ λ°μ΄λ리 νμΌ μ€νΈλ¦¬λ° μ§μμ λν κ°μ μ¬νμ ν μ€νΈν λ λ³ν©νμ΅λλ€.
λ¬Έμ λ FileContentκ° κΈ°λ³Έμ μΌλ‘ νμ΄νΌνμΌμ mimetype νλλ₯Ό μ΄ν΄λ³Έ λ€μ μ΄λ₯Ό κΈ°λ°μΌλ‘ μ½ν μΈ μ νμ μ ννμ¬ AudioContentλ₯Ό λννλ€λ κ²μ λλ€(https://github.com/automerge/pushpin/blob/7b1fb02912198c525bf080edd5d14d48e538b729/src/λ₯Ό λ°λ₯΄μμμ€). μλ λ°©μμ λ³΄λ €λ©΄ content-types/files/FileContent.tsx#L72). μ¦, μ€μ λ‘λ νμ λν FileContentμ minWidthλ₯Ό μ¬μ©ν©λλ€.
μ΄ λ¬Έμ λ₯Ό μμ νλ κ²μ 볡μ‘νμ§ μμ§λ§ μ¬μν μΌμ μλλ©° μ²μμλ λκ΅°κ°κ° μ€μ λ‘ μ΄ κΈ°λ₯μ μ¬μ©νκ³ μλ€κ³ νμ νμ§ μμκΈ° λλ¬Έμ ν΄κ²°νμ§ λͺ»νμ΅λλ€... μμ νλ λμ ν κ°μ§ μ΅μ μ λ€μμ ν¬ν¨νλ κ²μ λλ€. μ½κ°μ μΆκ° λ©νλ°μ΄ν°/곡κ°μ μ±μΈ μ μλλ‘ λ λ§μ UI μμ μ§ν©μ μ ννμκ² μ΅λκΉ? μμμ, λλ μμ, νμ§λ§ μ°λ¦¬κ° 보λμμ μ νν μΉ΄λ μΈνΈλ₯Ό λ°©μ‘νλ κ²μ²λΌ μ€λμ€ νμΌμμ μ¬λ¬λΆμ΄ μλ μμΉλ₯Ό λ°©μ‘νκΈ° μμνμ¬ λ€λ₯Έ μ¬λλ€μ΄ νΈλμμ μ΄λμ μλμ§ λ³Ό μ μμ΅λλ€(μλ₯Ό λ€μ΄, μμμ νμΊμ€νΈ μ¬μ© μ¬λ‘?)
λ κ°μ§ μ κ·Ό λ°©μ(λμ΄ μ€μ λ²κ·Έ μμ λλ AudioContent κ°μ )μ μ ννκ³ ν΄κ²°νκ³ μΆμ κ²½μ° λμμ μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€. μ΄λ μͺ½μ΄λ μ’μ μκ·λͺ¨ νλ‘μ νΈμ¬μΌ ν©λλ€.
μΆκ° λ©νλ°μ΄ν°/λΈλ‘λμΊμ€ν μ μΆκ°νλ κ²μ λ©μ§ μΌμ²λΌ λ€λ¦½λλ€! μΉ΄λ μ ν λ°©μ‘ λ‘μ§μ μ΄λ€ νμΌμ μ°ΎμμΌ νλμ?
λν μ€λμ€μ νΉμ μκ°μ μ°κ²°λ μ¬μ΄λν΄λΌμ°λ μ€νμΌμ λκΈμ λν΄ μ΄λ»κ² μκ°νμλμ? μλλ©΄ μ€λ λμ κΈ°λ₯μ λ무 λ§μ΄ 볡μ νκ³ μμ΅λκΉ? μλ₯Ό λ€μ΄ μ΄μ κ°μ λ¬Έμλ³ μ€νμΌ λκΈ(λλ μΈμ€νκ·Έλ¨ νκ·Έμ κ°μ΄ XY μ’νκ° μλ μ΄λ―Έμ§μ λν λκΈ)μ ν₯λ―Έλ‘μ΄ μ’ λ₯μ λ―Έλμ΄λ³ λνλ₯Ό κ°λ₯νκ² ν μ μλ€κ³ μκ°ν©λλ€.
λλ μ§μ₯ μ²λΌ λλ κ²μ λλ€. μκ° μ½λ©λ μ£Όμμ λΆλͺ ν λ¬Έμμ μ΄λ»κ²λ μ μ₯λμ΄μΌ ν©λλ€... μμμ λ΄μ©? λ무 λ―Έμ³€λμ?
μ²μ·¨ μμΉλ₯Ό λΈλ‘λμΊμ€νΈνλ €λ©΄ μ¬μ©μ ID, deviceid λ° μμμ μΆκ° JSON μΈμ½λ© κ°λ₯ μ νμ λΈλ‘λμΊμ€νΈνλ "Presence"λ₯Ό νΌμ΄μκ² λ³΄λΌ μ μμ΅λλ€. BoardCardμμ μ ν μμμ λλ£μκ² λΈλ‘λμΊμ€νΈν©λλ€. μ΄ μ½λλ μ‘°κΈ μ΄μνμ§λ§ https://github.com/automerge/pushpin/blob/73193adc907b3c7c109b5f14453f9a838469f02b/src/renderer/components/content-types/board/Bond μμ usePresenceλ₯Ό μ΄ν΄λ³΄μΈμ.
'μμμ μ½ν
μΈ 'λ { comment: string, time: number, author: Contact}
μ λ°°μ΄κ³Ό ν΄λΉ μ€λμ€μ hypermergeUrl
IDλ₯Ό κ°μ§ μλ‘μ΄ μ½ν
μΈ μ ν(μ: audioComments
)μ μλ―Έν©λκΉ? μλλ©΄ AudioContent
μ체μ μ°κ²°λ { comment: string, time: number, author: Contact}
μ λ°°μ΄λ§ μμ΅λκΉ? νμ΄νΌνμΌμ μμμ JSONμ 첨λΆν μ μμ΅λκΉ? μ£μ‘ν©λλ€. μ΄ μν€ν
μ²κ° μ΄λ»κ² μλνλμ§ μμ§ λ°°μ°λ μ€μ
λλ€.
ThreadContent, TextContent, ImageContent λ±κ³Ό κ°μ μ£Όμμ μμμ μ νμΌλ‘ λ§λ€ μ μμ΅λκΉ?
(μΆμ : ARCHITECTURE.mdλ₯Ό μ½μ§ μμλ€λ©΄ μμ€ν μ΄ λ°°νμμ μ΄λ»κ² μλνλμ§ λΉ¨λ¦¬ μ΄ν΄ν μ μμ κ²μ λλ€.)
(μλ λ¬Έμ μμ κ½€ λ©λ¦¬ μ¬ννκΈ° λλ¬Έμ μ΄κ²μ slackμΌλ‘ μ΄λ)
κ°μ₯ μ μ©ν λκΈ
ThreadContent, TextContent, ImageContent λ±κ³Ό κ°μ μ£Όμμ μμμ μ νμΌλ‘ λ§λ€ μ μμ΅λκΉ?
(μΆμ : ARCHITECTURE.mdλ₯Ό μ½μ§ μμλ€λ©΄ μμ€ν μ΄ λ°°νμμ μ΄λ»κ² μλνλμ§ λΉ¨λ¦¬ μ΄ν΄ν μ μμ κ²μ λλ€.)