Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP]: Fulltext search (#8381) #8714

Closed
Closed
Show file tree
Hide file tree
Changes from 189 commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
409fe51
Bump version to 0.59.0-rc.0
rodrigok Aug 25, 2017
7778345
fix sidebar paddings (#7888)
karlprieb Aug 25, 2017
5812d21
Makes text action menu width based on content size (#7887)
gdelavald Aug 25, 2017
7b3b93a
Fix livechat icon (#7886)
karlprieb Aug 25, 2017
3af70c0
Merge pull request #7885 from RocketChat/message-actions-alignment
gdelavald Aug 25, 2017
989b927
Merge pull request #7883 from RocketChat/fix-mobile-popover
gdelavald Aug 25, 2017
2988024
[FIX] hyperlink style on sidebar footer (#7882)
karlprieb Aug 25, 2017
19217f0
Merge pull request #7881 from RocketChat/fix-search-overlap
gdelavald Aug 25, 2017
3309949
Adds default search text padding for emoji search and removes a conso…
gdelavald Aug 25, 2017
a286fec
Merge pull request #7880 from RocketChat/fix-sidebar-alignments
gdelavald Aug 25, 2017
00a0d5e
Bump version to 0.59.0-rc.1
rodrigok Aug 25, 2017
c5ad8ba
Merge pull request #7893 from RocketChat/hotfix/remove-window-rocketD…
ggazzo Aug 25, 2017
f73ab34
Merge pull request #7894 from RocketChat/remove-flex-tab-close
rodrigok Aug 25, 2017
9f1b309
Merge pull request #7895 from RocketChat/hotifx/brk-realtime-api-noti…
rodrigok Aug 25, 2017
2345962
Merge pull request #7904 from RocketChat/fix-livechat-toggle
rodrigok Aug 25, 2017
617b3ae
Merge pull request #7912 from luizbills/patch-1
rodrigok Aug 28, 2017
a38ee46
Bump version to 0.59.0-rc.2
rodrigok Aug 28, 2017
8c3910d
Merge pull request #7712 from seekingalpha/show-leader-on-first-load
rodrigok Aug 30, 2017
f2aa86e
Merge pull request #7909 from rafaelks/patch-1
rodrigok Aug 30, 2017
641474a
Update BlackDuck URL (#7941)
engelgabriel Aug 28, 2017
5568591
Merge pull request #7942 from RocketChat/firefox-createchannel
rodrigok Aug 30, 2017
fc3fd84
Merge pull request #7943 from RocketChat/firefox-emoji
rodrigok Aug 30, 2017
faf4f19
Merge pull request #7945 from josiasds/fix-account-profile-placeholders
rodrigok Aug 30, 2017
5198b2b
Merge pull request #7948 from Lawri-van-Buel/develop
engelgabriel Aug 30, 2017
fe97895
Merge pull request #7953 from RocketChat/firefox-username
engelgabriel Aug 30, 2017
68c25a3
Merge pull request #7954 from RocketChat/otr-buttons
rodrigok Aug 30, 2017
5c582e3
Merge pull request #7960 from RocketChat/sidebar-colors
rodrigok Aug 30, 2017
a691b2e
Merge pull request #7963 from RocketChat/fix-status-member-list
rodrigok Aug 30, 2017
c974bda
Merge pull request #7965 from RocketChat/hotfix/markdown-code-render
rodrigok Aug 30, 2017
5c6d514
Merge pull request #7970 from RocketChat/padding-fixes
engelgabriel Aug 30, 2017
4578242
Merge pull request #7971 from RocketChat/padding-fixes
engelgabriel Aug 30, 2017
cbf9d90
Merge pull request #7984 from RocketChat/hotfix/textarea-autofocus
rodrigok Aug 30, 2017
4f16ade
Merge pull request #7986 from RocketChat/fix-textarea-firefox
rodrigok Aug 30, 2017
6dbfad7
Merge pull request #7944 from RocketChat/fix-embedded
rodrigok Aug 30, 2017
c49d86a
Merge pull request #7927 from aditya19496/sidepane-scrollbar-fix
rodrigok Aug 30, 2017
eb2ffde
Merge pull request #7985 from RocketChat/text-area-mobile
rodrigok Aug 30, 2017
fcf6886
Bump version to 0.59.0-rc.3
rodrigok Aug 30, 2017
3439d73
Merge pull request #7754 from RocketChat/fix-mentions-email-notification
rodrigok Sep 5, 2017
7848a5a
Merge pull request #7989 from Rzeszow/develop
engelgabriel Sep 2, 2017
28cfdf5
Merge pull request #7998 from RocketChat/improvements/emoji-sort
rodrigok Sep 4, 2017
6016e05
Merge pull request #8001 from RocketChat/hotfix/autotranslate-parse-e…
engelgabriel Sep 2, 2017
0b109f3
Merge pull request #8014 from alexbrazier/bugfix/scrollbar
engelgabriel Sep 2, 2017
4bf3990
Merge pull request #8017 from RocketChat/user-status
engelgabriel Sep 2, 2017
ca4ce25
Merge pull request #8018 from RocketChat/search-results-height
engelgabriel Sep 2, 2017
be6812e
Merge pull request #8019 from RocketChat/messagebox-autogrow
rodrigok Sep 4, 2017
ff6b4df
Merge pull request #8039 from RocketChat/fix-clipboard
rodrigok Sep 4, 2017
4957576
Merge pull request #8046 from RocketChat/prevent-autotranslate-race-c…
rodrigok Sep 5, 2017
678fe0b
Merge pull request #8048 from RocketChat/fix-invisible-leader
rodrigok Sep 5, 2017
7e39818
Merge pull request #7988 from RocketChat/action=messages
rodrigok Sep 5, 2017
4b60f88
Bump version to 0.59.0-rc.4
rodrigok Sep 5, 2017
10119ea
Merge pull request #8047 from RocketChat/fix-scroll-on-texarea
engelgabriel Sep 8, 2017
8ce943c
Merge pull request #8054 from Kiran-Rao/patch-1
rodrigok Sep 8, 2017
b6034b6
Merge pull request #8059 from RocketChat/fix-default-email-notification
rodrigok Sep 13, 2017
74f85fd
Merge pull request #8099 from RocketChat/set-avatar-on-ldap-login
rodrigok Sep 13, 2017
eab15e9
Merge pull request #8122 from RocketChat/hotifx/settings-description-fix
rodrigok Sep 14, 2017
8643d35
Merge pull request #8101 from RocketChat/dynamic-popover
rodrigok Sep 13, 2017
cf69af6
Merge pull request #8112 from RocketChat/rtl
rodrigok Sep 14, 2017
c75d029
Bump version to 0.59.0-rc.5
rodrigok Sep 14, 2017
11af5f1
Merge pull request #8073 from RocketChat/meteor-1.5.2
rodrigok Sep 14, 2017
b4a9d4f
Merge pull request #8094 from RocketChat/audio-notification-translations
engelgabriel Sep 14, 2017
01dc20d
Merge pull request #8144 from RocketChat/fix-new-room-sound
rodrigok Sep 16, 2017
16e1877
Merge pull request #8159 from RocketChat/hotfix/text-lost-on-reload
rodrigok Sep 16, 2017
cc4702f
Merge pull request #8146 from astax-t/issue-8145
rodrigok Sep 18, 2017
a6808cc
Merge pull request #8147 from RocketChat/fix-the-members-list-rest-api
rodrigok Sep 18, 2017
541af14
Merge pull request #8154 from RocketChat/sidebar-rtl-alignment
rodrigok Sep 18, 2017
adc895a
Merge pull request #8167 from ruKurz/bugfix-8166
rodrigok Sep 18, 2017
b3cadfb
Merge pull request #8172 from TriPhoenix/file-upload-allow-whitelist
rodrigok Sep 18, 2017
da5d812
Bump version to 0.59.0-rc.6
rodrigok Sep 18, 2017
6a96511
Merge pull request #8190 from RocketChat/scroll
rodrigok Sep 20, 2017
0bac5d8
Merge pull request #8194 from RocketChat/more-rtl-fixes
rodrigok Sep 20, 2017
4be07ae
Merge pull request #8197 from RocketChat/dep-update
rodrigok Sep 19, 2017
211adb2
Merge pull request #8210 from RocketChat/fix-avatar
rodrigok Sep 19, 2017
a483db8
Merge pull request #8211 from Darkneon/fix-terms-of-serice-with-prefix
rodrigok Sep 20, 2017
b4651db
Merge pull request #8213 from RocketChat/leave-and-hide
rodrigok Sep 20, 2017
dc9c0dd
Bump version to 0.59.0-rc.7
rodrigok Sep 20, 2017
6634cee
Merge pull request #8216 from arminfelder/0.57.2-meteorSamlMergeCaseI…
rodrigok Sep 21, 2017
f9d9538
Merge pull request #8241 from RocketChat/rodrigok-patch-2
rodrigok Sep 21, 2017
343c134
Merge pull request #8243 from RocketChat/fix-leave-and-hide
rodrigok Sep 21, 2017
8e10974
Merge pull request #8244 from RocketChat/disable-perfect-scrollbar
rodrigok Sep 21, 2017
9ffb19a
Merge pull request #8252 from RocketChat/hover-mentions
engelgabriel Sep 22, 2017
b04faf8
Merge pull request #8259 from RocketChat/fix-popover-clipboard
engelgabriel Sep 23, 2017
c40c653
Merge pull request #8260 from RocketChat/read-only
engelgabriel Sep 23, 2017
5b3fd59
Merge pull request #8261 from RocketChat/fix-reply-rtl
engelgabriel Sep 23, 2017
8edaf1c
Merge pull request #8262 from RocketChat/hover-mentions
engelgabriel Sep 23, 2017
b5b6f48
Merge pull request #8257 from RocketChat/hover-color
engelgabriel Sep 23, 2017
a080cf6
Merge pull request #8253 from vcapretz/fix-broken-link-readme
engelgabriel Sep 22, 2017
a51e992
Bump version to 0.59.0-rc.8
rodrigok Sep 23, 2017
e0f8247
Merge pull request #8237 from matheusml/fix-8168
engelgabriel Sep 23, 2017
abc12dc
Merge pull request #8266 from intwarehq/rtl-room-info-buttons
engelgabriel Sep 23, 2017
929bada
Merge pull request #8269 from intwarehq/some-translation-fix
engelgabriel Sep 23, 2017
5a5026e
Merge pull request #8270 from Rzeszow/develop
engelgabriel Sep 23, 2017
1221887
Merge pull request #8271 from intwarehq/fix-attachment-icons-alignment
engelgabriel Sep 23, 2017
6663d0a
Merge pull request #8273 from RocketChat/meteor-update
rodrigok Sep 25, 2017
9543632
Merge pull request #8278 from intwarehq/rtl-modal-cancel-button
engelgabriel Sep 24, 2017
cb8fa8f
Merge pull request #8282 from RocketChat/hover-color
rodrigok Sep 25, 2017
9ef9376
Merge pull request #8286 from RocketChat/added-placeholder-translatoins
rodrigok Sep 25, 2017
22d8456
Merge pull request #8295 from Darkneon/fix-accessing-undefined-attach…
rodrigok Sep 25, 2017
3e72e0c
Merge pull request #8296 from RocketChat/hotfix/s3-download-file-name
engelgabriel Sep 25, 2017
ab63393
Merge pull request #8298 from RocketChat/hotfix/exception-on-room-not…
engelgabriel Sep 25, 2017
1156ad1
Merge pull request #8299 from RocketChat/scroll-admin
rodrigok Sep 25, 2017
96528fe
Merge pull request #8300 from RocketChat/fix-emojipicker-index
rodrigok Sep 25, 2017
0e2de7c
Merge pull request #8304 from RocketChat/add-rdstation-livechat-integ…
rodrigok Sep 26, 2017
412f8be
Merge pull request #8307 from RocketChat/call-button-rtl
rodrigok Sep 25, 2017
5097a5b
Merge pull request #8310 from RocketChat/disable-travis-chache-on-tags
rodrigok Sep 26, 2017
0cbf5b5
Bump version to 0.59.0-rc.9
rodrigok Sep 26, 2017
a494cf5
Deps update
rodrigok Sep 27, 2017
bd33117
Bump version to 0.58.3
rodrigok Sep 27, 2017
5114ce8
Merge pull request #8316 from RocketChat/hotfix/mention-indicator
rodrigok Sep 26, 2017
b0c7fd0
Merge pull request #8315 from RocketChat/message-actions-popover
rodrigok Sep 29, 2017
16ecc69
Merge pull request #8317 from RocketChat/MartinSchoeler-patch-1
rodrigok Sep 29, 2017
7827574
Merge pull request #8331 from RocketChat/mobile-file-upload
rodrigok Sep 29, 2017
63b910e
Merge pull request #8334 from RocketChat/admin-embedded-version
rodrigok Sep 29, 2017
3403d8b
Merge pull request #8314 from szluohua/synchronizing
rodrigok Sep 29, 2017
30838bc
Merge pull request #8355 from RocketChat/meteor-update
rodrigok Sep 29, 2017
36862d9
Bump version to 0.59.0-rc.10
rodrigok Sep 29, 2017
dd6dd6c
Merge pull request #8335 from RocketChat/0.58.3
rodrigok Sep 29, 2017
24d6053
Merge pull request #8345 from RocketChat/remove-lastact
rodrigok Sep 29, 2017
0b5bd77
Merge pull request #8357 from RocketChat/fix-missing-i18n
rodrigok Sep 29, 2017
c0fa17c
Merge pull request #8360 from RocketChat/reduce-accountbox-size
engelgabriel Sep 30, 2017
ca60ad9
Merge pull request #8362 from RocketChat/sidebar-item-width
engelgabriel Sep 30, 2017
36fa795
Merge pull request #8361 from RocketChat/mentions-badge
engelgabriel Sep 30, 2017
47ed90a
Merge pull request #8358 from RocketChat/remove-accountBox
engelgabriel Sep 30, 2017
5a6dee9
Merge pull request #8363 from RocketChat/lingohub_based_on_develop
rodrigok Sep 30, 2017
a5c8e20
Merge pull request #8364 from RocketChat/meteor-deps-update
engelgabriel Sep 30, 2017
76935e3
Merge pull request #8372 from RocketChat/improvements/ldap
rodrigok Oct 3, 2017
f12b732
Merge pull request #8375 from RocketChat/lingohub_based_on_develop
rodrigok Oct 3, 2017
ade5fee
Bump version to 0.59.0-rc.11
rodrigok Oct 3, 2017
3a90df3
[FIX] Meteor accounts issue - function which caused users to be logg…
rodrigok Oct 6, 2017
3e69c89
Merge pull request #8389 from RocketChat/fix-snap-npm-dep
rodrigok Oct 5, 2017
c51011e
Merge pull request #8390 from RocketChat/fixes-for-slack-import
rodrigok Oct 5, 2017
cf1eef4
Merge pull request #8408 from RocketChat/rest-api-improve-json-query-…
rodrigok Oct 5, 2017
60fa18c
Bump version to 0.58.4
rodrigok Oct 6, 2017
4ee2d4a
Merge branch 'master' into 0.58.4
rodrigok Oct 6, 2017
b6eb0b0
Merge pull request #8420 from RocketChat/0.58.4
rodrigok Oct 6, 2017
cc6fad4
Merge pull request #8398 from RocketChat/improvements/ldap-size-config
rodrigok Oct 4, 2017
17472d8
Merge pull request #8408 from RocketChat/rest-api-improve-json-query-…
rodrigok Oct 5, 2017
830849a
Merge pull request #8394 from RocketChat/fix-snippet-i18n
rodrigok Oct 5, 2017
49cef0d
Merge pull request #8386 from RocketChat/katex
rodrigok Oct 5, 2017
55398f1
Merge pull request #8397 from intwarehq/fix-8384
rodrigok Oct 5, 2017
4fd0d3d
Merge pull request #8390 from RocketChat/fixes-for-slack-import
rodrigok Oct 5, 2017
b20094a
Merge pull request #8389 from RocketChat/fix-snap-npm-dep
rodrigok Oct 5, 2017
8ddfc66
Merge pull request #8414 from RocketChat/improvements/ldap-reconnect
rodrigok Oct 5, 2017
4055689
Merge pull request #8417 from RocketChat/improvements/ldap-internal-l…
rodrigok Oct 5, 2017
061ecaf
Merge pull request #8416 from RocketChat/account-menu-rtl
rodrigok Oct 9, 2017
7932694
Bump version to 0.59.0-rc.12
rodrigok Oct 9, 2017
2d95ca1
Merge pull request #8451 from RocketChat/improvements/markdown-parser
rodrigok Oct 10, 2017
47afc0b
Merge pull request #8457 from RocketChat/improvements/ldap-memory-leak
rodrigok Oct 11, 2017
941051c
Merge pull request #8459 from RocketChat/improvements/md-autolinker-d…
rodrigok Oct 11, 2017
74a8fce
Bump version to 0.59.0-rc.13
rodrigok Oct 11, 2017
aea9c73
Merge pull request #8490 from RocketChat/hotfix/enable-autolinker
rodrigok Oct 14, 2017
342ed3a
Merge pull request #8489 from RocketChat/hotfix/reset-password-messag…
rodrigok Oct 14, 2017
a38d917
Merge pull request #8491 from RocketChat/hotfix/join-code
rodrigok Oct 15, 2017
ddd6a73
Merge pull request #8514 from RocketChat/hotfix/uncessary-route-reload
rodrigok Oct 17, 2017
d9fda62
Merge pull request #8516 from RocketChat/hotfix/cant-change-password
rodrigok Oct 17, 2017
41fe575
Merge pull request #8463 from RocketChat/migration-colors
rodrigok Oct 17, 2017
2b8cfeb
Merge pull request #8515 from RocketChat/change-artifact-path
rodrigok Oct 17, 2017
3c68961
Bump version to 0.59.0-rc.14
rodrigok Oct 17, 2017
840e9cd
Fix artifact path
geekgonecrazy Oct 17, 2017
be35d68
Merge pull request #8520 from RocketChat/hotifx/cpu-load
rodrigok Oct 18, 2017
66e6394
Bump version to 0.59.0-rc.15
rodrigok Oct 18, 2017
b9585e0
Merge pull request #8518 from RocketChat/fix-artifact-path
rodrigok Oct 18, 2017
8b15ba8
Merge pull request #8527 from RocketChat/do-not-send-joincode-field-t…
rodrigok Oct 18, 2017
cb119f1
Bump version to 0.59.0-rc.16
rodrigok Oct 18, 2017
3096344
Merge pull request #8529 from RocketChat/improvements/fast-room-sync
rodrigok Oct 18, 2017
c4d7fab
Bump version to 0.59.0-rc.17
rodrigok Oct 18, 2017
a7d50fb
Merge branch 'release-candidate'
rodrigok Oct 18, 2017
8f9a85b
Bump version to 0.59.0
rodrigok Oct 18, 2017
bf6993e
Merge pull request #8544 from RocketChat/hotfix/migration-103
rodrigok Oct 19, 2017
7cca958
Merge pull request #8541 from RocketChat/hotifx/ldap-login-error
rodrigok Oct 19, 2017
c61036b
Merge pull request #8547 from RocketChat/hotfix/revert-wrong-colors-f…
rodrigok Oct 19, 2017
1a29fd0
Merge pull request #8543 from RocketChat/hotfix/color-reset
rodrigok Oct 19, 2017
39b401c
Merge branch 'release-candidate'
rodrigok Oct 19, 2017
0710c94
Bump version to 0.59.1
rodrigok Oct 19, 2017
111a53d
Merge pull request #8577 from RocketChat/fix-livechat-guest-pool
rodrigok Oct 23, 2017
1e99e7b
Merge pull request #8551 from joesitton/fix-upload-uri-error
rodrigok Oct 23, 2017
16fde7b
Merge pull request #8613 from RocketChat/hotifx/ldap-merge-users
rodrigok Oct 23, 2017
d758ca6
Merge pull request #8635 from RocketChat/hotfix/channel-members-sort
rodrigok Oct 24, 2017
724fdf5
Merge pull request #8634 from RocketChat/message-popup-menu-mobile
rodrigok Oct 25, 2017
206d413
Merge pull request #8637 from RocketChat/create-channel-scroll
rodrigok Oct 25, 2017
b65f3a6
Merge branch 'release-candidate'
rodrigok Oct 25, 2017
69df205
Bump version to 0.59.2
rodrigok Oct 25, 2017
249716e
created packages for search
mrsimpson Oct 26, 2017
f2cea86
search provider interface definitions
mrsimpson Oct 30, 2017
cb63830
Skeleton of implementation
mrsimpson Oct 30, 2017
31b2ffe
Merge remote-tracking branch 'upstream/develop' into core/#8381-fullt…
mrsimpson Oct 31, 2017
a0f8a8a
Search interface and initial load defined.
mrsimpson Nov 1, 2017
3c84630
Provide implementation stub
mrsimpson Nov 2, 2017
1eca11a
allow providers to configure settings
mrsimpson Nov 2, 2017
c7284ca
First draft of runtime integration
mrsimpson Nov 2, 2017
54d7d40
Configuration and lifecycle for search providers
mrsimpson Nov 6, 2017
a510bdc
Split Redlink and Smarti Search with common components
mrsimpson Nov 6, 2017
7dedb69
Introduce phase model for easier hook handling
mrsimpson Nov 7, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM rocketchat/base:4

ENV RC_VERSION 0.59.0-develop
ENV RC_VERSION 0.59.2

MAINTAINER buildmaster@rocket.chat

Expand Down
1 change: 1 addition & 0 deletions .meteor/packages
Original file line number Diff line number Diff line change
Expand Up @@ -177,3 +177,4 @@ deepwell:bootstrap-datepicker2
rocketchat:postcss
dynamic-import@0.1.3
keepnox:perfect-scrollbar
redlink:search
2 changes: 2 additions & 0 deletions .meteor/versions
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ random@1.0.10
rate-limit@1.0.8
reactive-dict@1.1.9
reactive-var@1.0.11
redlink:search@0.0.1
reload@1.1.11
retry@1.0.9
rocketchat:2fa@0.0.1
Expand Down Expand Up @@ -190,6 +191,7 @@ rocketchat:postcss@1.0.0
rocketchat:push-notifications@0.0.1
rocketchat:reactions@0.0.1
rocketchat:sandstorm@0.0.1
rocketchat:search@0.0.1
rocketchat:slackbridge@0.0.1
rocketchat:slashcommands-archive@0.0.1
rocketchat:slashcommands-asciiarts@0.0.1
Expand Down
2 changes: 1 addition & 1 deletion .sandstorm/sandstorm-pkgdef.capnp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const pkgdef :Spk.PackageDefinition = (

appVersion = 62, # Increment this for every release.

appMarketingVersion = (defaultText = "0.59.0-develop"),
appMarketingVersion = (defaultText = "0.59.2"),
# Human-readable representation of appVersion. Should match the way you
# identify versions of your app in documentation and marketing.

Expand Down
2 changes: 1 addition & 1 deletion .travis/snap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then
RC_VERSION=$TRAVIS_TAG
else
CHANNEL=edge
RC_VERSION=0.59.0-develop
RC_VERSION=0.59.2
fi

echo "Preparing to trigger a snap release for $CHANNEL channel"
Expand Down
623 changes: 623 additions & 0 deletions HISTORY.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Rocket.Chat",
"description": "The Ultimate Open Source WebChat Platform",
"version": "0.59.0-develop",
"version": "0.59.2",
"author": {
"name": "Rocket.Chat",
"url": "https://rocket.chat/"
Expand Down
5 changes: 5 additions & 0 deletions packages/redlink-search/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Purpose
This package provides options to enable full-text-search in Rocket.Chat

# Implementation
For integrating as loosely as possible, this package provides an implementation of the Rocket.Chat search interface.
47 changes: 47 additions & 0 deletions packages/redlink-search/lib/SearchProvider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import {
SearchProvider,
searchProviders,
SearchProviderMetadata,
SearchProviderRuntimeIntegration,
SearchProviderUi
} from 'meteor/rocketchat:search';

export const SETTING_URL = 'RedlinkSearchUrl';

class RedlinkSearchProviderRuntimeIntegration extends SearchProviderRuntimeIntegration {

}

class RedlinkSearchProviderMetadata extends SearchProviderMetadata {
supportsPermissions() {
return true;
}

addSettings(section) {
section.add(SETTING_URL, '');
}

isConfigurationValid(settings, logger) {
logger.debug('Validating settings', settings);
if (!settings[SETTING_URL] || settings[SETTING_URL] === '') {
return false;
}
}
}

/*
Don't know whether an own UI is really necessary
*/
class RedlinkSearchProviderUi extends SearchProviderUi {

}
Copy link
Contributor

Choose a reason for hiding this comment

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

If implemented what would this do beyond the settings exposed?

Copy link
Collaborator Author

@mrsimpson mrsimpson Nov 3, 2017

Choose a reason for hiding this comment

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

@geekgonecrazy there are usecases where a search provider has own capabilities, such as filtering, facetting, more-like-this, ...
A generic UI would have to be highly configurable in order to deal with all the different options - and it would be tricky to get all providers aligned.
In addition to that, not all provides might be able to integrate with blaze. In this case, they could provide an empty template with a unique selector and provide the UI from the external system (loaded lazily). This makes the provider independent from RC-releases as well.

Copy link
Contributor

Choose a reason for hiding this comment

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

@graywolf336 thoughts? 🔝 this is going to be important across various parts of rocketchat apps.

Also we don't want to count on blaze.... as we might be switching frameworks. So something agnostic would be best if this is needed.

Copy link
Collaborator Author

@mrsimpson mrsimpson Nov 6, 2017

Choose a reason for hiding this comment

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

@geekgonecrazy one more thing about that: many external systems (which are to be integrated) already bring some sort of UI. For search, there are plenty of libs. None of them is written in blaze. Thus, a template which loads the other technology‘s UI onCreated is at least something to consider. As you said: also for the RC apps. See https://github.com/assistify/Rocket.Chat/blob/develop/packages/assistify-ai/client/views/app/tabbar/smarti.js


class RedlinkSearchProvider extends SearchProvider {
constructor() {
super('redlink', new RedlinkSearchProviderRuntimeIntegration(), new RedlinkSearchProviderMetadata(), new RedlinkSearchProviderUi());
}
}

Meteor.startup(function() {
searchProviders.add(new RedlinkSearchProvider());
});
23 changes: 23 additions & 0 deletions packages/redlink-search/package.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Package.describe({
name: 'redlink:search',
version: '0.0.1',
summary: 'Full-text search for RocketChat - open source provided by Redlink',
git: 'https://github.com/redlink-gmbh/rocket-search',
documentation: 'README.md'
});

Package.onUse(function(api) {
api.versionsFrom('1.5.2.2');
api.use('ecmascript');
api.use('rocketchat:search');

api.addFiles('lib/SearchProvider.js');

api.mainModule('redlink-search.js');
});

/*Package.onTest(function(api) {
api.use('ecmascript');
api.use('tinytest');
api.use('redlink:search');
});*/
5 changes: 5 additions & 0 deletions packages/redlink-search/redlink-search.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Write your package code here!

// Variables exported by this module can be imported by other packages and
// applications. See redlink-search-lib-tests.js for an example of importing.
export const name = 'search-redlink';
52 changes: 27 additions & 25 deletions packages/rocketchat-google-vision/.npm/package/npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/rocketchat-lib/rocketchat.info
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "0.59.0-develop"
"version": "0.59.2"
}
2 changes: 2 additions & 0 deletions packages/rocketchat-search/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Purpose
This package provides a framework and libraries for implementing a full-text-search inside Rocket.Chat
10 changes: 10 additions & 0 deletions packages/rocketchat-search/lib/RoomSearchResult.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Transport object for a single result when searching for Rooms
*/
export class RoomSearchResult {
constructor(roomId, title, formattedExcerpt) {
this.roomId = roomId;
this.title = title;
this.formattedExcerpt = formattedExcerpt;
}
}
90 changes: 90 additions & 0 deletions packages/rocketchat-search/lib/SearchProvider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
import {SearchProviderRuntimeIntegration} from './SearchProviderRuntimeIntegration';
import {SearchProviderMetadata} from './SearchProviderMetadata';
import {SearchProviderUi} from './SearchProviderUi';

/**
* A search provider is an implementation of a full-text-search within Rocket.Chat
* As such, it is integrated during the search-relevant events at runtime.
* It may provide own UI elements or re-use generic UI components
*/
export class SearchProvider {
constructor(identifier, runtimeIntegration, metadata, ui) {
if (!(runtimeIntegration instanceof SearchProviderRuntimeIntegration)) {
throw new Error('Invalid runtimeIntegration object, it must extend "SearchProviderRuntimeIntegration"');
}

if (!(metadata instanceof SearchProviderMetadata)) {
throw new Error('Invalid metadata object, it must extend "SearchProviderMetadata"');
}

if (!(ui instanceof SearchProviderUi)) {
throw new Error('Invalid ui object, it must extend "SearchProviderUi"');
}

this._identifier = identifier;

this._metadata = metadata;

// restrict visibility of components to the tier they are used on
if (Meteor.isServer) {
this._runtimeIntegration = runtimeIntegration;
}

if (Meteor.isClient) {
this._ui = ui;
}
}

get identifier() {
return this._identifier;
}

/*
As an alternative to interfaces, we use composition in order to group features and methods
*/

/**
* Interface for integrating the search provider in the transaction process of executing Rocket.Chat
* @return {SearchProviderRuntimeIntegration}
*/
get runtimeIntegration() {
return this._runtimeIntegration;
}

/**
* Interface for retrieving infromatino about the search provider which are used for configuration of the provider
* or for triggering switches in the caller
* @return {SearchProviderMetadata}
*/
get metadata() {
return this._metadata;
}

/**
* Interface for everything related to the user interface. This includes the actual UI components as well as all
* kinds of text presented to the end-user
* @return {SearchProviderUi}
*/
get ui() {
return this._ui;
}

/*
The following methods are the actual core of the search
*/

/**
* Perform a full-text-search for rooms. The content which is searched may depend on the provider.
* Potential sources are all properties handed over during replication
* @param searchText The text as entered by the user. Caution: there's no escaping done by the consumer. Protection
* for code injection needs to be performed by the implementaion
* @param userId The technical GUID of the user who executed the seach. This allows for integration of an ACL
* @param logger A logger providing log-levels {error, warn, info/log, debug, success}
* @return {Array} //todo: Define format of the result instance
*/
findRooms(searchText, userId, logger) {
logger.debug('Search for rooms triggered by', userId, 'with search text', searchText);
return [];
}

}
Loading