Skip to content

Commit f27cf89

Browse files
committed
Merge branch 'release-0.23'
2 parents e1af7b6 + 19feadd commit f27cf89

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1247
-543
lines changed

.hound.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ java_script:
22
enabled: true
33
config_file: .jshint
44
ignore_file: .javascript_ignore
5+
6+
scss:
7+
enabled: true
8+
config_file: .scss.yml

.travis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ go:
99
- tip
1010

1111
env:
12-
- GEM_HOME=/var/lib/gems/1.8
12+
- GEM_HOME=/var/lib/gems/1.9.1
1313

1414
before_install:
1515
- sudo add-apt-repository -y ppa:chris-lea/node.js
1616
- sudo apt-get update
1717

1818
install:
19-
- sudo apt-get -y install nodejs rubygems python-babel
20-
- sudo gem install oj
21-
- sudo gem install compass
19+
- sudo apt-get -y install nodejs python-babel ruby1.9.1-dev
20+
- sudo gem1.9.1 install compass
21+
- sudo gem1.9.1 install scss-lint
2222
- npm install
2323

2424
script:

Makefile.am

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ styles: fonts
9595
styleshint:
9696
cd $(CURDIR)/src/styles && $(MAKE) styleshint
9797

98+
styleslint:
99+
cd $(CURDIR)/src/styles && $(MAKE) styleslint
100+
98101
jshint:
99102
@if [ "$(JSHINT)" = "" ]; then echo "Command 'jshint' not found"; exit 1; fi
100103
$(FIND) static/ -wholename static/js/libs -prune -o -name "*.js" -print0 | xargs -0 -n1 $(JSHINT) --config .jshint

README.md

Lines changed: 65 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Spreed WebRTC
22
===================
33

4-
The latest version of Spreed WebRTC can be found on GitHub:
4+
Spreed WebRTC implements a WebRTC audio/video call and conferencing server
5+
and web client.
56

6-
https://github.com/strukturag/spreed-webrtc
7+
The latest version of Spreed WebRTC can be found on GitHub:
8+
https://github.com/strukturag/spreed-webrtc
79

810

911
## Build prerequisites
@@ -16,119 +18,124 @@ The latest version of Spreed WebRTC can be found on GitHub:
1618

1719
## Runtime dependencies
1820

