Bug 34336

Summary: Проблема с полем выбора получателей в SOGo
Product: Sisyphus Reporter: Andrey Cherepanov <cas>
Component: sogo3Assignee: Ivan Zakharyaschev <imz>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 Keywords: C, backport
Version: unstable   
Hardware: all   
OS: Linux   

Description Andrey Cherepanov 2017-12-13 17:06:15 MSK
В веб интерфейсе при написании имени пользователя в полу Кому при составлении письма ввод символа "б", начиная со второй позиции, воспринимается как нажатие Enter.

Т.е. например, ввести в поле Кому "Рябов" нельзя.
Comment 1 Andrey Cherepanov 2017-12-14 15:39:10 MSK
Ошибка воспроизводится в Chromium и не воспроизводится в Firefox.
Comment 2 Ivan Zakharyaschev 2017-12-30 14:15:05 MSK
Уже известная нам ошибка. (И не только нам: https://lists.inverse.ca/sogo/arc/users/2016-07/msg00032.html и https://github.com/angular/material/issues/8319 .)

Должна исправляться в JS-коде Angular в духе патчей (для работы с keys/chars, а не keycodes). Или более более топорным выключением.

Но для этого надо перегенирировать JS из исходников после патча, что у нас при сборке не происходит.

Напишу подробнее сейчас.
Comment 3 Ivan Zakharyaschev 2017-12-30 14:43:11 MSK
(In reply to comment #2)
> Уже известная нам ошибка. (И не только нам:
> https://lists.inverse.ca/sogo/arc/users/2016-07/msg00032.html и
> https://github.com/angular/material/issues/8319 .)
> 
> Должна исправляться в JS-коде Angular в духе патчей (для работы с keys/chars, а
> не keycodes).

1. пример для angular (для старой ли версии? sogo не могут пока переехать на новую, а та не поддерживается):

https://github.com/angular/material/pull/8321
https://github.com/vbraun/material/commit/50e929cba57b4b5197fcc2c12cb4d8e317f57758

2. где-то ещё (в каких-то форках на основе angular):

merged: https://github.com/Gbuomprisco/ngx-chips/pull/254/commits/e6e567e72d665ce7bcb3442efea7a963db3564ff

non-merged (solves other problems?): https://github.com/Gbuomprisco/ngx-chips/pull/266

> Но для этого надо перегенирировать JS из исходников после патча, что у нас при
> сборке не происходит.

Как делает InverseBot в своих коммитах. Тут всякие инструменты используются (npm, grunt, etc.). См.   UI/WebServerResources/GNUmakefile :

# GNUstep makefile

include ../common.make

WEBSERVER_RESOURCE_DIRS = css fonts img js
JS_FILES = js/Administration.* js/Common.* js/Contacts.* js/Mailer.* js/Main.* js/Preferences.* js/Scheduler.*
JS_LIB_FILES = js/vendor/angular-animate.* js/vendor/angular-aria.* js/vendor/angular-cookies.* js/vendor/angular-messages.* js/vendor/angular-file-upload.* js/vendor/FileSaver.* js/vendor/ng-sortable.* js/vendor/angular-material.* js/vendor/angular-sanitize.* js/vendor/angular-ui-router.* js/vendor/angular.* js/vendor/lodash.*
CSS_FILES = css/styles.css css/styles.css.map css/no-animation.css  css/no-animation.css.map

.DEFAULT_GOAL := all

dev:
	npm install --production
	@if [ ! -e angular-material/src ]; then \
	  git submodule init; \
	fi
	git submodule update
	@if [ -d bower_components ]; then \
	  bower update --allow-root; \
	else \
	  bower install --allow-root; \
	fi
	grunt --stack build

prod:
	grunt --stack build
	git update-index --no-assume-unchanged $(CSS_FILES) $(JS_FILES) $(JS_LIB_FILES)
	git add -f $(CSS_FILES) $(JS_FILES) $(JS_LIB_FILES)
	@if ! git diff --cached --quiet --exit-code; then \
		git commit -m "(js/css) Update generated files"; \
	else \
		echo "Nothing to commit; skipping git-commit"; \
	fi
	git update-index --assume-unchanged $(CSS_FILES) $(JS_FILES) $(JS_LIB_FILES)

all:
	@echo "The 'all' target does nothing. Use 'make dev' to generate static files and 'make install' to install them."

install:
	@if [ -L "$(SOGO_WEBSERVERRESOURCESDIR)" ]; then \
	  echo "$(SOGO_WEBSERVERRESOURCESDIR) is a symbolic link (for development?). Installation skipped."; \
	else \
	  mkdir -p $(SOGO_WEBSERVERRESOURCESDIR); \
	  cp -r $(WEBSERVER_RESOURCE_DIRS) $(SOGO_WEBSERVERRESOURCESDIR)/; \
	fi

check:

clean:

distclean: clean

uninstall:
	@if [ -L "$(SOGO_WEBSERVERRESOURCESDIR)" ]; then \
	  echo "$(SOGO_WEBSERVERRESOURCESDIR) is a symbolic link (for development?). Uninstallation skipped."; \
	else \
	  rm -rf $(SOGO_WEBSERVERRESOURCESDIR); \
	fi
Comment 4 Repository Robot 2018-01-29 13:22:03 MSK
sogo3-3.2.10.20171010-alt2 -> sisyphus:

Thu Jan 25 2018 Ivan Zakharyaschev <imz@altlinux> 3.2.10.20171010-alt2
- Fixed entering some letters (for example, Cyrillic Be or Zhe) in the
  address fields (like To:) of the message editor so that they do not act as
  "separator" keys (like comma or semicolon) any more; this error's cause
  was that these letters and the separators are on the same physical keys.
  (Thanks Volker Braun for implementing the underlying feature
  for this fix in the old angular-material.) (ALT#34336)

Wed Jun 21 2017 Evgeny Sinelnikov <sin@altlinux.ru> 3.2.9-alt2%ubt
- Add universal build tag (aka ubt macros)