Skip to content

Commit

Permalink
Update changelog.md
Browse files Browse the repository at this point in the history
  • Loading branch information
satopian authored Nov 13, 2023
1 parent 0d6201c commit ccea7b3
Showing 1 changed file with 127 additions and 0 deletions.
127 changes: 127 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,130 @@
## 2023/11/04 v6.12.1
お絵かきアプリから送信されたPNG画像が破損していたら、お絵かき画面から移動せず、スクリーンショットの撮影を促すエラーメッセージを出すようになりました。

![image](https://github.com/satopian/Petit_Note/assets/44894014/8700850c-ac51-4913-9c8b-2dd394c5d84e)

`ImageCreateFromPNG()`で画像を生成する事ができるかどうかチェックする事で、画像が破損しているかどうかを検出する事に成功しました。
これにより、画像が破損した状態で投稿され作品が失われる確率をさげる事ができました。
psdファイルやchiファイル等アプリ固有ファイルのチェックは含まれていません。固有ファイルが破損して、同時に画像を上のレイヤーで隠している場合は、画像の復旧ができませんのでご了承ください。
破損状況を確認する事ができたのはPNG形式の画像のみです。

## 2023/11/04 v6.11.11
### ペイントアプリを更新
- ChickenPaintを更新しました。
- klecksを更新しました。

## 2023/11/02 v6.11.10
### Klecks更新
- Klecksを最新版に更新しました。
### 改善
JPEG画像が回転していたり、位置情報がついている事が判明した時の処理が改善されました。
これまでは、回転または位置情報を検出した時には同じサイズのJPEG画像を出力していました。
今回の更新で`MAX_W_PX``MAX_H_PX`で指定した値(例えば1024px)で縮小されるようになりました。
これにより、幅と高さが、指定した値を超える時の二度目の画像処理を行わなくてもすむようになります。
JPEG画像を作成して、さらにJPEG画像を作成する処理の無駄と画質の劣化どちらも解決します。

## 2023/10/29 v6.11.5
### バグ修正
- Tegakiのみを使う設定の時にお絵かき機能が有効にならないバグを修正しました。
### CheerpJ v3対応のための準備
- CheerpJ v3で動的パレットの明るさの明+明-が動くようになります。
しかしながら、掲示板のJavaScriptにも手を加える必要があり、なおかつEdgeのIEモードやFirefox51等でオラクルのJava8を使った時にもパレットを動作させる必要があります。
それぞれに対応するため処理の追加と振り分けができるようにしました。
具体的にはJavaScriptの`await`が使用可能かどうかUAから判断して、利用可能な場合は`async``await`をJavaScriptに追加します。

### Exifを解析
- Exifを解析して位置情報が検出された時はGDで作成した画像で上書きして位置情報を削除するようにしました。
- Exifに画像の回転情報が入っている時は、画像の向きを修正した新しい画像を作成するようにしました。
これにより例えばスマホの縦長の写真 をアップロードした時に、横長になってしまう問題が解決するかもしれません。

### 大きすぎる画像を適正サイズに

- デジカメ写真や印刷用途の解像度のイラストはWebへのアップロードには適していない場合があります。
- 今回の更新では、Petit Noteですでに採用ずみの処理を使い、1024px以上の画像を1024px以内に収まるようにします。
これにより、「大きな画像はアップロードする前に縮小してください」とお願いしなくても、自動的に適正サイズに縮小されます。
ただし、あまりにも過大なファイルサイズの場合はサーバで処理できずアップロードがそもそもできない事が多いので、すべてのケースをカバーできる訳ではありません。

### config.phpに新規設定項目を追加

```
//アップロード時の幅と高さの最大サイズ これ以上は縮小
define("MAX_W_PX", "1024"); //幅
define("MAX_H_PX", "1024"); //高さ
```
添付した画像がこの幅と高さの範囲を超えていたらサムネイルではなく投稿される画像そのもののサイズが範囲内に収まるように縮小されます。
設定項目が存在しない場合は、幅、高さともに1024pxで固定になります。

## 2023/10/24 v6.10.8

mobile判定して、Javaのしぃペインター等のPC用のメニューを非表示にしていたJavaScriptの関数を外部化しました。
またそのJavaScriptの処理には関数名が必要ないため、アロー関数に置き換えられました。
`potiboard.php`の使用していないコードを削除しました。

テンプレートの更新が多めですが、かならず更新しなくてはならないというわけではなく、できるだけコードを繰り返しかかなくてすむようにするためのコードの整理になります。

テンプレートをカスタマイズしていない方は、`templates/`ディレクトリを上書きすればテンプレートの更新が終わります。

## 2023/10/24 v6.10.7
v6.10.6で、しぃペインターが起動しなくなっていたのを修正しました。

## 2023/10/23 v6.10.6
### Klecks更新
- Klecksを更新しました。
### コード整理
- CheerpJ v3のRC1がリリースされたため、CheerpJ v3にもv2にも対応できるようにペイント画面のJavaScriptを調整しました。
- PNG画像のファイルサイズが一定の容量を超過した時はjpegに変換してファイル容量を縮小する処理を関数化しました。

### PNGからJPEGに変換される条件が変わりました。

```
/アップロードしたPNG画像のファイルサイズが設定値より大きな時はJPEGに変換
//JPEGに変換した画像ともとのPNG画像を比較してファイルサイズが小さなほうを投稿します
//単位kb
define("IMAGE_SIZE", "512");
```
これまでは、お絵かき画像もアップロード画像もここで設定したファイルサイズを超える時はPNGからJPEGに変換していましたが、ここで設定した値の影響を受けるのはアップロード画像だけになりました。
お絵かき画像は例えば、上記設定の`"512"`kbを超えていてもPNG形式のまま保存されます。

```
//投稿容量制限 KB phpの設定により2Mまで
//PNG形式の画像をJPEGに変換する事でこの制限を回避できる場合はJPEGに変換します
define("MAX_KB", "1000");
```
投稿容量制限を超えてしまい、そのままではエラーになって投稿ができなくなる時は、お絵かき画像も、アップロード画像もPNGからJPEGに変換されます。
変換後投稿可能なファイルサイズに縮小されていればJPEG形式で投稿されます。

## 2023/10/21 v6.10.2
### お絵かきアプリの幅と高さの最小値が設定できるようになりました。
- お絵かきアプリの幅と高さの最低値はこの間300px固定でしたが、100x100pxの絵を描きたいという要望もあり、エンドユーザーの方が自分で改造しているケースがありました。
今回の更新で、幅と高さの最低値をconfig.phpで設定できるようになりました。
これにより、改造しなくても、100x100pxのサイズも選択可能になります。
極端な例になりますが、10x10pxの絵も描けます。
```
//お絵描き最小サイズ(これ以下は強制でこの値
define("PMIN_W", "300"); //幅
define("PMIN_H", "300"); //高さ
```
config.phpのどこでも構いませんので、上記設定項目を追加すれば、最小サイズの幅と高さを設定できます。
設定項目が存在しない時は、これまで通り最小値が300px固定になります。

- 幅300px以下の時にレイアウトが崩れていたPaintBBS NEOを独自にカスタマイズ
横幅が300px以下でも、操作に支障がでないようにPaintBBS NEOのCSSを調整しました。

![20231021_NEOキャンバスサイズ50px](https://github.com/satopian/poti-kaini/assets/44894014/567ba920-f213-4c7b-8efa-97a9bcafd07a)

これまでは、操作のためのボタンがキャンバスの内側に入り込んでいました。
ただし、この表示はオリジナルのPaintBBSと異なってしまうため、開発元のリポジトリにはプルリクエストを行わず、POTI-boardとPetit Note用の独自版とします。
といってもCSSを2行追加しただけであとは同じものです。

### メール通知機能のコードを整理
メール通知機能関連のコードを整理しました。削除できる箇所は削除し、未定義になる可能性のある箇所は未定義にならないように処理し、エスケープが必要な箇所にはエスケープ処理を追加しました。
メールで通知される記事のURLに投稿時刻のIDを追加して、URLをクリックした時に該当記事までスクロールするようにしました。

### ChickenPaintを更新
依存関係の脆弱性を修正して、再度ビルドしたChickenPaintを同梱しました。

## 2023/10/17 v6.09.0
### 改善
- レス返信画面の表示処理の高速化を行いました。
Expand Down

0 comments on commit ccea7b3

Please sign in to comment.