Skip to content

Chore/sincronizar fork con version relajada de rubyzip - #4

Merged
domingo2000 merged 19 commits into
masterfrom
chore/sincronizar-fork-con-version-relajada-de-rubyzip
Aug 3, 2026
Merged

Chore/sincronizar fork con version relajada de rubyzip#4
domingo2000 merged 19 commits into
masterfrom
chore/sincronizar-fork-con-version-relajada-de-rubyzip

Conversation

@domingo2000

@domingo2000 domingo2000 commented Jul 21, 2026

Copy link
Copy Markdown

Sincronizamos con upstream manteniendo los cambios que se hicieron en este fork. De esta forma relajamos la versión requerida de rubyzip igual como se hizo en el upstream.

Esto destraba todas aquellas gemas que requieren rubyzip >= 3.0.

Los primeros 19 commits son solamente sincronización.

Los ultimos 2

  • relajan rubizip
  • modifican la suite de test para que pase con las modificaciones dado que estaba caida. Así actualizar el fork a futuro debería ser más sencillo.

La gema prácticamente no cambia asi que futuros syncs del forks solo deberían ser de dependencias y por lo tanto vale la pena que los tests si pasen y nos sirvan de verificador para automatizar más el sync.

Revisé con claude opus y a mano también que todos los usos de RubyZip son compatibles con los breaking changes de rubyzip 3.0 asi que no deberíamos tener problema de actualizar a rubyzip 3 en el futuro.

jkraemer and others added 17 commits April 21, 2021 13:20
- this seems to have changed with newer unrtf versions
- missing the header we fail to strip away the other leading comments
- removed 2.6 from the list of tested ruby versions, added more recent
  ones.
- fixes errors with AS 7.1 as described in
  rails/rails#49495
- as per
  https://guides.rubyonrails.org/active_support_core_extensions.html#cherry-picking-a-definition,
  active_support itself should always be required.
Using "quiet" at end of the command will suppress the messages regarding
image resolution and empty pages.
When calling an external command and reading the output, `io.read`
returns `""` when no output is available, but `io.read(max_size)`
returns `nil` instead of `""`.

This return value is then converted to a string with `to_s`, and since
ruby 2.7, `nil.to_s` returns a frozen empty string. Then the
`Plaintext::Resolver` calling `gsub!` and `strip!` on this string lead
to a `FrozenError: can't modify frozen String`.

This is fixed by duplicating the string if it is frozen.
This avoids a "NoMethodError: undefined method '+@' for nil".
Resolver returns nil if the handler returns nil
Relajamos la version de rubyzip para
que permita updates en los otros
proyectos al igual como lo hizo el
proyecto upstream
Comment thread spec/lib/file_handler/resolver_spec.rb
Asi al ir actualizando el fork es mas sencillo
tenemos los tests para ver correctitud
Una suite de test caida no sirve de nada. Hacemos cambios a la
suite para que pase con las modificaciones del fork
@domingo2000
domingo2000 force-pushed the chore/sincronizar-fork-con-version-relajada-de-rubyzip branch from 5005206 to b1703ce Compare July 21, 2026 22:53

@Emil-IA Emil-IA left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚀

@domingo2000
domingo2000 merged commit e84b3cf into master Aug 3, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants