/post
κ²½λ‘μ λ³Έλ¬Έ μΉμ
"μΉμ
4"μμ μ΄ μ€λ₯λ‘ μ΄λ―Έμ§ μ
λ‘λκ° μ€ν¨ν©λλ€.
μ΄ μΈμ https://publiclab.org/ , κ·Έκ²μ 볡μ ν μ μμλ€ https://unstable.publiclab.org λ‘컬
μ°Έκ³ : μ΄λ―Έμ§ μ
λ‘λλ /post
μ "μΉμ
2"μμ μ λλ‘ μλν©λλ€.
ν
νλ¦Ώ: https://github.com/publiclab/plots2/blob/main/app/views/editor/rich.html.erb
λν μ¬μν λ¬Έμ μ λν΄μλ #9442λ₯Ό μ°Έμ‘°νμμμ€.
@waridrox κ°μ¬
λ¬Έμ λ₯Ό μΆκ°λ‘ λλ²κ·Ένλ €κ³ νλ©΄ λ‘컬 νμΌ μ μ₯μμμ μ΄λ―Έμ§λ₯Ό μ
λ‘λν λ λ°μν μ€λ₯κ°
Paperclip::Errors::CommandNotFoundError: Could not run the 'identify' command. Please install ImageMagick.
λ‘컬 κ°λ° νκ²½μμ. μ΄κ²μ νμΌ μ
λ‘λλ₯Ό μ²λ¦¬νλ paperclip
gemμ λν μλ‘μ΄ μ’
μμ±μ΄λΌκ³ μκ°ν©λλ€.
sudo apt-get install imagemagick
λλ brew install imagemagick
λͺ
λ ΉμΌλ‘ imagemagick
λ₯Ό μ€μΉν ν development.rb
νμΌμ μ΄ λ μ€μ μ½λλ₯Ό μΆκ°νμ΅λλ€.
Paperclip.options[:image_magick_path] = "/opt/ImageMagick/bin"
Paperclip.options[:command_path] = "/opt/ImageMagick/bin"
κ·Έ ν λλ λ¨μν μλ²λ₯Ό λ€μ μμνκ³ jpeg
, png
λ° gif
μ κ°μ νμΌ νμμΌλ‘ νμΌ μ
λ‘λκ° λ€μ μλνμ΅λλ€. λ€μμ λμΌν λ΄μ©μ
λλ€.
stackoverflowμ _μ΄ μ€λ λ_ μμ νλ‘λμ μ±μ λ³κ²½ μ¬νμ λ°μνκΈ° μν΄ production.rbμλ μ΄ λ μ€μ μΆκ°ν΄μΌ ν©λλ€.
λν https://github.com/publiclab/plots2/blob/main/doc/PREREQUISITES.md#image -libraries-optionalμ image-magickμ μ€μΉνλ μ νμ 맀κ°λ³μλ‘ μΈν΄ μ΄ λμμ΄ μ²μμ κ΄μ°°λμμ΅λλ€.
@waridrox μκ² κ°μ¬ν©λλ€. λ³κ²½ μ¬νμ κ°μ Έμλλ° μ¬μ ν μ€λ₯κ° λ°μν©λλ€. λ€λ₯Έ μ¬λμ΄ μλν μ μμκΉμ? κ°μ¬
μ π μ λ§ μ£μ‘ν©λλ€. κ·Έλ¬λ©΄ νμ λλλ € μ£ΌμΈμ. κ·Έλλ λ‘컬μμ μλν©λκΉ? sudo apt-get update
λ¨Όμ μλν λ€μ sudo apt-get install imagemagick
μλνλ©΄ λμμ΄ λ μ μμ΅λλ€...
μλ λͺ¨λ, λ‘컬μμλ κ·Έκ²μ΄ imagemagickμ΄μ§λ§(λλ imagemagickμ΄ μλ) μ΄λ μ λ μ΄ν΄κ° λμ§λ§ μμ μ μΈ μνμμλ μ€μΉλμ΄μΌ ν©λλ€. μμ μ μΈ λ²κ·ΈμΈμ§ κΆκΈν©λλ€. Sentry.ioμμ κ΅μ°¨ νμΈν΄μΌ ν©λλ€. μΈμ€ μ‘μΈμ€ κΆνμ΄ μμ΅λκΉ?
μ°Ύμμ£Όμ μ λ¬Έμνν΄μ£Όμ μ κ°μ¬ν©λλ€!!
νλ‘ν μ¬μ§(μ€νΈ λ° κ³΅κ²©μΌλ‘ μΈν κ²½μ°κ° λ§μ)μ μ μΈνκ³ μ΄λ―Έμ§ μ λ‘λ μ μΌνΈλ¦¬ μ€λ₯κ° νμλμ§ μμ΅λλ€.
μ€λ₯μ κ²½λ‘λ 무μμ λκΉ? 500 μ€λ₯μΈκ°μ?
μ£μ‘ν©λλ€. /μ΅κ·Ό/ μ€λ₯λ₯Ό μλ―Έν©λλ€.
@waridrox λ‘컬μμ μλνμ§ μμμ λ²μ μ΄ μλͺ»λμμ μ μμ΅λλ€. @jywarren λ΄ μͺ½μμλ 302 μ€λ₯κ° λ
μ 302μλ¬ μ§μ§... π΅οΈ
μ κ·Έλ΄ μ μλμ§ μ΄ν΄λ³΄κ² μ΅λλ€. κ°μ¬ν©λλ€!
GitPodμμ μ€ννμ¬ 302λ₯Ό μ¬νν μ μλμ§ νμΈνλ €κ³ ν©λλ€...
μ’μμ, GitPodμμ λ‘κ·Έλ₯Ό λ°μμ΅λλ€!
Started POST "/images" for 10.4.6.182 at 2021-04-13 18:36:40 +0000
Cannot render console from 10.4.0.249! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by ImagesController#create as JSON
Parameters: {"nid"=>"null", "image"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x00007f444ce23c30 @tempfile=#<Tempfile:/tmp/RackMultipart20210413-4879-sla487.jpg>, @original_filename="11aa-love-ryan2-720.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image[photo]\"; filename=\"11aa-love-ryan2-720.jpg\"\r\nContent-Type: image/jpeg\r\n">}}
Can't verify CSRF token authenticity.
Redirected to https://3000-aquamarine-bass-qsunlo8p.ws-us03.gitpod.io/login?return_to=/images
Filter chain halted as :require_user rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.0ms)
Started GET "/login?return_to=/images" for 10.4.6.182 at 2021-04-13 18:36:40 +0000
Cannot render console from 10.4.0.249! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by UserSessionsController#new as JSON
Parameters: {"return_to"=>"/images"}
User Load (0.5ms) SELECT `rusers`.* FROM `rusers` WHERE `rusers`.`id` = 1 LIMIT 1
(0.2ms) BEGIN
User Update (0.5ms) UPDATE `rusers` SET `last_request_at` = '2021-04-13 18:36:40', `updated_at` = '2021-04-13 18:36:40' WHERE `rusers`.`id` = 1
(28.6ms) COMMIT
Redirected to https://localhost/home?return_to=%2Flogin
Filter chain halted as :require_no_user rendered or redirected
Completed 302 Found in 35ms (ActiveRecord: 29.7ms)
μκ² μ΅λλ€. λ‘κ·ΈμΈνλλ‘ λ¦¬λλ μ λλ μ΄μ λ 무μμ λκΉ? μ°Ύλ μ€...
CSRF ν ν°μ΄ μλνμ§ μλ κ² κ°μ΅λλ€... 보μ...
μ°λ¦¬λ μ¬κΈ°μ μ λ¬ν©λλ€.
$('meta[name="csrf-token"]').attr('content')
ν ν°μ μ¬λ°λ₯΄κ² κ°μ Έμ€λ―λ‘ κ·Έκ² μλλλ€...
GitPodμμλ κΈ°λ³Έ μ΄λ―Έμ§ μ λ‘λκ° μλν©λλ€. λμΌν 컨νΈλ‘€λ¬λ₯Ό μ¬μ©νλ―λ‘ λ¬Έμ λ νΈμ§κΈ°μ μμ μλ ν μ€νΈ λͺ¨λ μ½λ μ체μ μλ κ² κ°μ΅λλ€.
Started POST "/images" for 10.4.0.248 at 2021-04-13 18:47:45 +0000
Cannot render console from 10.4.6.181! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by ImagesController#create as JSON
Parameters: {"authenticity_token"=>"5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg==", "uid"=>"1", "image"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x000055644bef1898 @tempfile=#<Tempfile:/tmp/RackMultipart20210413-5664-bsht8f.jpg>, @original_filename="11aa-love-ryan2-720.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image[photo]\"; filename=\"11aa-love-ryan2-720.jpg\"\r\nContent-Type: image/jpeg\r\n">}}
κ·Έλ¦¬κ³ μ€μ λ‘ κΈ°λ³Έ μ΄λ―Έμ§ μ λ‘λλ μμ²μ ν ν°μ μ¬μ©ν©λλ€.
λ€μμ μ¬μ©νμ¬ μ¬λ°λ₯΄κ² κ°μ Έμ΅λλ€.
editor.options.mainImageModule.token
"5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg=="
νμΈνμ΅λλ€. κΈ°λ³Έ μ΄λ―Έμ§ μ λ‘λμλ μμ μμ²μ λ€μ 맀κ°λ³μ μΈνΈκ° μμ΅λλ€.
authenticity_token: 5Z5plBlzFXbu2qCKPTDZYa54DWaNn556hs9FzyvH2U8NDMabePLVh1RlBuhkRR+Ej+kgI/hLIAm9LcdrEZv4lg==
uid: 1
image[photo]: (binary)
μΈλΌμΈ μ΄λ―Έμ§ μ λ‘λμλ λ€μ νλͺ©λ§ μμ΅λλ€.
nid: null
image[photo]: (binary)
μ½λμ ν΄λΉ μΉμ μ λν μ΅κ·Ό λ³κ²½ μ¬νκ³Ό λͺ¨λ μ΅μ μ체λ₯Ό νμΈνμ¬ μμ±μμμ μ μ νκ² μ μ₯/μ λ¬λλμ§ νμΈν©λλ€.
μ, λ₯ λ²κ·Έ. https://github.com/jywarren/woofmark/pull/2 λ₯Ό ν΅ν΄ woofmark
λΌμ΄λΈλ¬λ¦¬λ‘ λ€μ μΆμ : https://github.com/bevacqua/woofmark/pull/44
woofmark
μ λΆκΈ°μ μμ΅λλ€.
https://github.com/jywarren/woofmark/blob/plots2/src/prompts/prompt.js#L133
28μΌ μ μ μ΄ PRμ΄ κ΄λ ¨μ΄ μμ μ μλ€κ³ μκ°ν©λλ€. μ°λ¦¬κ° μ¬μ©νλ woofmark
λΆκΈ°μ λν λ§μ§λ§ λ³κ²½μ 2020λ
9μμ λ°μνμ΅λλ€.
woofmark
μ μ½λμ μ무 κ²λ νμλμ§ μμ΅λλ€. μ΄μ 2κ°μ κ²½λ‘κ° μμ΅λλ€.
upload.xhrOptions
맀κ°λ³μλ₯Ό μΆμ νκ³ μ¬λ°λ₯΄κ² κ°μ Έμλμ§ νμΈxhr
npm λͺ¨λμ΄ λ³κ²½λμλμ§ νμΈhttps://www.npmjs.com/package/xhr μ 5κ°μ μ μ 2.6μ κ²μνμ§λ§ μ°λ¦¬ νλ‘μ νΈμμ μκ°μ λμ 2.2.1μ μ μ§νμ΅λλ€. package-lock.jsonμμ νμΈλ¨
μ, upload.xhrOptions
param beforeSend
λ JS μ½μμμ ν
μ€νΈν λλ‘ woofmark
λ‘ λ§λλλ€.
μ€μ λ‘ μΆκ° ν€λλ₯Ό μμ±ν©λκΉ?
xhrOptions: {
beforeSend: function(xhr) { xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')) }
},
λ§μμ¬ μ΄κ²μ΄ μΈμ μλμ λ©μ·λμ§ λͺ¨λ₯΄κ² μ§λ§ μ μ¬μ μΌλ‘ λ€λ₯Έ formData
맀κ°λ³μλ₯Ό μΆκ°νκ³ κ·Έλ κ² ν μ μλ€κ³ μκ°ν©λλ€??? κ·Έλ¬λ λ€λ₯Έ μ¬λλ€κ³Ό ν¨κ» μ λ¬λλμ§ λλ xhr libκ° μ΄λ₯Ό 무μν μ§ νμ μ΄ μμ§ μμ΅λκΉ?
μ΄μ νλ 2020λ 11μ 5μΌ μΌμ΄λ κ²μ΄λ€ μ§μ https://github.com/publiclab/PublicLab.Editor/releases/tag/v3.0 28 μΌ μ λλ https://github.com/publiclab/plots2/pull/ 9323
μ΄ μ€μ λ°λ₯΄λ©΄ formData
κ° μ μμ μΌλ‘ μ λ¬λμ΄μΌ νλ€κ³ μκ°ν©λλ€.
https://github.com/bevacqua/woofmark/pull/44/files#diff -b70752c6e4fb751c6aa381f57afac66c25cc2d401b141b03e1751d81e60efcd2R216
GitPodμμ μλν©λλ€:
formData: {nid: null, authenticity_token: _module.options.token},
... ν΄λλ€:
μμ ν΄κ²°λ©λλ€ https://github.com/publiclab/PublicLab.Editor/pull/712 , 3.0.3μ μΆμνκ³ , λν λ³λμ μΆκ° formData
μ ν ν°μ https://github.com/publiclab/plots2 /λΉκΈ°κΈ°/9504.
μν΄!
μμ μ μΌλ‘ μλ£ λ° νμΈλμμ΅λλ€!
@publiclab-mimiκ° μ€λ λ³΄κ³ νμ΅λλ€.
μ°κ΅¬ λ ΈνΈ νΈμ§κΈ°μμ JPEG, PDF λλ PNGλ₯Ό μ λ‘λν μ μμ΅λλ€.
Google Chrome λ° Safariμμ λλκ·Έ μ€ λλ‘ λ° νμ μ΅μ
@ebarry , νμ¬ λ²μ μλ λ³κ²½ μ¬νμ λΌμ΄λΈ λ²μ μΌλ‘ νΈμνλ λ° νμν λ²νΌ μκ°μΌλ‘ μΈν΄ μ¬μ ν μμ λ³κ²½ μ¬νμ΄ μλ€κ³ μκ°ν©λλ€. μ΄λ―Έμ§/νμΌ μ λ‘λκ° μμ λ²μ κ³Ό λ κ±°μ λ²μ μμ μλνκΈ° λλ¬Έμ λλ€.
μ μ½λκ° μ΄μ λ°€μ 곡κ°λμμ΅λλ€! μ΄ν΄λ³΄λ 500 μ€λ₯λΌλ μλ‘μ΄ μ€λ₯κ° μμ΅λλ€.
Cessκ° μ°Ύμ κ²κ³Ό λμΌν 302μΈ μ΄κ²μΌλ‘ μμν©λλ€.
κ·Έλ° λ€μ μ΄ μλ‘μ΄ 500 μ€λ₯λ‘ λ¦¬λλ μ λμμ΅λλ€.
μ€μ λ‘ λ‘κ·ΈμΈμ μ±κ³΅νμ λλΌκ³ μκ°νμ§λ§ μ΄λ―Έ λ‘κ·ΈμΈνκΈ° λλ¬Έμ μ΄μν©λκΉ?
Sentryκ° μ¬κΈ°μ κΈ°λ‘νλ€κ³ μκ°νμ§λ§ λ‘κ·ΈμΈ μλ μ νμ μ€λ₯κ° λ°μνλμ§ νμ€νμ§ μμ΅λλ€.
https://sentry.io/share/issue/13e10e65210c4ceb9860ec687482d9b7/
```
ActionView::ν
νλ¦Ώ λλ½
{:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :κ° μλ ν/ν ν
νλ¦Ώ λλ½: 루λΉ, :컀νΌ, :jbuilder]}. κ²μ μμΉ:
ν, μ΄κ±Έ μΆμ νλλ° λ¬Έμ κ° μμ΄μ GitPodμμ λ€μ μ¬μν΄ λ³ΌκΉ???
μ’μ, @icarito μ λλ μ€ μ
λ°μ΄νΈ λ¬Έμ λ₯Ό ν΄κ²°νμ¬ μ€μ 3.0.3
νΈμ§κΈ° μ½λλ₯Ό κ°μ Έ μ€κ³ νμΈν λ€μ SSLκ³Ό κ΄λ ¨λ nginx
κ΅¬μ± λ¬Έμ λ₯Ό νλ λ μμ νκ³ μ§κΈμ
λλ€. λΌμ΄λΈ μ¬μ΄νΈμμ μμ
μ€μ
λλ€. κ°μ¬ν©λλ€!
: κ·Έλ:: κ·Έλ:: κ·Έλ¬λ©΄:
λλ°!!! κ°μ¬ν©λλ€
κ°μ₯ μ μ©ν λκΈ
μ’μ, @icarito μ λλ μ€ μ λ°μ΄νΈ λ¬Έμ λ₯Ό ν΄κ²°νμ¬ μ€μ
3.0.3
νΈμ§κΈ° μ½λλ₯Ό κ°μ Έ μ€κ³ νμΈν λ€μ SSLκ³Ό κ΄λ ¨λnginx
κ΅¬μ± λ¬Έμ λ₯Ό νλ λ μμ νκ³ μ§κΈμ λλ€. λΌμ΄λΈ μ¬μ΄νΈμμ μμ μ€μ λλ€. κ°μ¬ν©λλ€!