tdiary 5.5.1 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +2 -0
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +39 -40
  5. data/doc/HOWTO-make-theme.md +3 -3
  6. data/doc/UPGRADE.md +1 -1
  7. data/js/draft.js +152 -52
  8. data/js/image.js +127 -28
  9. data/lib/tdiary/admin.rb +11 -13
  10. data/lib/tdiary/application.rb +2 -7
  11. data/lib/tdiary/author_only_base.rb +78 -9
  12. data/lib/tdiary/base.rb +2 -2
  13. data/lib/tdiary/cgi_adapter.rb +7 -5
  14. data/lib/tdiary/cgi_compat.rb +27 -97
  15. data/lib/tdiary/configuration.rb +4 -0
  16. data/lib/tdiary/core_ext.rb +146 -1
  17. data/lib/tdiary/dispatcher/index_main.rb +5 -23
  18. data/lib/tdiary/dispatcher/update_main.rb +2 -17
  19. data/lib/tdiary/dispatcher.rb +29 -15
  20. data/lib/tdiary/filter/default.rb +2 -2
  21. data/lib/tdiary/filter/spam.rb +2 -2
  22. data/lib/tdiary/filter.rb +1 -1
  23. data/lib/tdiary/plugin/00default.rb +18 -3
  24. data/lib/tdiary/plugin/en/00default.rb +15 -0
  25. data/lib/tdiary/plugin/ja/00default.rb +15 -0
  26. data/lib/tdiary/plugin.rb +1 -1
  27. data/lib/tdiary/rack/error_handler.rb +36 -0
  28. data/lib/tdiary/rack.rb +1 -0
  29. data/lib/tdiary/request.rb +3 -2
  30. data/lib/tdiary/server.rb +25 -3
  31. data/lib/tdiary/version.rb +1 -1
  32. data/lib/tdiary/view.rb +33 -28
  33. data/lib/tdiary/view_helper.rb +10 -2
  34. data/lib/tdiary.rb +6 -1
  35. data/misc/plugin/amazon.rb +37 -11
  36. data/misc/plugin/amazon_rakuten.rb +75 -0
  37. data/misc/plugin/draft.rb +75 -0
  38. data/misc/plugin/en/image.rb +5 -0
  39. data/misc/plugin/en/makerss.rb +4 -0
  40. data/misc/plugin/image.rb +15 -4
  41. data/misc/plugin/ja/makerss.rb +3 -0
  42. data/misc/plugin/makerss.rb +6 -5
  43. data/tdiary.conf.sample +8 -0
  44. data/tdiary.conf.sample-en +8 -0
  45. data/theme/default/default.css +33 -8
  46. data/vendor/bundle/ruby/3.4.0/cache/net-imap-0.6.6.gem +0 -0
  47. data/vendor/bundle/ruby/3.4.0/cache/net-protocol-0.3.0.gem +0 -0
  48. data/vendor/bundle/ruby/3.4.0/cache/rack-3.2.7.gem +0 -0
  49. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/cgi/escape.so +0 -0
  50. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem_make.out +6 -6
  51. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/date_core.so +0 -0
  52. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem_make.out +6 -6
  53. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/mkmf.log +4 -4
  54. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/Makefile +3 -3
  55. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.so +0 -0
  56. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/Makefile +3 -3
  57. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date_core.so +0 -0
  58. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/Gemfile +3 -4
  59. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/README.md +1 -1
  60. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.6.6/Rakefile +24 -0
  61. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/command_data.rb +62 -92
  62. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/config/attr_accessors.rb +8 -9
  63. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/config/attr_inheritance.rb +64 -1
  64. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/config/attr_version_defaults.rb +1 -4
  65. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/config.rb +209 -35
  66. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/connection_state.rb +1 -1
  67. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/data_encoding.rb +127 -27
  68. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.6.6/lib/net/imap/errors.rb +372 -0
  69. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/esearch_result.rb +6 -0
  70. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/response_data.rb +90 -11
  71. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/response_parser/parser_utils.rb +14 -23
  72. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/response_parser.rb +41 -26
  73. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/response_reader.rb +16 -21
  74. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/scram_authenticator.rb +3 -3
  75. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/search_result.rb +11 -1
  76. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sequence_set.rb +620 -312
  77. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/uidplus_data.rb +2 -63
  78. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap.rb +279 -162
  79. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/net-imap.gemspec +1 -1
  80. data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/rakelib/rdoc.rake +1 -18
  81. data/vendor/bundle/ruby/3.4.0/gems/{net-protocol-0.2.2/LICENSE.txt → net-protocol-0.3.0/BSDL} +3 -3
  82. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.3.0/COPYING +56 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/{net-protocol-0.2.2 → net-protocol-0.3.0}/lib/net/protocol.rb +58 -4
  84. data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/CHANGELOG.md +54 -1
  85. data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/utils.rb +3 -3
  86. data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/version.rb +1 -1
  87. data/vendor/bundle/ruby/3.4.0/specifications/{net-imap-0.5.15.gemspec → net-imap-0.6.6.gemspec} +4 -4
  88. data/vendor/bundle/ruby/3.4.0/specifications/{net-protocol-0.2.2.gemspec → net-protocol-0.3.0.gemspec} +5 -5
  89. data/vendor/bundle/ruby/3.4.0/specifications/{rack-3.2.6.gemspec → rack-3.2.7.gemspec} +3 -3
  90. data/views/tdiary.rconf +2 -0
  91. metadata +128 -133
  92. data/misc/plugin/amp.rb +0 -118
  93. data/vendor/bundle/ruby/3.4.0/cache/net-imap-0.5.15.gem +0 -0
  94. data/vendor/bundle/ruby/3.4.0/cache/net-protocol-0.2.2.gem +0 -0
  95. data/vendor/bundle/ruby/3.4.0/cache/rack-3.2.6.gem +0 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/Rakefile +0 -13
  97. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_lite.rb +0 -226
  98. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/errors.rb +0 -118
  99. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Gemfile +0 -7
  100. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Rakefile +0 -10
  101. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/console +0 -14
  102. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/setup +0 -8
  103. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/net-protocol.gemspec +0 -33
  104. data/views/amp.rhtml +0 -34
  105. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/BSDL +0 -0
  106. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/COPYING +0 -0
  107. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/LICENSE.txt +0 -0
  108. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/docs/styles.css +0 -0
  109. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/authenticators.rb +0 -0
  110. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/config/attr_type_coercion.rb +0 -0
  111. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/deprecated_client_options.rb +0 -0
  112. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/fetch_data.rb +0 -0
  113. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/flags.rb +0 -0
  114. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/anonymous_authenticator.rb +0 -0
  115. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/authentication_exchange.rb +0 -0
  116. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/authenticators.rb +0 -0
  117. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/client_adapter.rb +0 -0
  118. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/cram_md5_authenticator.rb +0 -0
  119. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/digest_md5_authenticator.rb +0 -0
  120. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/external_authenticator.rb +0 -0
  121. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/gs2_header.rb +0 -0
  122. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/login_authenticator.rb +0 -0
  123. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/oauthbearer_authenticator.rb +0 -0
  124. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/plain_authenticator.rb +0 -0
  125. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/protocol_adapters.rb +0 -0
  126. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/scram_algorithm.rb +0 -0
  127. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/stringprep.rb +0 -0
  128. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl/xoauth2_authenticator.rb +0 -0
  129. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl.rb +0 -0
  130. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/sasl_adapter.rb +0 -0
  131. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep/nameprep.rb +0 -0
  132. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep/saslprep.rb +0 -0
  133. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep/saslprep_tables.rb +0 -0
  134. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep/tables.rb +0 -0
  135. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep/trace.rb +0 -0
  136. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/stringprep.rb +0 -0
  137. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/lib/net/imap/vanished_data.rb +0 -0
  138. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/rakelib/benchmarks.rake +0 -0
  139. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/rakelib/rfcs.rake +0 -0
  140. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/rakelib/saslprep.rake +0 -0
  141. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/rakelib/string_prep_tables_generator.rb +0 -0
  142. /data/vendor/bundle/ruby/3.4.0/gems/{net-imap-0.5.15 → net-imap-0.6.6}/sample/net-imap.rb +0 -0
  143. /data/vendor/bundle/ruby/3.4.0/gems/{net-protocol-0.2.2 → net-protocol-0.3.0}/README.md +0 -0
  144. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/CONTRIBUTING.md +0 -0
  145. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/MIT-LICENSE +0 -0
  146. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/README.md +0 -0
  147. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/SPEC.rdoc +0 -0
  148. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/auth/abstract/handler.rb +0 -0
  149. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/auth/abstract/request.rb +0 -0
  150. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/auth/basic.rb +0 -0
  151. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/bad_request.rb +0 -0
  152. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/body_proxy.rb +0 -0
  153. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/builder.rb +0 -0
  154. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/cascade.rb +0 -0
  155. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/common_logger.rb +0 -0
  156. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/conditional_get.rb +0 -0
  157. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/config.rb +0 -0
  158. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/constants.rb +0 -0
  159. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/content_length.rb +0 -0
  160. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/content_type.rb +0 -0
  161. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/deflater.rb +0 -0
  162. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/directory.rb +0 -0
  163. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/etag.rb +0 -0
  164. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/events.rb +0 -0
  165. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/files.rb +0 -0
  166. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/head.rb +0 -0
  167. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/headers.rb +0 -0
  168. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/lint.rb +0 -0
  169. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/lock.rb +0 -0
  170. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/media_type.rb +0 -0
  171. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/method_override.rb +0 -0
  172. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/mime.rb +0 -0
  173. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/mock.rb +0 -0
  174. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/mock_request.rb +0 -0
  175. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/mock_response.rb +0 -0
  176. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/multipart/generator.rb +0 -0
  177. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/multipart/parser.rb +0 -0
  178. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/multipart/uploaded_file.rb +0 -0
  179. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/multipart.rb +0 -0
  180. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/null_logger.rb +0 -0
  181. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/query_parser.rb +0 -0
  182. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/recursive.rb +0 -0
  183. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/reloader.rb +0 -0
  184. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/request.rb +0 -0
  185. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/response.rb +0 -0
  186. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/rewindable_input.rb +0 -0
  187. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/runtime.rb +0 -0
  188. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/sendfile.rb +0 -0
  189. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/show_exceptions.rb +0 -0
  190. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/show_status.rb +0 -0
  191. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/static.rb +0 -0
  192. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/tempfile_reaper.rb +0 -0
  193. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack/urlmap.rb +0 -0
  194. /data/vendor/bundle/ruby/3.4.0/gems/{rack-3.2.6 → rack-3.2.7}/lib/rack.rb +0 -0
