Giter VIP home page Giter VIP logo

eddiner's People

Contributors

edginer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

eddiner's Issues

twinkleのバグ

twinkleでレス数がえらいこっちゃ
注: この項目は投げやりです^^;

何人かに聞いた話だと、容量の多いスレをContent-Encoding: gzipで返すと、レス数がバイバインになるらしいよ。私はよくわかんないんだけどね。

なんかAccept-Encoding: gzipなのにRangeも指定してるんじゃないかな?Monazilla.orgの開発資料(Wayback Machine)には「差分を圧縮して受け取ることはできないためAccept-Encoding: gzipは付けません」って書いてあるのにね。

なので普段はgzipで返しつつ、Range指定された時はContent-Encodingなしで返す方法を調べたよ。途中で飽きたけど。
たぶん「RewriteCond %{HTTP:range}」を使えばいいんじゃないかな。これに「RewriteRule」の「E」で、「no-gzip」をセットしてやれば、なんかうまくいきそうなふいんきなくなくない?しらんけど^^;

引用先
https://osdn.net/projects/zerochplus/wiki/FAQ

対応優先度は低いが一応

規制ユーザの指定

これ規制範囲をどう指定するかなどということを考える必要があり要検討

Cloudflareにデプロイすると「Error 1101 Worker threw exception」とエラーが表示される

バグの概要
Cloudflareにプロジェクトをデプロイすると「Error 1101 Worker threw exception」とエラーが表示されます

再現方法

  1. README.mdのインストール方法の手順に従って、1から手順を実行しました
  2. 手順2は該当のファイル(/src/schema.sql)がなかったため、下記のようにコマンドを読み替えました
  3. デプロイしたページのTOPページを閲覧するとCloudflareからError 1101 Worker threw exceptionと表示されます
$ npx wrangler d1 execute zerochedge-d1 --file=./migrations/initial.sql
$ npx wrangler d1 execute zerochedge-d1 --file=./migrations/threads/add-attributes-into-threads_2023-12-24/up.sql
$ npx wrangler deploy

本来あるべき振る舞い
TOPページが表示される

スクリーンショット
スクリーンショット 2024-03-26 15 43 06

実行環境
以下を参考に埋めてください

  • OS: macOS 14.4
  • Browser Google Chrome
  • Browser Version 123.0.6312.59
  • Node.js 20.11.1
$ cargo --version
cargo 1.77.0 (3fe68eabf 2024-02-29)

$ rustc --version
rustc 1.77.0 (aedd173a2 2024-03-17)

$ rustdoc --version
rustdoc 1.77.0 (aedd173a2 2024-03-17)

その他
wranglerは最新版に更新済み(package.json記載の2.13.0だとnpx wrangler deployが動かないため)

wrangler devでローカル環境でコマンドを実行すると下記のエラーが表示されます(本番でもThe script will never generate a response.がダッシュボードのログに記録されているため、ローカル環境で発生しているものと同一のエラーと思われます)

