WeblateOrg / weblate

Web based localization tool with tight version control integration.
https://weblate.org/
GNU General Public License v3.0
4.63k stars 1.02k forks source link

Push button in a component repository maintenance don't work (Weblate 3.11) #3499

Closed loktionovam closed 4 years ago

loktionovam commented 4 years ago

Push button in a component repository maintenance don't work

To Reproduce Steps to reproduce the behavior:

  1. Go to 'project->component->Manage->Repository maintenance'
  2. Click on 'Push' button
  3. See error 'Page not found (404)'

Expected behavior New commits pushed to a remote repository.

Root cause

In https://github.com/WeblateOrg/weblate/pull/3432 I accidentally override get_push_url method https://github.com/WeblateOrg/weblate/blob/2c870055d9efc5803b4096ba338571ce3f65a18b/weblate/trans/mixins.py#L58 https://github.com/WeblateOrg/weblate/blob/2c870055d9efc5803b4096ba338571ce3f65a18b/weblate/trans/models/component.py#L741

that used in https://github.com/WeblateOrg/weblate/blob/2c870055d9efc5803b4096ba338571ce3f65a18b/weblate/templates/js/git-status.html#L106

so when I used the 'Push' button its generate a bad request and return 404 error.

Wrong request url: http://weblate.example.com:8080/projects/jolla-settings-sdk/settings-system-ts-master/git@gitlab.example.com:l10n/l10n-jolla-settings-sdk.git

Good (expected) url: http://weblate.example.com:8080/push/jolla-settings-sdk/

Server configuration and status Please paste the output of list_versions and check --deploy commands over here. Depending on installation these can be executed in different way, please consult https://docs.weblate.org/en/latest/admin/management.html for more details.

On pip installed Weblate:

weblate list_versions
Start 'settings-override.py'
 * Weblate: 3.11.1-dev
 * Django: 3.0.2
 * siphashc: 1.3
 * Whoosh: 2.7.4
 * translate-toolkit: 2.5.0
 * lxml: 4.3.2
 * Pillow: 7.0.0
 * bleach: 3.1.0
 * six: 1.14.0
 * python-dateutil: 2.8.1
 * social-auth-core: 3.2.0
 * social-auth-app-django: 3.1.0
 * django-crispy-forms: 1.8.1
 * oauthlib: 3.1.0
 * django-compressor: 2.4
 * djangorestframework: 3.11.0
 * django-appconf: 1.0.3
 * user-agents: 2.0
 * filelock: 3.0.12
 * setuptools: 40.8.0
 * jellyfish: 0.7.2
 * openpyxl: 3.0.1
 * celery: 4.4.0
 * kombu: 4.6.7
 * celery-batches: 0.2
 * translation-finder: 1.7
 * html2text: 2020.1.16
 * pycairo: 1.16.2
 * pygobject: 3.30.4
 * diff-match-patch: 20181111
 * requests: 2.22.0
 * django-redis: 4.11.0
 * hiredis: 1.0.1
 * sentry_sdk: 0.14.1
 * Cython: 0.29.14
 * misaka: 2.1.1
 * GitPython: 3.0.5
 * borgbackup: 1.1.10
 * Python: 3.7.3
 * Git: 2.20.1
 * psycopg2: 2.7.7
 * phply: 1.2.5
 * chardet: 3.0.4
 * ruamel.yaml: 0.16.6
 * tesserocr: 2.5.0
 * akismet: 1.0.1
 * boto3: 1.11.9
 * zeep: 3.4.0
 * aeidon: 1.7.0
 * Mercurial: 4.8.2
 * git-svn: 2.20.1
 * Database backends: django.db.backends.postgresql
 * Cache backends: default:RedisCache, avatar:FileBasedCache
 * Email setup: django.core.mail.backends.smtp.EmailBackend: 127.0.0.1
 * Celery: redis://cache:6379/1, redis://cache:6379/1, regular
 * Platform: Linux 5.3.0-28-generic (x86_64)

weblate check --deploy
Start 'settings-override.py'
SystemCheckError: System check identified some issues:

CRITICALS:
?: (weblate.E003) Can not send email ([Errno 111] Connection refused), please check EMAIL_* settings.
    HINT: https://docs.weblate.org/en/latest/admin/install.html#out-mail
?: (weblate.E009) The Celery tasks queue is too long, either the worker is not running or is too slow.
    HINT: https://docs.weblate.org/en/latest/admin/install.html#celery
?: (weblate.E019) The Celery does not process tasks or is too slow in processing them.
    HINT: https://docs.weblate.org/en/latest/admin/install.html#celery

ERRORS:
?: (weblate.E016) Configure cached template loader for better performance
    HINT: https://docs.weblate.org/en/latest/admin/install.html#production-templates

WARNINGS:
?: (security.W004) You have not set a value for the SECURE_HSTS_SECONDS setting. If your entire site is served only over SSL, you may want to consider setting a value and enabling HTTP Strict Transport Security. Be sure to read the documentation first; enabling HSTS carelessly can cause serious, irreversible problems.
?: (security.W008) Your SECURE_SSL_REDIRECT setting is not set to True. Unless your site should be available over both SSL and non-SSL connections, you may want to either set this setting True or configure a load balancer or reverse-proxy server to redirect all connections to HTTPS.
?: (security.W012) SESSION_COOKIE_SECURE is not set to True. Using a secure-only session cookie makes it more difficult for network traffic sniffers to hijack user sessions.
?: (security.W018) You should not have DEBUG set to True in deployment.

INFOS:
?: (weblate.I021) Error collection is not configured, it is highly recommended for production use
    HINT: https://docs.weblate.org/en/latest/admin/install.html#collecting-errors
?: (weblate.I028) Backups are not configured, it is highly recommended for production use
    HINT: https://docs.weblate.org/en/latest/admin/backup.html

System check identified 10 issues (1 silenced).

Additional context Add any other context about the problem here.

github-actions[bot] commented 4 years ago

Thank you for your report, the issue you have reported has just been fixed.

nijel commented 4 years ago

Thanks for detailed analysis!