19-
Spreed WebRTC compiles directly to native code and has no
20-
external runtime dependencies. See http://golang.org/doc/faq#How_is_the_run_time_support_implemented for details.
21+
Spreed WebRTC compiles directly to native code and has no
22+
external runtime dependencies. See [here](http://golang.org/doc/faq#How_is_the_run_time_support_implemented)
23+
for details.
2124

2225

2326
## Building
2427

25-
[![Build Status](https://travis-ci.org/strukturag/spreed-webrtc.png?branch=master)](https://travis-ci.org/strukturag/spreed-webrtc)
28+
[![Build Status](https://travis-ci.org/strukturag/spreed-webrtc.png?branch=master)](https://travis-ci.org/strukturag/spreed-webrtc)
2629

27-
If you got spreed-webrtc from the git repository, you will first need
28-
to run the included `autogen.sh` script to generate the `configure`
29-
script.
30+
If you got spreed-webrtc from the git repository, you will first need
31+
to run the included `autogen.sh` script to generate the `configure`
32+
script.
3033

31-
Configure does try to find all the tools on your system at the standard
32-
locations. If the dependencies are somewhere else, add the corresponding
33-
parameters to the ./configure call.
34+
Configure does try to find all the tools on your system at the standard
35+
locations. If the dependencies are somewhere else, add the corresponding
36+
parameters to the ./configure call.
3437

35-
```bash
36-
$ ./configure
37-
$ make
38+
```bash
39+
$ ./configure
40+
$ make
3841
```
3942

4043

4144
## Build seperately
4245

43-
Get Go external dependencies first with ``make get``.
46+
Get Go external dependencies first with ``make get``.
4447

45-
```bash
46-
$ make assets
47-
$ make binary
48-
```
48+
```bash
49+
$ make assets
50+
$ make binary
51+
```
4952

5053

5154
## Server startup
5255

53-
```bash
54-
spreed-webrtc-server [OPTIONS]
55-
```
56+
```bash
57+
spreed-webrtc-server [OPTIONS]
58+
```
5659

57-
Options
60+
### Options
5861

59-
-c="./server.conf": Configuration file.
60-
-cpuprofile="": Write cpu profile to file.
61-
-h=false: Show this usage information and exit.
62-
-l="": Log file, defaults to stderr.
63-
-memprofile="": Write memory profile to this file.
64-
-v=false: Display version number and exit.
62+
```
63+
-c="./server.conf": Configuration file.
64+
-cpuprofile="": Write cpu profile to file.
65+
-h=false: Show this usage information and exit.
66+
-l="": Log file, defaults to stderr.
67+
-memprofile="": Write memory profile to this file.
68+
-v=false: Display version number and exit.
69+
```
6570

66-
An example configuration file can be found in server.conf.in.
71+
An example configuration file can be found in server.conf.in.
6772

6873

6974
## Usage
7075

71-
Connect to the server URL and port with a web browser and the
72-
web client will launch.
76+
Connect to the server URL and port with a web browser and the
77+
web client will launch.
7378

7479

7580
## Development
7681

77-
To build styles and translations, further dependencies are required.
78-
The source tree contains already built styles and translations, so
79-
these are only required if you want to make changes.
82+
To build styles and translations, further dependencies are required.
83+
The source tree contains already built styles and translations, so
84+
these are only required if you want to make changes.
8085

8186
- [NodeJS](http://nodejs.org/) >= 0.10.0
8287
- [Compass](http://compass-style.org/) >= 1.0.0
8388
- [Sass](http://sass-lang.com/) >= 3.3.0
8489
- [Babel](http://babel.pocoo.org/)
8590

86-
The following Node.js modules are required, these may be installed
87-
locally by running `npm install` from the project root. Consult the
88-
`package.json` file for more details.
91+
The following Node.js modules are required, these may be installed
92+
locally by running `npm install` from the project root. Consult the
93+
`package.json` file for more details.
8994

90-
- [JSHint](http://www.jshint.com/) >= 2.0.0
9195
- [autoprefixer](https://www.npmjs.org/package/autoprefixer) >= 1.1
9296
- [po2json](https://github.com/mikeedwards/po2json)
97+
- [JSHint](http://www.jshint.com/) >= 2.0.0
98+
- [scss-lint](https://github.com/causes/scss-lint) >= 0.33.0
9399

94-
Styles can be found in src/styles. Translations are found in src/i18n.
95-
Each folder has its own Makefile to build the corresponding files.
100+
Styles can be found in src/styles. Translations are found in src/i18n.
101+
Each folder has its own Makefile to build the corresponding files. Check the
102+
Makefile.am templates for available make targets.
96103

97104

98105
## Running server for development
99106

100-
Copy the server.conf.in to server.conf.
107+
Copy the server.conf.in to server.conf.
101108

102-
Build styles, javascript and binary using make. Then run
103-
``./spreed-webrtc-server``
109+
Build styles, javascript and binary using make. Then run
110+
``./spreed-webrtc-server``
104111

105-
The server runs on http://localhost:8080/ per default.
112+
The server runs on http://localhost:8080/ per default.
106113

107-
HTML changes and Go rebuilds need a server restart. Javascript
108-
and CSS reload directly.
114+
HTML changes and Go rebuilds need a server restart. Javascript
115+
and CSS reload directly.
109116

110117

111118
## Running for production
112119

113-
Spreed WebRTC should be run through a SSL frontend proxy with
114-
support for Websockets. Example configuration for Nginx can be
115-
found in `doc/NGINX.txt`.
120+
Spreed WebRTC should be run through a SSL frontend proxy with
121+
support for Websockets. Example configuration for Nginx can be
122+
found in `doc/NGINX.txt`.
116123

117-
In addion for real work use one also needs a STUN/TURN server
118-
configured with shared secret support.
124+
In addion for real work use one also needs a STUN/TURN server
125+
configured with shared secret support.
119126

120-
See https://code.google.com/p/rfc5766-turn-server/ for a free
121-
open source TURN server implementation. Make sure to use a recent
122-
version (We recommend 3.2). Versions below 2.5 are not supported.
127+
See https://code.google.com/p/rfc5766-turn-server/ for a free
128+
open source TURN server implementation. Make sure to use a recent
129+
version (We recommend 3.2). Versions below 2.5 are not supported.
123130

124131

125132
## Contributing
126133

127-
1. "Fork".
128-
2. Make a feature branch.
134+
1. "Fork" develop branch.
135+
2. Create a feature branch.
129136
3. Make changes.
130137
4. Do your commits (run ``make fmt`` and ``make jshint`` before commit).
131-
5. Send "pull request".
138+
5. Send "pull request" for develop branch.
132139

133140

134141
## License

configure.ac

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ GO_VERSION_MIN=1.1
3737
NODEJS_VERSION_MIN=0.6.0
3838
NODEJS_VERSION_STYLES_MIN=0.10.0
3939
SASS_VERSION_MIN=3.3.0
40+
SCSS_LINT_VERSION_MIN=0.33.0
4041

4142
AC_CONFIG_SRCDIR([src/app/spreed-webrtc-server/main.go])
4243
AC_CONFIG_MACRO_DIR([m4])
@@ -123,6 +124,15 @@ else
123124
SASS_SUPPORT_STYLES=no],[SASS_SUPPORT_STYLES=yes])
124125
fi
125126

127+
AC_PATH_PROG([SCSS_LINT],scss-lint, [], [$PWD/node_modules/.bin$PATH_SEPARATOR$PATH])
128+
if test x"${SCSS_LINT}" == x"" ; then
129+
AC_MSG_WARN([Please install scss-lint to lint styles.])
130+
else
131+
AC_MSG_CHECKING([for version of scss-lint])
132+
SCSS_LINT_VERSION=`$SCSS_LINT --version | $SED 's/^scss-lint //' | $SED 's/ .*//'`
133+
AC_MSG_RESULT([$SCSS_LINT_VERSION])
134+
fi
135+
126136
if test x"${SASS}" != x"" ; then
127137
AC_MSG_CHECKING([for compass support in sass])
128138
tempfile=`mktemp -t XXXXXXblah`

debian/changelog

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
spreed-webrtc-server (0.23.6) precise; urgency=low
2+
3+
* Fixed Youtube module.
4+
* Contacts is now a module and can be disabled in server configuration.
5+
* Fixed stereo send support.
6+
* Improved Firefox support and added support for Firefox 36 and later.
7+
* Dropped support for Chrome < 34.
8+
* Account button in settings now use button style.
9+
* Added support for scss-lint validation.
10+
* Text.js was updated.
11+
* CPU overuse detection (Chrome) is no longe experimental and now enabled by default.
12+
13+
-- Simon Eisenmann <[email protected]> Fri, 20 Feb 2015 18:30:16 +0100
14+
115
spreed-webrtc-server (0.23.5) precise; urgency=low
216

317
* No longer install config file in install target of Makefile. We leave it to the packaging.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"private": true,
33
"dependencies": {
4-
"jshint": ">= 2.5.5",
54
"autoprefixer": ">= 3.1.0",
6-
"po2json": ">= 0.3.0"
5+
"po2json": ">= 0.3.0",
6+
"jshint": ">= 2.5.5"
77
}
88
}

server.conf.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ serverRealm = local
124124
;screensharing = true
125125
;youtube = true
126126
;presentation = true
127+
;contacts = true
127128

128129
[log]
129130
;logfile = /var/log/spreed-webrtc-server.log

src/app/spreed-webrtc-server/channelling_api.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ func (api *channellingAPI) OnIncoming(c ResponseSender, session *Session, msg *D
139139
}
140140
} else {
141141
if msg.Chat.Chat.Status != nil && msg.Chat.Chat.Status.ContactRequest != nil {
142+
if !api.Config.WithModule("contacts") {
143+
return
144+
}
142145
if err := api.contactrequestHandler(session, msg.Chat.To, msg.Chat.Chat.Status.ContactRequest); err != nil {
143146
log.Println("Ignoring invalid contact request.", err)
144147
return
@@ -173,10 +176,14 @@ func (api *channellingAPI) OnIncoming(c ResponseSender, session *Session, msg *D
173176
var users []*DataSession
174177
switch msg.Sessions.Sessions.Type {
175178
case "contact":
176-
if userID, err := api.getContactID(session, msg.Sessions.Sessions.Token); err == nil {
177-
users = api.GetUserSessions(session, userID)
179+
if api.Config.WithModule("contacts") {
180+
if userID, err := api.getContactID(session, msg.Sessions.Sessions.Token); err == nil {
181+
users = api.GetUserSessions(session, userID)
182+
} else {
183+
log.Printf(err.Error())
184+
}
178185
} else {
179-
log.Printf(err.Error())
186+
log.Printf("Incoming contacts session request with contacts disabled")
180187
}
181188
case "session":
182189
id, err := session.attestation.Decode(msg.Sessions.Sessions.Token)

0 commit comments

Comments
 (0)