Error: The script will never generate a response.
    at async Object.fetch (file:///Users/hogehoge/eddiner/node_modules/miniflare/dist/src/workers/core/entry.worker.js:895:22)

NGワードの指定

  • 二つの範囲を指定可能にしたい
    • 板単位
      • #6次第になる
    • 全体に対して
    • (5chのようなカテゴリ単位)
      • そのような規模は想定していないのでやらない

2つのフォーマットをサポートしたい

  • そのままの平文
  • 正規表現

短時間に書き込みが集中した時のバグ

バグの概要
短時間に書き込みが集中した時に、書き込みが集中したスレと一部のスレだけが重くなる
また、書き込みが集中したスレが完走したはずなのに1000までレスが表示されない

今回の場合は、MLBスレに書き込みが集中し、MLB実況スレと有吉の壁実況スレなどが重くなった(相撲実況スレは軽いままだった)
MLBスレは完走したものの985レス目までしか表示されなかった

該当するスレ
【NHK,Abema】MLBソウルシリーズ開幕戦LAD×SD【大谷2番DH,ダルビッシュ先発】★7
http://bbs.eddibb.cc/test/read.cgi/liveedge/1710929272/

【日テレ】有吉の壁
http://bbs.eddibb.cc/test/read.cgi/liveedge/1710928741/

大相撲春場所十一日目 Part4
http://bbs.eddibb.cc/test/read.cgi/liveedge/1710924925/

再現方法
再現不能(また短時間に書き込みが集中すれば再現されるかも)

本来あるべき振る舞い
スレが正常に閲覧でき、レスが1000まで表示される

スクリーンショット
スレが985までしか表示されないスクショ
https://i.imgur.com/lkYdFAc.jpg

実行環境
以下を参考に埋めてください

  • OS: [Android10]
  • Browser: [chMate]
  • Browser Version: [0.8.10.182]

実装済み機能/ロードマップ

実装済み機能

  • 基本的な書き込み・読み込み・スレ立て
  • 認証機能
    • 直接アクセス認証
    • コード認証
  • スレッド一覧圧縮
  • トリップの実装
  • Webブラウザ版の実装
  • 過去ログ機能実装
    • dat落ち、過去ログ検索機能を含まない
  • 複数板サポート
  • キャップの実装

実装予定機能 (比較的容易なもの)

  • 規制ユーザ・NGワードなどの指定
  • 各種コマンドの実装
    • コマンドは実装するだけ実装して、有効化するかは設定ファイル等で選択
  • 落ちないスレ、スレ一覧の常に上位/下位に居続けるスレの実装
    • アナウンスや認証などに使える
  • sageの実装

実装予定機能 (容易ではないもの)

  • 管理画面の実装
  • RESTful/GraphQLなどによるAPI提供

実装予定機能ではないがあると便利なもの

  • DBのマイグレーションツール
    • 探してないだけであるのかもしれない
    • これはDB分割の結果として採用が困難になりました

実装予定でない機能

  • 過去ログ検索
    • スレッド名で過去ログを検索する機能は管理画面で実装済みだが公開予定はない
    • レスポンスの全文検索はElasticsearchとか使わなければ厳しそうなので未実装予定

バグ

  • twinkleで無限増殖するバグ
    • おおよそ対処完了
  • ローカルルール(head.txt)がmateからは見れない
    • HTTPSが関わってそうな気配で面倒

twinkleのバグ part2

チンクルはRFC 3986に従っていないので絵文字を使ったレスを行うとレスの一部が消滅する可能性があります
UA偽装している相手を考慮するかはあとにしてUAがチンクルだった場合は分けて処理を変更したほうがいいかもしれません
参考
https://osdn.net/projects/zerochplus/wiki/FAQ#

UAのパターン等を調べるために以下も提示しておきます
チンクルのhttpヘッダーのデータのdelightの管理画面から見れるデータのサンプル

User-Agent:Monazilla/1.00 twinkle/11.3 iOS16.1.1 iPhone12,8
Sec-CH-UA:Monazilla/1.00 twinkle/11.3 iOS16.1.1 iPhone12,8
ACCEPT:/jaapplication/x-www-form-urlencoded
IPCOUNTRY:JP 認証時データ:ISPJP日本語地名 KDDI ワッチョイ Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1text/html,application/xhtml+xml,application/xml;q=0.9,
/
;q=0.8jaapplication/x-www-form-urlencoded
ですのでSec-CH-UAとUser-Agent辺りをみればそこそこまともに拾えるかもしれません

Originally posted by @apple in //issues/20#issuecomment-198

6桁の認証コードを入力後にエラーが表示され認証ができない

バグの概要
6桁の認証コードを入力後に下記エラーが表示される
「認証に失敗しました

Reason: 認証コード、もしくはIPアドレスが一致しません」

再現方法
1.JaneXeno x64 230826 でエッジ版の任意のスレッドに書き込み
2.表示された6桁のコードを認証URLのページに書き込む
3.バグの概要に記載したエラーが表示される

本来あるべき振る舞い
エラーが表示されず認証が成功すること

スクリーンショット
バグに関連するスクリーンショットが添付可能な場合は、添付を行ってください
https://puu.sh/K3YCw/9ad0498662.zip

実行環境
以下を参考に埋めてください

  • Windows10 Pro 22H2
  • JaneXeno x64
  • 230826

その他
何かあれば

sageの実装

テーブルthreadsにsageではないレスがされた時間を記録して、その時間でソートするのがぱっと思いついた案

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.