@@ -15,6 +15,11 @@ Copyright 2011 (C) TADA Tadashi <t@tdtds.jp>
15
15
  padding: 0px;
16
16
  }
17
17
 
18
+ html {
19
+ -webkit-text-size-adjust: 100%;
20
+ text-size-adjust: 100%;
21
+ }
22
+
18
23
  body {
19
24
  text-align: center;
20
25
  width: 100%;
@@ -107,6 +112,10 @@ div.refererlist {
107
112
  margin: 16px;
108
113
  }
109
114
 
115
+ div.body {
116
+ overflow-wrap: anywhere;
117
+ }
118
+
110
119
  div.section {
111
120
  margin-top: 30px;
112
121
  }
@@ -147,6 +156,7 @@ div.section pre {
147
156
  padding: 8px;
148
157
  background-color: #eee;
149
158
  border-radius: 8px;
159
+ overflow-x: auto;
150
160
  }
151
161
 
152
162
  div.section blockquote {
@@ -210,6 +220,8 @@ div.section img {
210
220
  border-style: solid;
211
221
  border-color: #888;
212
222
  border-width: 1px;
223
+ max-width: 100%;
224
+ height: auto;
213
225
  }
214
226
 
215
227
  div.section img.photo {
@@ -554,7 +566,7 @@ div.search-navi {
554
566
  div.category {
555
567
  text-align: left;
556
568
  margin: 0px auto;
557
- width: 900px;
569
+ max-width: 900px;
558
570
  }
559
571
 
560
572
  div.category ul {
@@ -670,22 +682,37 @@ div.sidebar div.calendar {
670
682
  }
671
683
 
672
684
 
685
+ /*
686
+ stack the sidebar under the main column below the width of div.whole-content
687
+ */
688
+ @media screen and (max-width: 899px) {
689
+ div.main {
690
+ float: none;
691
+ max-width: none;
692
+ }
693
+ }
694
+
673
695
  /*
674
696
  design for smart phones
675
697
  */
676
- @media screen and (max-device-width: 480px) {
698
+ @media screen and (max-width: 480px) {
677
699
  body {
678
700
  box-sizing: border-box;
679
701
  }
680
702
 
681
703
  div.adminmenu {
682
- font-size: x-small;
704
+ font-size: small;
683
705
  margin: 0px;
684
706
  padding-left: 0px;
685
707
  padding-right: 0px;
686
708
  width: 100%;
687
709
  }
688
710
 
711
+ div.adminmenu a {
712
+ display: inline-block;
713
+ padding: 0.5em 0.75em;
714
+ }
715
+
689
716
  h1 {
690
717
  padding-top: 80px;
691
718
  height: 50px;
@@ -742,12 +769,10 @@ div.sidebar div.calendar {
742
769
  width: 100%;
743
770
  }
744
771
 
772
+ input,
773
+ select,
745
774
  textarea {
746
- font-size: 110%;
747
- }
748
-
749
- div.sidebar {
750
- display: none;
775
+ font-size: 16px;
751
776
  }
752
777
  }
753
778
 
@@ -1,18 +1,18 @@
1
1
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
2
- /opt/hostedtoolcache/Ruby/3.4.10/x64/bin/ruby extconf.rb
2
+ /opt/hostedtoolcache/Ruby/3.4.11/x64/bin/ruby extconf.rb
3
3
  creating Makefile
4
4
 
5
5
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
6
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-xv125v sitelibdir\=./.gem.20260818-2318-xv125v clean
6
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av clean
7
7
 
8
8
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
9
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-xv125v sitelibdir\=./.gem.20260818-2318-xv125v
9
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av
10
10
  compiling escape.c
11
11
  linking shared-object cgi/escape.so
12
12
 
13
13
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
14
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-xv125v sitelibdir\=./.gem.20260818-2318-xv125v install
15
- /usr/bin/install -c -m 0755 escape.so ./.gem.20260818-2318-xv125v/cgi
14
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av install
15
+ /usr/bin/install -c -m 0755 escape.so ./.gem.20261009-2497-urk1av/cgi
16
16
 
17
17
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
18
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-xv125v sitelibdir\=./.gem.20260818-2318-xv125v clean
18
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av clean
@@ -1,15 +1,15 @@
1
1
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
2
- /opt/hostedtoolcache/Ruby/3.4.10/x64/bin/ruby extconf.rb
2
+ /opt/hostedtoolcache/Ruby/3.4.11/x64/bin/ruby extconf.rb
3
3
  checking for rb_category_warn()... yes
4
4
  checking for timezone in time.h with -Werror... yes
5
5
  checking for altzone in time.h with -Werror... no
6
6
  creating Makefile
7
7
 
8
8
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
9
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-gjremo sitelibdir\=./.gem.20260818-2318-gjremo clean
9
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 clean
10
10
 
11
11
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
12
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-gjremo sitelibdir\=./.gem.20260818-2318-gjremo
12
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3
13
13
  compiling date_core.c
14
14
  compiling date_parse.c
15
15
  compiling date_strftime.c
@@ -17,8 +17,8 @@ compiling date_strptime.c
17
17
  linking shared-object date_core.so
18
18
 
19
19
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
20
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-gjremo sitelibdir\=./.gem.20260818-2318-gjremo install
21
- /usr/bin/install -c -m 0755 date_core.so ./.gem.20260818-2318-gjremo
20
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 install
21
+ /usr/bin/install -c -m 0755 date_core.so ./.gem.20261009-2497-urkdo3
22
22
 
23
23
  current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
24
- make DESTDIR\= sitearchdir\=./.gem.20260818-2318-gjremo sitelibdir\=./.gem.20260818-2318-gjremo clean
24
+ make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 clean
@@ -1,6 +1,6 @@
1
1
  have_func: checking for rb_category_warn()... -------------------- yes
2
2
 
3
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.10/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -lruby -lm -lpthread -lc"
3
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -lruby -lm -lpthread -lc"
4
4
  checked program was:
5
5
  /* begin */
6
6
  1: #include "ruby.h"
@@ -11,7 +11,7 @@ checked program was:
11
11
  6: }
12
12
  /* end */
13
13
 
14
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.10/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.10/x64/lib -lruby -lm -lpthread -lc"
14
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -lruby -lm -lpthread -lc"
15
15
  checked program was:
16
16
  /* begin */
17
17
  1: #include "ruby.h"
@@ -34,7 +34,7 @@ checked program was:
34
34
 
35
35
  have_var: checking for timezone in time.h with -Werror... -------------------- yes
36
36
 
37
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.10/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
37
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
38
38
  checked program was:
39
39
  /* begin */
40
40
  1: #include "ruby.h"
@@ -59,7 +59,7 @@ checked program was:
59
59
 
60
60
  have_var: checking for altzone in time.h with -Werror... -------------------- no
61
61
 
62
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.10/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
62
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
63
63
  conftest.c: In function ‘t’:
64
64
  conftest.c:16:55: error: ‘altzone’ undeclared (first use in this function)
65
65
  16 | int t(void) { const volatile void *volatile p; p = &(&altzone)[0]; return !p; }
@@ -13,12 +13,12 @@ NULLCMD = :
13
13
  #### Start of system configuration section. ####
14
14
 
15
15
  srcdir = .
16
- topdir = /opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0
16
+ topdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0
17
17
  hdrdir = $(topdir)
18
- arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux
18
+ arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux
19
19
  PATH_SEPARATOR = :
20
20
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
21
- prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.10/x64
21
+ prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.11/x64
22
22
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
23
23
  rubyarchprefix = $(rubylibprefix)/$(arch)
24
24
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -13,12 +13,12 @@ NULLCMD = :
13
13
  #### Start of system configuration section. ####
14
14
 
15
15
  srcdir = .
16
- topdir = /opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0
16
+ topdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0
17
17
  hdrdir = $(topdir)
18
- arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.10/x64/include/ruby-3.4.0/x86_64-linux
18
+ arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux
19
19
  PATH_SEPARATOR = :
20
20
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
21
- prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.10/x64
21
+ prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.11/x64
22
22
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
23
23
  rubyarchprefix = $(rubylibprefix)/$(arch)
24
24
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -7,10 +7,11 @@ gemspec
7
7
  # gem "digest" # not included as a workaround for #576
8
8
  gem "strscan"
9
9
  gem "base64"
10
+ gem "psych", ">= 5.3.0" # 5.2.5 for Data serialization, 5.3.0 for TruffleRuby
10
11
 
11
12
  gem "irb"
12
13
  gem "rake"
13
- gem "rdoc"
14
+ gem "rdoc", ">= 7.2.0"
14
15
  gem "test-unit"
15
16
  gem "test-unit-ruby-core", git: "https://github.com/ruby/test-unit-ruby-core"
16
17
 
@@ -19,7 +20,5 @@ gem "benchmark-driver", require: false
19
20
  gem "vernier", require: false, platform: :mri
20
21
 
21
22
  group :test do
22
- gem "simplecov", require: false, platforms: %i[mri windows]
23
- gem "simplecov-html", require: false, platforms: %i[mri windows]
24
- gem "simplecov-json", require: false, platforms: %i[mri windows]
23
+ gem "simplecov", ">= 1.0.0", require: false, platforms: %i[mri windows]
25
24
  end
@@ -61,9 +61,9 @@ imap.search(["BEFORE", "30-Apr-2003", "SINCE", "1-Apr-2003"]).each do |message_i
61
61
  else
62
62
  imap.copy(message_id, "Mail/sent-apr03")
63
63
  imap.store(message_id, "+FLAGS", [:Deleted])
64
+ imap.expunge
64
65
  end
65
66
  end
66
- imap.expunge
67
67
  ```
68
68
 
69
69
  ## Development
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
5
+ require "rake/clean"
6
+
7
+ Rake::TestTask.new(:test) do |t|
8
+ t.libs << "test/lib"
9
+ t.ruby_opts << "-rhelper"
10
+ t.test_files = FileList["test/**/test_*.rb"]
11
+ end
12
+
13
+ task :default => :test
14
+
15
+ desc "Output coverage data report, and error when threshholds aren't met"
16
+ task "coverage:report" do
17
+ require "simplecov"
18
+ SimpleCov.collate "coverage/.resultset.json" do
19
+ coverage(:line) do
20
+ minimum 90
21
+ minimum_per_file 40
22
+ end
23
+ end
24
+ end
@@ -3,7 +3,6 @@
3
3
  require "date"
4
4
 
5
5
  require_relative "errors"
6
- require_relative "data_lite"
7
6
 
8
7
  # :enddoc:
9
8
 
@@ -16,6 +15,9 @@ module Net
16
15
  case data
17
16
  when nil
18
17
  when String
18
+ if data.include?("\0")
19
+ raise DataFormatError, "String argument contains NULL byte"
20
+ end
19
21
  when Integer
20
22
  # Covers modseq-valzer, which is the largest valid IMAP integer
21
23
  if data.negative?
@@ -56,33 +58,42 @@ module Net
56
58
  end
57
59
  end
58
60
 
61
+ UNQUOTABLE_CHARS = /[\0\r\n]/
62
+ ASTRING_SPECIALS = /[(){ \x00-\x1f\x7f%*"\\]/
63
+ private_constant :UNQUOTABLE_CHARS, :ASTRING_SPECIALS
64
+
65
+ # Sends generic strings formatted as +astring+:
66
+ # * as an atom (note: this is based on +ASTRING-CHAR+, not +ATOM-CHAR+)
67
+ # * as a quoted string
68
+ # * as a literal (may send non-synchronizing)
69
+ #
70
+ # NOTE: This does not validate that +str+ contains no +NULL+ bytes.
59
71
  def send_string_data(str, tag = nil)
60
72
  if str.empty?
73
+ # same as send_quoted_string(str), but incompatible encoding is allowed
61
74
  put_string('""')
62
- elsif str.match?(/[\r\n]/n)
63
- # literal, because multiline
64
- send_literal(str, tag)
65
- elsif !str.ascii_only?
66
- if @utf8_strings
67
- # quoted string
68
- send_quoted_string(str)
69
- else
70
- # literal, because of non-ASCII bytes
71
- send_literal(str, tag)
72
- end
73
- elsif str.match?(/[(){ \x00-\x1f\x7f%*"\\]/n)
74
- # quoted string
75
+ elsif str.ascii_only? && !str.match?(ASTRING_SPECIALS)
76
+ # valid +astring+ atom: non-empty, ASCII only, no ASTRING_SPECIALS
77
+ put_string(str)
78
+ elsif text_encodable?(str) && !str.match?(UNQUOTABLE_CHARS)
75
79
  send_quoted_string(str)
76
80
  else
77
- put_string(str)
81
+ send_literal(str, tag)
78
82
  end
79
83
  end
80
84
 
81
- def send_quoted_string(str)
82
- put_string('"' + str.gsub(/["\\]/, "\\\\\\&") + '"')
85
+ # Encodable as +text+ (which is a superset of +quoted+):
86
+ # * ASCII only (for any ASCII compatible encoding)
87
+ # * or valid UTF-8 (when the connection supports it)
88
+ def text_encodable?(str)
89
+ str.ascii_only? || (utf8_enabled? &&
90
+ str.encoding == Encoding::UTF_8 &&
91
+ str.valid_encoding?)
83
92
  end
84
93
 
85
- def send_binary_literal(*a, **kw); send_literal(*a, **kw, binary: true) end
94
+ def send_quoted_string(str) = QuotedString.new(data: str).send_data(self)
95
+
96
+ def send_binary_literal(*, **) = send_literal(*, **, binary: true)
86
97
 
87
98
  # `non_sync` is an optional tri-state flag:
88
99
  # * `true` -> Force non-synchronizing `LITERAL+`/`LITERAL-` behavior.
@@ -90,7 +101,6 @@ module Net
90
101
  # non-synchronizing literal, or literal is too large for LITERAL-.
91
102
  # * `false` -> Force normal synchronizing literal behavior.
92
103
  # * `nil` -> (default) Currently behaves like `false` (will be dynamic).
93
- # TODO: Dynamic, based on capabilities and bytesize.
94
104
  def send_literal(str, tag = nil, binary: false, non_sync: nil)
95
105
  bytesize = str.bytesize
96
106
  synchronize do
@@ -100,6 +110,7 @@ module Net
100
110
  raise DataFormatError, "Connection closed: " \
101
111
  "Cannot send non-synchronizing literal without known server support"
102
112
  end
113
+ non_sync = non_sync_literal?(bytesize) if non_sync.nil?
103
114
  prefix = "~" if binary
104
115
  plus = "+" if non_sync
105
116
  put_string("#{prefix}{#{bytesize}#{plus}}\r\n")
@@ -111,8 +122,7 @@ module Net
111
122
  @continuation_request_exception = nil
112
123
  begin
113
124
  @continuation_request_arrival.wait
114
- e = @continuation_request_exception || @exception
115
- raise e if e
125
+ reraise @continuation_request_exception || @exception
116
126
  put_string(str)
117
127
  ensure
118
128
  @continued_command_tag = nil
@@ -121,6 +131,11 @@ module Net
121
131
  end
122
132
  end
123
133
 
134
+ def non_sync_literal?(bytesize)
135
+ bytesize <= config.max_non_synchronizing_literal \
136
+ && non_sync_literal_allowed?(bytesize)
137
+ end
138
+
124
139
  def non_sync_literal_allowed?(bytesize)
125
140
  return unless capabilities_cached?
126
141
  return "+" if capable?("LITERAL+")
@@ -152,6 +167,9 @@ module Net
152
167
  def send_date_data(date) put_string Net::IMAP.encode_date(date) end
153
168
  def send_time_data(time) put_string Net::IMAP.encode_time(time) end
154
169
 
170
+ # NOTE: Currently for internal use only. The API is expected to change.
171
+ Command = Data.define(:tag, :name) # :nodoc:
172
+
155
173
  CommandData = Data.define(:data) do # :nodoc:
156
174
  def self.validate(...)
157
175
  data = new(...)
@@ -249,10 +267,10 @@ module Net
249
267
  parts = []
250
268
  while data.match(/(~)?\{(0|[1-9]\d*)(\+)?\}\r\n/n)
251
269
  text, binary, bytesize, non_sync, data = $`, !!$1, $2, !!$3, $'
252
- bytesize = Integer bytesize, 10
270
+ bytesize = NumValidator.coerce_number64 bytesize
253
271
  parts << RawText[text] unless text.empty?
254
272
  parts << extract_literal(data, binary:, bytesize:, non_sync:)
255
- data[0, bytesize] = ""
273
+ data.bytesplice(0, bytesize, "")
256
274
  end
257
275
  parts << RawText[data] unless data.empty?
258
276
  parts
@@ -269,6 +287,17 @@ module Net
269
287
  private_class_method :extract_literal
270
288
  end
271
289
 
290
+ # Please note that +ATOM-CHAR+ and +atom+ are not the same as +ASTRING-char+
291
+ # and the atom form of +astring+. +astring+ allows <tt>]</tt>, but +atom+
292
+ # does not.
293
+ #
294
+ # Generic string arguments in Net::IMAP use +astring+, so they will send as
295
+ # atoms even if they contain <tt>]</tt>.
296
+ #
297
+ # This class is used by:
298
+ # * to validate generic symbol arguments, as the superclass of Flag
299
+ # * to validate #enable +capabilities+
300
+ # * to validate #store (and #uid_store) +attr+
272
301
  class Atom < CommandData # :nodoc:
273
302
  def initialize(**)
274
303
  super
@@ -318,7 +347,7 @@ module Net
318
347
  validate
319
348
  end
320
349
 
321
- def bytesize; data.bytesize end
350
+ def bytesize = data.bytesize
322
351
 
323
352
  def validate
324
353
  if data.include?("\0")
@@ -333,7 +362,7 @@ module Net
333
362
  end
334
363
 
335
364
  class Literal8 < Literal # :nodoc:
336
- def validate; nil end # all bytes are okay
365
+ def validate = nil # all bytes are okay
337
366
 
338
367
  def send_data(imap, tag)
339
368
  imap.__send__(:send_binary_literal, data, tag, non_sync:)
@@ -372,73 +401,6 @@ module Net
372
401
  end
373
402
  end
374
403
 
375
- # *DEPRECATED*. Replaced by SequenceSet.
376
- class MessageSet < CommandData # :nodoc:
377
- def send_data(imap, tag)
378
- imap.__send__(:put_string, format_internal(data))
379
- end
380
-
381
- def validate
382
- validate_internal(data)
383
- end
384
-
385
- private
386
-
387
- def initialize(data:)
388
- super
389
- warn("DEPRECATED: #{MessageSet} should be replaced with #{SequenceSet}.",
390
- uplevel: 1, category: :deprecated)
391
- begin
392
- # to ensure the input works with SequenceSet, too
393
- SequenceSet.new(data)
394
- rescue
395
- warn "MessageSet input is incompatible with SequenceSet: [%s] %s" % [
396
- $!.class, $!.message
397
- ]
398
- end
399
- end
400
-
401
- def format_internal(data)
402
- case data
403
- when "*"
404
- return data
405
- when Integer
406
- if data == -1
407
- return "*"
408
- else
409
- return data.to_s
410
- end
411
- when Range
412
- return format_internal(data.first) +
413
- ":" + format_internal(data.last)
414
- when Array
415
- return data.collect {|i| format_internal(i)}.join(",")
416
- when ThreadMember
417
- return data.seqno.to_s +
418
- ":" + data.children.collect {|i| format_internal(i).join(",")}
419
- end
420
- end
421
-
422
- def validate_internal(data)
423
- case data
424
- when "*"
425
- when Integer
426
- NumValidator.ensure_nz_number(data)
427
- when Range
428
- when Array
429
- data.each do |i|
430
- validate_internal(i)
431
- end
432
- when ThreadMember
433
- data.children.each do |i|
434
- validate_internal(i)
435
- end
436
- else
437
- raise DataFormatError, data.inspect
438
- end
439
- end
440
- end
441
-
442
404
  class ClientID < CommandData # :nodoc:
443
405
 
444
406
  def send_data(imap, tag)
@@ -476,6 +438,14 @@ module Net
476
438
 
477
439
  module_function
478
440
 
441
+ def literal_or_literal8(input, name: "argument")
442
+ return input if input in Literal | Literal8
443
+ data = String.try_convert(input) \
444
+ or raise TypeError, "expected #{name} to be String, got #{input.class}"
445
+ type = data.include?("\0") ? Literal8 : Literal
446
+ type.new(data:)
447
+ end
448
+
479
449
  # Allows symbols in addition to strings
480
450
  def valid_string?(str)
481
451
  str.is_a?(Symbol) || str.respond_to?(:to_str)
@@ -27,24 +27,23 @@ module Net
27
27
 
28
28
  def self.attr_accessor(name) # :nodoc: internal API
29
29
  name = name.to_sym
30
+ raise ArgumentError, "already defined #{name}" if attributes.include?(name)
31
+ attributes << name
30
32
  def_delegators :data, name, :"#{name}="
31
33
  end
32
34
 
33
- def self.attributes
34
- instance_methods.grep(/=\z/).map { _1.to_s.delete_suffix("=").to_sym }
35
- end
36
- private_class_method :attributes
35
+ # An array of Config attribute names
36
+ singleton_class.attr_reader :attributes
37
+ @attributes = []
37
38
 
38
39
  def self.struct # :nodoc: internal API
39
- unless defined?(self::Struct)
40
- const_set :Struct, Struct.new(*attributes)
41
- end
42
- self::Struct
40
+ attributes.freeze
41
+ Struct.new(*attributes)
43
42
  end
44
43
 
45
44
  def initialize # :notnew:
46
45
  super()
47
- @data = AttrAccessors.struct.new
46
+ @data = Config::Struct.new
48
47
  end
49
48
 
50
49
  # Freezes the internal attributes struct, in addition to +self+.