Mise à jour ElasticSearch :(

Hi,

Nous sommes passés à la dernière version 2.8.1 de FM, il a donc fallu mettre à jour ElasticSearch. En suivant la procédure et en exécutant le script voici le retour de la commande :

root@serveur:/apps/fabmanager# su ubuntu
To run a command as administrator (user « root »), use « sudo  ».
See « man sudo_root » for details.

ubuntu@serveur:/apps/fabmanager$ \curl https://raw.githubusercontent.com/LaCasemate/fab-manager/master/scripts/elastic-upgrade.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20837 100 20837 0 0 11296 0 0:00:01 0:00:01 --:–:-- 11293
detecting curl…
/usr/bin/curl
detecting jq…
/usr/bin/jq
/usr/bin/sudo
/usr/bin/awk
checking memory…
Is fab-manager installed at « /apps/fabmanager »? (y/n) y
Detecting installation type…
ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?

If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
/usr/bin/docker
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.soc
k/v1.29/containers/json: dial unix /var/run/docker.sock: connect: permission denied
ElasticSearch 1.7 was not found on the current system, exiting…
ubuntu@serveur:/apps/fabmanager$

Et là évidement je sèche. Est-ce que la mise à jour a déjà été faite ? L’instance fonctionne correctement mise à part nos projets qui n’apparaissent pas dans la galerie si on décoche le réseau FabManager.

Pourrait-on m’éclairer là-dessus ?

Et belle année à toutes et tous !

Guillaume
Les Copeaux Numériques

Salut, et bonne année à toi aussi.
Ton utilisateur n’est peut-être pas dans le group docker. Essaye de le rajouter (sudo usermod -aG docker $(whoami) puis de redémarrer) ou de lancer le script en tant que root.

Merci du tuyau Sylvain, la mise à jour s’est déroulée with success ! Apriori en tout cas. J’ai constaté avant la mise à jour d’ElasticSearch que l’autocomplétion des membres dans la rubrique Abonnements n’est plus fonctionnelle. Est-ce que cela peut venir d’ElasticSearch ?

Hello, non je ne pense pas. Elasticsearch impacte seulement le module des statistiques (tableaux et graphiques) et la galerie des projets.
L’autocomplétion des membres est faite avec Postgre, as-tu bien effectué toutes les tâches rake du changelog (notamment db:migrate) ?

Normalement oui, je relis plutôt 2 fois qu’une la procédure pour être sûr de ne rien oublier. Il y a un moyen de vérifier ça ?

Tu peux lancer la commande suivante pour voir si toutes les migrations ont bien été faites.

docker-compose run --rm fabmanager bundle exec rake db:migrate:status

Sinon, regarde les logs serveur et la console javascript pour voir si un message d’erreur n’est pas affiché au moment de la recherche ?

Voilà le retour de docker

root@serveur:/apps/fabmanager# docker-compose run --rm fabmanager bundle exec rake db:migrate:status
AuthProvider Load (3.0ms) SELECT « auth_providers ».* FROM « auth_providers » WHERE « auth_providers ».« status » = $1 LIMIT 1 [[« status », « activ
e »]]
AuthProvider Load (0.4ms) SELECT « auth_providers ».* FROM « auth_providers » WHERE « auth_providers ».« status » = $1 LIMIT 1 [[« status », « activ
e »]]
AuthProvider Load (0.4ms) SELECT « auth_providers ».* FROM « auth_providers » WHERE « auth_providers ».« status » = $1 LIMIT 1 [[« status », « activ
e »]]
AuthProvider Load (0.6ms) SELECT « auth_providers ».* FROM « auth_providers » WHERE « auth_providers ».« status » = $1 LIMIT 1 [[« status », « activ
e »]]

database: fablab_production

Status Migration ID Migration Name

(45.9ms) SELECT « schema_migrations ».« version » FROM « schema_migrations »
up 20140409083104 Devise create users
up 20140409083610 Rolify create roles
up 20140409153915 Create profiles
up 20140410101026 Create projects
up 20140410140516 Create machines
up 20140410162151 Create assets
up 20140411152729 Create projects machines
up 20140414141134 Add is allow contact to user
up 20140415104151 Create project user
up 20140415123625 Add author id to project
up 20140416130838 Create project steps
up 20140422085949 Create availabilities
up 20140422090412 Create machines availabilities
up 20140513152025 Add title to project step
up 20140516083543 Create reservations
up 20140516083909 Create slots
up 20140516093335 Add reservable to reservation
up 20140522115617 Create addresses
up 20140522175539 Create components
up 20140522175714 Create themes
up 20140522180032 Create licences
up 20140522180930 Create projects components
up 20140522181011 Create projects themes
up 20140522181148 Add tags to project
up 20140523083230 Add licence id to project
up 20140526144327 Add state to project
up 20140527092045 Create notifications
up 20140528134944 Add is valid to project user
up 20140528140257 Add valid token to project user
up 20140529145140 Create user trainings
up 20140603084413 Create groups
up 20140603085817 Create plans
up 20140603164215 Create trainings pricings
up 20140604094514 Add group to user
up 20140604113611 Create trainings
up 20140604113919 Create trainings machine
up 20140604132045 Create trainings availabilities
up 20140605125131 Add availability id to reservation
up 20140605142133 Change machine id to training id from user training
up 20140605151442 Change machine to training from trainings pricing
up 20140609092700 Remove availability id form reservations
up 20140609092827 Add availability to slot
up 20140610153123 Add stp customer id to users
up 20140610170446 Create subscriptions
up 20140613150651 Add stp invoice id to reservation
up 20140620131525 Add start at to subscription
up 20140622121724 Create friendly id slugs
up 20140622122944 Add slug to projects
up 20140622145648 Add strip id to groups
up 20140623023557 Add slug to machines
up 20140624123359 Create credits
up 20140624123814 Create users credits
up 20140624124338 Add training credit nb to plan
up 20140703100457 Change start at to expired at from subscription
up 20140703231208 Add username to user
up 20140703233420 Add index username to user
up 20140703233942 Remove username from profiles
up 20140703235739 Add slug to users
up 20140710144142 Create events
up 20140710144427 Create categories
up 20140710144610 Create events categories
up 20140711084809 Change event
up 20140715095503 Add nb reserve places and nb reserve reduced places to reservation
up 20140717143735 Add recurrence id to event
up 20140722162046 Create invoices
up 20140722162309 Create invoice items
up 20140723075942 Add user id to invoice
up 20140723171547 Remove description from invoice items
up 20140723172610 Add invoiced to invoice items
up 20140724125605 Remove invoiced from invoice items
up 20140724131808 Add description to invoice items
up 20140724132655 Add subscription id to invoice items
up 20140728110430 Add reference to invoice
up 20141002111736 Add canceled at to subscription
up 20141110131407 Add to cancel to subscription
up 20141215142044 Remove to cancel from subscription
up 20141215153643 Create offer days
up 20141217141648 Add nb total places to trainings
up 20141217172843 Add nb total places to availability
up 20150107103903 Add slug to trainings
up 20150108082541 Add published at to projects
up 20150112160349 Create statistic indices
up 20150112160405 Create statistic types
up 20150112160425 Create statistic sub types
up 20150113112757 Add simple to statistic sub type
up 20150114111132 Remove simple from statistic sub type
up 20150114111243 Add simple to statistic type
up 20150114141926 Create statistic fields
up 20150114142032 Remove additional field from statistic index
up 20150115143750 Add type to statistic field
up 20150119082931 Rename statistic field type to data type
up 20150119092557 Remove statistic type id from statistic sub type
up 20150119093811 Create statistic type sub types
up 20150119160758 Add table to statistic index
up 20150119161004 Create statistic graphs
up 20150127101521 Add ca to statistic index
up 20150127155141 Add avoir mode to invoice
up 20150127161235 Add avoir date to invoice
up 20150127172510 Add invoice id to invoice
up 20150128132219 Add subscription to expire to invoices
up 20150218154032 Add receiver type and is send to notification
up 20150428075148 Add is active attribute to users
up 20150428091057 Create settings
up 20150506090921 Add description to trainings
up 20150507075506 Add ex start at to slots
up 20150507075620 Add ex end at to slots
up 20150512123546 Add attributes to plan
up 20150520132030 Create prices
up 20150526130729 Add base name to plans
up 20150527153312 Add canceled at to slot
up 20150529113555 Add default for training nb credit to plans
up 20150601125944 Change stripe id to short name from groups
up 20150603104502 Change short name to slug from group
up 20150603104658 Add unique index to slug from group
up 20150604081757 Add ui weight to plans
up 20150604131525 Add meta data to notifications
up 20150608142234 Add invoicing disabled to users
up 20150609094336 Add interval count to plans
up 20150615135539 Migrate plan stats
up 20150617085623 Create custom assets
up 20150701090642 Create stylesheets
up 20150702150754 Create tags
up 20150702151009 Create user tags
up 20150706102547 Create availability tags
up 20150707135343 Add offered to slots
up 20150713090542 Change amount type in invoice items
up 20150713151115 Add invoice item id to invoice item
up 20150715135751 Add description to invoices
up 20150915144448 Create auth providers
up 20150915144939 Create o auth2 providers
up 20150915152943 Create o auth2 mappings
up 20150916091131 Change auth provider to polymorphic
up 20150916093159 Create database providers
up 20150921135557 Add sso id to user
up 20150921135817 Add local model to o auth2 mapping
up 20150922095921 Migrate endpoints to urls from o auth2 providers
up 20150922100528 Remove resource url from o auth2 mappings
up 20150924093917 Migrate url to endpoints from o auth2 providers
up 20150924094138 Add resource endpoint to o auth2 mappings
up 20150924094427 Rename resource endpoint from o auth2 mappings
up 20150924141714 Add omniauth to users
up 20151005133841 Add profile url to o auth2 providers
up 20151008152219 Add auth token to users
up 20151105125623 Create abuses
up 20151210113548 Add merged at to users
up 20160119131623 Add destroying to availability
up 20160504085703 Create open API clients
up 20160504085905 Create open API calls count tracings
up 20160516090121 Add social fields to profile
up 20160516124056 Add website to profile
up 20160526095550 Add socials to profile
up 20160526102307 Add job to profile
up 20160602075531 Add step nb to project step
up 20160613093842 Create unaccent function
up 20160628092931 Rename courses workshops to events
up 20160628124538 Create event themes
up 20160628131408 Create events event themes
up 20160628134211 Create age ranges
up 20160628134303 Add age range id to event
up 20160629091649 Rename range to name from age range
up 20160630083438 Add slug to categories
up 20160630083556 Add slug to age range
up 20160630083759 Add slug to event theme
up 20160630100137 Add event theme and age range to statistic field
up 20160630140204 Add slugs to existing categories
up 20160704095606 Create wallets
up 20160704165139 Create wallet transactions
up 20160714095018 Add public page to training
up 20160718165434 Add wallet amount to invoice
up 20160720124355 Add wallet transaction to invoice
up 20160725131756 Add category id to event
up 20160725131950 Singleize event categories
up 20160725135112 Drop events categories
up 20160726081931 Create exports
up 20160726111509 Add user to export
up 20160726131152 Rename type to stat type from export
up 20160726144257 Add key to export
up 20160728095026 Add is allow newsletter to users
up 20160801145502 Create organizations
up 20160801153454 Add profile to organization
up 20160803085201 Create coupons
up 20160803104701 Add coupon to invoice
up 20160804073558 Remove usages from coupons
up 20160808113850 Remove stp coupon id from coupons
up 20160808113930 Add validity per user to coupon
up 20160824080717 Create price categories
up 20160824084111 Create event price categories
up 20160825141326 Create tickets
up 20160830154719 Migrate event reduced amount to price category
up 20160831084443 Remove reduced amount from event
up 20160831084519 Remove nb reserve reduced places from reservation
up 20160905141858 Create statistic custom aggregations
up 20160905142700 Add field to statistic custom aggregation
up 20160906094739 Remove path from statistic custom aggregations
up 20160906094847 Add es index es type to statistic custom aggregations
up 20160915105234 Add transformation to o auth2 mapping
up 20161123104604 Add amount off to coupons
up 20170109085345 Add slug to plan
up 20170213100744 Create spaces
up 20170213101541 Create projects spaces
up 20170213103438 Create spaces availabilities
up 20170213142543 Add characteristics to space
up 20170227104736 Create slots reservations
up 20170227104934 Migrate slots reservations
up 20170227113718 Remove reservation id from slots
up 20170227114634 Add destroying to slot
up 20170906100906 Add lock to availability
up 20171004135605 Add disabled to plan
up 20171005141522 Add disabled to group
up 20171010143708 Add disabled to training
up 20171011100640 Add disabled to machine
up 20171011125217 Add disabled to space
up 20181210105917 Rename expired at to expiration date from subscription
up 20181217103256 Create history values
up 20181217103441 Migrate settings value to history values
up 20181217110454 Remove value from settings

root@serveur:/apps/fabmanager#

Et pour la console
Deprecation warning: use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See Moment.js | Guides for more info. application-36044250b5b3415dd5c35da54656d4e2.js:147:31043
uncaught exception: undefined
{…}

config: Object { method: « GET », jsonpCallbackParam: « callback », url: « /api/members/search/patrick », … }

data: Object { status: « 500 », error: « Internal Server Error » }

headers: function headersGetter()

resource: Array []

status: 500

statusText: « Internal Server Error »

xhrStatus: « complete »

: Object { … }
application-36044250b5b3415dd5c35da54656d4e2.js:1931:31998
link/scope.autoCompleteName/<
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:1931:31998
resourceFactory/</Resource[name]/promise<
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:131:13216
processQueue
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:125:28153
scheduleProcessQueue/<
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:125:29102
$digest
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:126:7176
$apply
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:126:10151
done
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:124:27856
completeRequest
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:124:32614
createHttpBackend/</xhr.onload
https://reservation.lescopeauxnumeriques.fr/assets/application-36044250b5b3415dd5c35da54656d4e2.js:125:692

On dirait que c’est plutôt ici que l’erreur se cache. Mais je ne saurais pas par où commencer…

En effet, il semble que le problème vienne du serveur. Que dit tail -f /apps/fabmanager/log/app-stdout.log au moment où part la requête ?

Voici la réponse à la recherche de « patrick » dans la vue abonnement.

root@serveur:~# tail -f /apps/fabmanager/log/app-stdout.log

Started GET "/api/notifications/polling?last_poll=2019-01-19T14:32:54.488Z" for 90.17.218.53 at 2019-01-19 14:33:24 +0000
Processing by API::NotificationsController#polling as JSON
  Parameters: {"last_poll"=>"2019-01-19T14:32:54.488Z"}
  User Load (0.6ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
   (1.4ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2  [["receive
r_id", 1], ["receiver_type", "User"]]
   (1.0ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2 AND "notifi
cations"."is_read" = $3  [["receiver_id", 1], ["receiver_type", "User"], ["is_read", "f"]]
  Notification Load (1.0ms)  SELECT "notifications".* FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."recei
ver_type" = $2 AND (is_read = false AND created_at >= '2019-01-19T14:32:54.488Z')  ORDER BY created_at DESC  [["receiver_id", 1], ["receiver_t
ype", "User"]]
  Rendered api/notifications/index.json.jbuilder (2.1ms)
Completed 200 OK in 12ms (Views: 1.6ms | ActiveRecord: 4.0ms | Elasticsearch: 0.0ms)
Started GET "/api/members/search/patrick?subscription=false" for 90.17.218.53 at 2019-01-19 14:33:53 +0000
Processing by API::MembersController#search as JSON
  Parameters: {"subscription"=>"false", "query"=>"patrick"}
  User Load (0.7ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
  Role Load (0.4ms)  SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."use
r_id" = $1 AND (((roles.name = 'member') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)))  [["user_id", 1]]
  SQL (2.0ms)  SELECT "users"."id" AS t0_r0, "users"."email" AS t0_r1, "users"."encrypted_password" AS t0_r2, "users"."reset_password_token" A
S t0_r3, "users"."reset_password_sent_at" AS t0_r4, "users"."remember_created_at" AS t0_r5, "users"."sign_in_count" AS t0_r6, "users"."current
_sign_in_at" AS t0_r7, "users"."last_sign_in_at" AS t0_r8, "users"."current_sign_in_ip" AS t0_r9, "users"."last_sign_in_ip" AS t0_r10, "users"
."confirmation_token" AS t0_r11, "users"."confirmed_at" AS t0_r12, "users"."confirmation_sent_at" AS t0_r13, "users"."unconfirmed_email" AS t0
_r14, "users"."failed_attempts" AS t0_r15, "users"."unlock_token" AS t0_r16, "users"."locked_at" AS t0_r17, "users"."created_at" AS t0_r18, "u
sers"."updated_at" AS t0_r19, "users"."is_allow_contact" AS t0_r20, "users"."group_id" AS t0_r21, "users"."stp_customer_id" AS t0_r22, "users"
."username" AS t0_r23, "users"."slug" AS t0_r24, "users"."is_active" AS t0_r25, "users"."invoicing_disabled" AS t0_r26, "users"."provider" AS 
t0_r27, "users"."uid" AS t0_r28, "users"."auth_token" AS t0_r29, "users"."merged_at" AS t0_r30, "users"."is_allow_newsletter" AS t0_r31, "prof
iles"."id" AS t1_r0, "profiles"."user_id" AS t1_r1, "profiles"."first_name" AS t1_r2, "profiles"."last_name" AS t1_r3, "profiles"."gender" AS 
t1_r4, "profiles"."birthday" AS t1_r5, "profiles"."phone" AS t1_r6, "profiles"."interest" AS t1_r7, "profiles"."software_mastered" AS t1_r8, "
profiles"."created_at" AS t1_r9, "profiles"."updated_at" AS t1_r10, "profiles"."facebook" AS t1_r11, "profiles"."twitter" AS t1_r12, "profiles
"."google_plus" AS t1_r13, "profiles"."viadeo" AS t1_r14, "profiles"."linkedin" AS t1_r15, "profiles"."instagram" AS t1_r16, "profiles"."youtu
be" AS t1_r17, "profiles"."vimeo" AS t1_r18, "profiles"."dailymotion" AS t1_r19, "profiles"."github" AS t1_r20, "profiles"."echosciences" AS t
1_r21, "profiles"."website" AS t1_r22, "profiles"."pinterest" AS t1_r23, "profiles"."lastfm" AS t1_r24, "profiles"."flickr" AS t1_r25, "profil
es"."job" AS t1_r26 FROM "users" INNER JOIN "profiles" ON "profiles"."user_id" = "users"."id" INNER JOIN "users_roles" ON "users_roles"."user_
id" = "users"."id" INNER JOIN "roles" ON "roles"."id" = "users_roles"."role_id" LEFT JOIN "subscriptions" ON "subscriptions"."user_id" = "user
s"."id" WHERE (users.is_active = 'true' AND roles.name = 'member') AND (lower(f_unaccent(profiles.first_name)) ~ regexp_replace('patrick', E'\
\s+', '|') OR lower(f_unaccent(profiles.last_name)) ~ regexp_replace('patrick', E'\\s+', '|')) AND (subscriptions.id IS NULL OR subscriptions.
expired_at < '2019-01-19')
Completed 500 Internal Server Error in 15ms (ActiveRecord: 3.0ms | Elasticsearch: 0.0ms)

ActiveRecord::StatementInvalid (PG::UndefinedColumn: ERROR:  column subscriptions.expired_at does not exist
LINE 1: ..., E'\\s+', '|')) AND (subscriptions.id IS NULL OR subscripti...
                                                             ^
: SELECT "users"."id" AS t0_r0, "users"."email" AS t0_r1, "users"."encrypted_password" AS t0_r2, "users"."reset_password_token" AS t0_r3, "use
rs"."reset_password_sent_at" AS t0_r4, "users"."remember_created_at" AS t0_r5, "users"."sign_in_count" AS t0_r6, "users"."current_sign_in_at" 
AS t0_r7, "users"."last_sign_in_at" AS t0_r8, "users"."current_sign_in_ip" AS t0_r9, "users"."last_sign_in_ip" AS t0_r10, "users"."confirmatio
n_token" AS t0_r11, "users"."confirmed_at" AS t0_r12, "users"."confirmation_sent_at" AS t0_r13, "users"."unconfirmed_email" AS t0_r14, "users"
."failed_attempts" AS t0_r15, "users"."unlock_token" AS t0_r16, "users"."locked_at" AS t0_r17, "users"."created_at" AS t0_r18, "users"."update
d_at" AS t0_r19, "users"."is_allow_contact" AS t0_r20, "users"."group_id" AS t0_r21, "users"."stp_customer_id" AS t0_r22, "users"."username" A
S t0_r23, "users"."slug" AS t0_r24, "users"."is_active" AS t0_r25, "users"."invoicing_disabled" AS t0_r26, "users"."provider" AS t0_r27, "user
s"."uid" AS t0_r28, "users"."auth_token" AS t0_r29, "users"."merged_at" AS t0_r30, "users"."is_allow_newsletter" AS t0_r31, "profiles"."id" AS
 t1_r0, "profiles"."user_id" AS t1_r1, "profiles"."first_name" AS t1_r2, "profiles"."last_name" AS t1_r3, "profiles"."gender" AS t1_r4, "profi
les"."birthday" AS t1_r5, "profiles"."phone" AS t1_r6, "profiles"."interest" AS t1_r7, "profiles"."software_mastered" AS t1_r8, "profiles"."cr
eated_at" AS t1_r9, "profiles"."updated_at" AS t1_r10, "profiles"."facebook" AS t1_r11, "profiles"."twitter" AS t1_r12, "profiles"."google_plu
s" AS t1_r13, "profiles"."viadeo" AS t1_r14, "profiles"."linkedin" AS t1_r15, "profiles"."instagram" AS t1_r16, "profiles"."youtube" AS t1_r17
, "profiles"."vimeo" AS t1_r18, "profiles"."dailymotion" AS t1_r19, "profiles"."github" AS t1_r20, "profiles"."echosciences" AS t1_r21, "profi
les"."website" AS t1_r22, "profiles"."pinterest" AS t1_r23, "profiles"."lastfm" AS t1_r24, "profiles"."flickr" AS t1_r25, "profiles"."job" AS 
t1_r26 FROM "users" INNER JOIN "profiles" ON "profiles"."user_id" = "users"."id" INNER JOIN "users_roles" ON "users_roles"."user_id" = "users"
."id" INNER JOIN "roles" ON "roles"."id" = "users_roles"."role_id" LEFT JOIN "subscriptions" ON "subscriptions"."user_id" = "users"."id" WHERE
 (users.is_active = 'true' AND roles.name = 'member') AND (lower(f_unaccent(profiles.first_name)) ~ regexp_replace('patrick', E'\\s+', '|') OR
 lower(f_unaccent(profiles.last_name)) ~ regexp_replace('patrick', E'\\s+', '|')) AND (subscriptions.id IS NULL OR subscriptions.expired_at < 
'2019-01-19')):
  app/controllers/api/members_controller.rb:241:in `search'


Started GET "/api/notifications/polling?last_poll=2019-01-19T14:33:23.638Z" for 90.17.218.53 at 2019-01-19 14:33:54 +0000
Processing by API::NotificationsController#polling as JSON
  Parameters: {"last_poll"=>"2019-01-19T14:33:23.638Z"}
  User Load (0.8ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
   (3.0ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2  [["receive
r_id", 1], ["receiver_type", "User"]]
   (2.2ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2 AND "notifi
cations"."is_read" = $3  [["receiver_id", 1], ["receiver_type", "User"], ["is_read", "f"]]
  Notification Load (2.1ms)  SELECT "notifications".* FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."recei
ver_type" = $2 AND (is_read = false AND created_at >= '2019-01-19T14:33:23.638Z')  ORDER BY created_at DESC  [["receiver_id", 1], ["receiver_t
ype", "User"]]
  Rendered api/notifications/index.json.jbuilder (3.8ms)
Completed 200 OK in 26ms (Views: 2.7ms | ActiveRecord: 8.0ms | Elasticsearch: 0.0ms)
^[[DStarted GET "/api/notifications/polling?last_poll=2019-01-19T14:33:53.839Z" for 90.17.218.53 at 2019-01-19 14:34:24 +0000
Processing by API::NotificationsController#polling as JSON
  Parameters: {"last_poll"=>"2019-01-19T14:33:53.839Z"}
  User Load (0.7ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
   (2.5ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2  [["receive
r_id", 1], ["receiver_type", "User"]]
   (1.0ms)  SELECT COUNT(*) FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."receiver_type" = $2 AND "notifi
cations"."is_read" = $3  [["receiver_id", 1], ["receiver_type", "User"], ["is_read", "f"]]
  Notification Load (1.0ms)  SELECT "notifications".* FROM "notifications" WHERE "notifications"."receiver_id" = $1 AND "notifications"."recei
ver_type" = $2 AND (is_read = false AND created_at >= '2019-01-19T14:33:53.839Z')  ORDER BY created_at DESC  [["receiver_id", 1], ["receiver_t
ype", "User"]]
  Rendered api/notifications/index.json.jbuilder (2.9ms)
Completed 200 OK in 18ms (Views: 3.1ms | ActiveRecord: 5.2ms | Elasticsearch: 0.0ms)

Ok, merci pour ta réponse. Je vois qu’il y a un bug sur ce module. Il a été introduit dans la version 2.8.0 en faisant les modifications qui permettent de garder l’historique des abonnements.
Je vais essayer de publier le correctif aujourd’hui ou demain, je te tiens au courant.

Salut Guillaume,

Je viens de publier la version 2.8.2 de fab-manager qui corrige le problème de la recherche d’utilisateur. J’en ai profité pour améliorer le comportement lorsqu’on recherche avec plusieurs mots.

Bonne journée,

Done ! Le soucis est corrigé. Super ! Cependant nos usagers nous ont fait remarquer que certains créneaux machines avaient disparu des vues Réservation. Selon les usagers ça touche des machines différentes. Par contre côté admin le planning est complet. Serait-ce un nouveau bug ou une mauvaise manip pendant la MAJ ? J’ai du lancer une seconde fois la compilation des nouveaux assets à cause d’une requête http trop longue. Ça pourrait venir de là ? En tout cas c’est gênant…

Quoi qu’il en soit, merci Sylvain pour ton aide

Non, je ne pense pas qu’il y ai un rapport avec le fait de compiler plusieurs fois les assets.
Arriverais-tu à repérer un créneau précis qui a disparu et me donner ses caractéristiques ?
Tu peux utiliser l’inspecteur réseau (Ctrl+Maj+i) pour avoir les détails complets du créneau en question. Par exemple :

Bonjour Guillaume,

La version 2.8.3, publiée ce jour devrait résoudre le problème.