Giter VIP home page Giter VIP logo

seahub's Introduction

Build Status

Introduction

Seahub is the web frontend for Seafile.

Preparation

Getting it

You can grab souce code from GitHub.

$ git clone git://github.com/haiwen/seahub.git

Set up a virtualenv to install dependencies locally:

$ virtualenv .virtualenv
$ . .virtualenv/bin/activate

Install python libraries by pip:

$ pip install -r requirements.txt

Configuration

Modify CCNET_CONF_DIR, SEAFILE_CENTRAL_CONF_DIR, SEAFILE_CONF_DIR and PYTHONPATH in setenv.sh.template to fit your path.

CCNET_CONF_DIR is the directory, that contains the ccnet socket (and formerly ccnet.conf).

Since 5.0 SEAFILE_CENTRAL_CONF_DIR contains most config files.

SEAFILE_CONF_DIR is the seafile-data directory (and formerly contained seafile.conf).

Run and Verify

Run as:

$ . .virtualenv/bin/activate
$ ./run-seahub.sh.template

Then open your browser, and input http://localhost:8000/, there should be a Login page. You can create admin account using seahub-admin.py script under tools/ directory.

Internationalization (I18n)

Please refer to https://github.com/haiwen/seafile/wiki/Seahub-Translation

seahub's People

Contributors

abcdot avatar alexcxc avatar e1th0r avatar freeplant avatar imwhatiam avatar jointyang avatar killing avatar kklein33 avatar libra-co avatar likesclever avatar lins05 avatar llj avatar michael18811380328 avatar patrickgao91 avatar phillipthelen avatar pi3r1k avatar poetwang avatar r350178982 avatar seafile-dev avatar shuntian avatar siria55 avatar siria5555 avatar skywalkerspace avatar songjiaqi1 avatar swpd avatar tmhbofh avatar xiez avatar yangguoxuan-0503 avatar yinjianfei-user avatar zxj96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seahub's Issues

Update API always returns "Invalid URL".

I'm working on an automated backup solution using the Seafile API. Uploading new files works fine (request upload link, then post the file to that link), but updating an existing file does not.

The docs are pretty vague: https://github.com/haiwen/seafile/wiki/Seafile-web-API#update-file

Am I supposed to just post the file with the same path and filename to the update link, and expect Seafile to figure out what to do?

When I do so (post to "...seafhttp/update-api/...", I always get "Invalid URL." as a return value. Under "Update file" in the wiki, it also shows "POST http://cloud.seafile.com:8082/upload-api/ef881b22" as an example. Here, upload-api is used, and not update-api. Trying to upload a file with an existing name, creates a duplicate file with " (1)" added to its name, which is not what I'm after.

Is this a bug / lack of documentation, or have I missed something?

SERVICE_URL in ccnet/ccnet.conf ignored

Hi,
since server 1.7.0.1 the option SERVICE_URL in ccnet/ccnet.conf seems to be ignored, at least any shared URL has at once the default port 8000 URL instead of the one configured. It worked with 1.6.1 before.

Organisation ?

When I Installed Seahub i sea an Organisation Tab in the header.

I'm not sure to exactly understand the purpose of this future ?

Can somebody try to explain me ?

Thanks.

Sébastien

Problem with personal wiki

Hello,
I use seafile-server 1.7.0 with apache for SSL, everything is working fine except for Wiki.
As soon as I create a personal wiki, I'm redirected to an error page "Page unavailable". I can see the wiki library has been created but as soon as I click on the "Personal Wiki" tab, I got redirected to the error page.

Here is the content of my /tmp/seahub_django_request.log when I click on the tab:

2013-07-18 07:40:53,073 [ERROR] django.request:212 handle_uncaught_exception Internal Server Error: /home/wiki/
Traceback (most recent call last):
File "/seafile/seafile-server-1.7.0/seahub/thirdpart/Django-1.5.1-py2.6.egg/django/core/handlers/base.py", line 115, in get_response
response = callback(request, _callback_args, *_callback_kwargs)
File "/seafile/seafile-server-1.7.0/seahub/seahub/auth/decorators.py", line 25, in _wrapped_view
return view_func(request, _args, *_kwargs)
File "/seafile/seafile-server-1.7.0/seahub/seahub/views/wiki.py", line 43, in personal_wiki
content, repo, dirent = get_personal_wiki_page(username, page_name)
File "/seafile/seafile-server-1.7.0/seahub/seahub/wiki/utils.py", line 85, in get_personal_wiki_page
file_response = urllib2.urlopen(url)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 418, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1215, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
raise URLError(err)
URLError: <urlopen error [Errno 111] Connection refused>

Thank you.

[Feature] extend contact model

Hello,

I'm wanting to extend a bit the "contacts" part, in order to allow, later, a contact sync from some android (and iOS if developers care) app.

Why do this?
Easy: I'd like to avoid using google stuff as much as possible, including contact sync. As seafile already includes a really basic Contact part, I think it would be cool to extend it a bit - and extend the API as well in order to let other people try and sync their contacts to seafile - especially when they are using some home server with seafile installed on it.

What do you think about this idea? Care to review some pull-requests and integrate them, or should I just do that in my own installation?

In any cases, thanks a lot for making this app opensource - even if you're not wanting to integrate my patches, I'll let the whole stuff in my fork.

Cheers,

C.

No Pagination in Useradmin

The pagination for the useradmin seems to be broken. There are no prev/next buttons and when I set the current_page get value it also returns the first page.

The users are added through LDAP. (Theiß might be the source oft the bug? )

Looking at the source code I noticed Seahub isn't using the Django Pagination. Is there a specific reason for this?

Quota exceeding possible

Hi,
whether by web upload or seafile client syncing it is possible to put files into a repo beyond quota. The quota check seems only to apply after a file is uploaded/synced. If a file leads to quota exceeding all next files will not be uploaded, but it is possible to put a 30 MB file into a repo with a quota of 1 MB. Shouldn't quota be checked before upload or at least the exceeding file being deleted after upload?
Regards

Personal wiki broken?

Hi,
when creating a personal wiki in 1.7.0.1 the related library is created but the wiki itself cannot be viewd and results in a 404 error message:

HTTPError at /seafile/home/wiki/

HTTP Error 404: NOT FOUND

Request Method: GET
Request URL: http://seafile:8000/seafile/home/wiki/
Django Version: 1.5.1
Exception Type: HTTPError
Exception Value:

HTTP Error 404: NOT FOUND

Exception Location: /usr/lib/python2.6/urllib2.py in http_error_default, line 518
Python Executable: /usr/bin/python2.6
Python Version: 2.6.6
Python Path:

['/opt/seafile/seafile-server-1.7.0.1/seahub',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart/Djblets-0.6.14.dev-py2.6.egg',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart/gunicorn-0.16.1-py2.6.egg',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart/flup-1.0-py2.6.egg',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart/chardet-2.1.1-py2.6.egg',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart/Django-1.5.1-py2.6.egg',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib/python2.7/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib64/python2.7/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib/python2.6/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib64/python2.6/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seahub/thirdpart',
'/opt/seafile/seafile-server-1.7.0.1',
'/usr/lib/python2.6',
'/usr/lib/python2.6/plat-linux2',
'/usr/lib/python2.6/lib-tk',
'/usr/lib/python2.6/lib-old',
'/usr/lib/python2.6/lib-dynload',
'/usr/local/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL',
'/usr/lib/pymodules/python2.6',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib/python2.7/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib64/python2.7/site-packages',
'/opt/seafile/seafile-server-1.7.0.1/seafile/lib64/python2.6/site-packages']

Server time: Mo, 1 Jul 2013 07:56:43 +0200

Any idea?

[Feature] allow collaborative edition on web interface

Hello,

It may be really useful and great to do something like Etherpad on the web interface. Etherpad allows multiple persons to edit the same file through the web interface.
It also saves revisions on the fly, meaning:

  • never lose modification (as it's saved in real-time)
  • possibility to go back and forth in time, live

I'm pretty sure this won't be done in the next release - but, please, keep this feature in mind for the future :).

Thank you!

[Feature] allow viewing of encrypted files if server_crypto = false

I would like to volunteer to improve and to get in touch with this awesome project.
My intension is to allow the viewing of files like images or markdown documents even if the server_crypto is set to false.

Is this ok? or is this feature already in progress?

How can i get in touch with other developers? is there a chat or something like that?
Is there a planning board or something like that?

Usernames can't contain spaces

As we want to use seafile at our workplace, it would be nice to be able to hve spaces in nicknames, so that people can use their full name.

Could this be done or are their technical reasons for not allowing them?

"invalid input file" when editing .md/.seaf file online

When editing a .md/.seaf file online in Seahub web interface I get the error message "invalid input file" when saving my changes and nothing gets saved. I do not find any log file to find out more about what happens. Can you enlight me?

Case insensitive username possible?

I got complaints by Windows users that they did not manage to login because they did type their username "wrong" assuming it where case insensitive. As I could imagine there are more Windows users out there which never heard of case sensitivity - do you think it is possible to use case insensitive usernames?

Email address shouldn't be case sensitive

When logging in to the seafile web interface the case of the email address shouldn't matter.
Currently the case is checked which makes typing the address difficult on auto correcting keyboard like soft keyboards on smartphones.

Markdown editor inconsistency

When editing a .md file on online its preview supports tables like

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

They get rendered nicely. When visiting a wiki made of same .md file it gets rendered as

| Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 |

Are there different Markdown renderers used?

Regards
Henri

Login after setup does not work with Python 2.7

After a fresh install (following https://github.com/haiwen/seafile/wiki/Download-and-setup-seafile-server), logging in with the admin account simply redirects back to the login page.

Installation works fine, so does starting the server using the provided scripts (seafile.sh, seahub.sh, seahub runs using gunicorn), no errors or warnings.
Log files seahub.log and seahub_django_request.log in /tmp are both empty.

Starting seahub using Django's development webserver (python2.7 manage.py runserver 0.0.0.0:8000) yields the same problem, logging in does not work and no error messages appear.

Forcing seahub to use python2.6 (by adding the line "PYTHON=python2.6" before "$PYTHON {$manage_py} run_gunicorn (...)") resolves this issue, login and everything else works.

I've tested this using the bundled seahub (the one in http://seafile.googlecode.com/files/seafile-server_1.6.1_x86-64.tar.gz) and the latest version (http://seafile.googlecode.com/files/seahub-latest.tar.gz).

Link sharing issues in server 1.8

Hi,
I found 2 bugs in seahub 1.8. The first one is a strange behaviour when generating a link for a file to share. The filename gets doubled and so the
link gets unresolvable and does not work - see seahub_double_filename. The second is a minor one - why isn't there anymore a note on a file view that the file is shared, together with there share URL?
Regards

Connected clients overview not very useful

Hi,
in server 1.7.0.1 I spotted the Clients tab in personal startpage but found it not too useful. Not all clients are listed and every line of a library only has "unknown"-entries, which appear to be completely meaningless. Ist this still work in progress?
Regards

cannot view dot-files in browser

I use seafile to version my dot-files example: .vimrc, .bashrc etc.
Currently I see the code checks for file extensions .txt, .seaf etc, and allows the file to be viewed in the browser. You should consider giving the option to the user to disable this. So that all files less than 10KB, can be viewed in the browser no matter what the file extension is. It would be very helpful for me to view my dot-files, and I am sure many users would appreciate this.

How do you configure email properly?

I am getting this error:

Successfully resetted password to 123456 for user EMAIL_ADDRESS_HERE. But email notification can not be sent, because Email service is not properly configured.

I can't find any documentation about how to configure it, and my 15 minutes of bumbling about in the python code didn't do anything to help clarify it for me.

Thanks!

File upload to anonymous share

Hello,

is it possible to allow other persons to upload to a shared folder which is shared via link?

The scenario is, that I want to share a folder to someone not logged into Seafile, who got the share link via mail. This person should be able to upload files to the folder. Is this possible?

Thanks! Cheers!

Migration from SQLite to MySQL: Adding users failes

I've used the migration instructions on https://github.com/haiwen/seafile/wiki/Migrate-data-from-SQLite-to-MySQL to migrate from SQLite to MySQL.

Now creation of users and even deleting them failes:

Error exec query INSERT INTO EmailUser(email, passwd, is_staff, is_active, ctime) VALUES ('[email protected]', 'XXXXXXXXXXX', '0', '1', 1381504900000000): Duplicate entry '0' for key 'PRIMARY'.

I'm getting a lot more similar errors (duplicate entry 0) in the logs

2013-10-11 18:34:46,206 [WARNING] seahub.utils:807 calc_dir_files_last_modified (1062, "Duplicate entry '0' for key 'PRIMARY'")

Seems as if "auto_increment" isn't enabled for IDs in mysql but altering columns to enable it fails to (same error).

I've checked table "EmailUser" and there is only one entry for "0"

[Feature] heuristic save on web interface

Hello,

While writing some document through the web interface (either seaf or md), it may be great to have some heuristic save, like in Office, where document is saved each X minutes.
As Seafile manages revision, this means "create a new revision each X minutes". This way, we may have a really reliable text edition, avoiding some nasty things like "Oh shoo, I lost everything because I did a C^w in my Firefox".

This shouldn't be to hard to implement.

Thanks!

C.

Problem with quotes in french translation

Hi,

I just upgraded my server to 1.6 and didn't manage to edit personal wiki pages. It seems that the problem is linked to string translations.

For example, there 's the following in seahub/locale/fr/LC_MESSAGES/django.po :

msgstr "Echec de l'envoi"

This gives the following in generated seahub javascript code :

feedback('Echec de l'envoi. Vérifiez le réseau.', 'error');

As you see, the quote in "l'envoi" is not escaped and leads to a syntax error.

Note that this is just an example, there are other similar quotes in french translation.

Thanks !

Julien

Login Error After Setup

During login after first setup of the raspberry pi distribution I come up against the following error:
NetworkError at /accounts/login/

Can't connect to daemon

Request Method: POST
Request URL: http://192.168.0.10:8000/accounts/login/?next=/
Django Version: 1.3
Exception Type: NetworkError
Exception Value:

Can't connect to daemon
Exception Location: /var/www/cloud/seafile-server-1.6.1/seafile/lib/python2.7/site-packages/ccnet/client.py in connect_daemon, line 90
Python Executable: /usr/bin/python2.7
Python Version: 2.7.3
Python Path:

['/var/www/cloud/seafile-server-1.6.1/seahub',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart/Django-1.3-py2.7.egg',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart/Djblets-0.6.14.dev-py2.7.egg',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart/flup-1.0-py2.7.egg',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart/gunicorn-0.16.1-py2.7.egg',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart/chardet-2.1.1-py2.7.egg',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib/python2.7/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib64/python2.7/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib/python2.6/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib64/python2.6/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seahub/thirdpart',
 '/var/www/cloud/seafile-server-1.6.1',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PIL',
 '/usr/lib/pymodules/python2.7',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib64/python2.7/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib/python2.6/site-packages',
 '/var/www/cloud/seafile-server-1.6.1/seafile/lib64/python2.6/site-packages']
Server time: Tue, 28 May 2013 17:51:11 +0800

I have all dependencies installed as well as python 2.7. No clue what the issue is sadly.

Some strings can't be translated without rephrasing

Some strings in seafile are rather hard to translate into some languages.
One example is "Are you sure you want to reset password of". As it has to have the username at the end of the sentence, it isn't possible to translate this string into p.e. german, as the username would have to be in the middle of the sentence. (Rephrasing of course is an option but not that nice).

Is there a way to make all strings use the format variables to be able to have things like usernames in between too? Or is this rather impossible at some points beause of the way the javascript is built up?

System Admin notifications not shown if once marked as read

Steps to reproduce:

  • create a new notification in system admin panel
  • mark notification as current
  • notification is shown to the users
  • click on "X" to mark notification as read
  • remove notification from system admin panel
  • create new notification (again)
  • mark notification as current

=> BUG: notification isn't shown to the users!

It looks to me as if notifications are not identified by an unique ID but by a continuous number starting with the oldest notification. This should be changed.

Space key not working in .seaf editor

Hi,
when editing a .seaf file in online editor the space key is not working. Shift+space creates a space, but plain space key doesn't. The server is 1.8. I tested with Firefox and Internet Explorer.
Regards

Unable to view PDFs after upgrade to 1.7

I've upgraded my seafile server to version 1.7. Now I get an Page unavailable error when clickin on an PDF file in the seahub interface.

[ERROR] django.request:212 handle_uncaught_exception Internal Server Error: /repo/8dd5XXXXXXXXXXXXXXX/files/
Traceback (most recent call last):
  File "/home/seafile/haiwen/seafile-server-1.7.0/seahub/thirdpart/Django-1.5.1-py2.6.egg/django/core/handlers/base.py", line 115, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/seafile/haiwen/seafile-server-1.7.0/seahub/seahub/base/decorators.py", line 71, in _decorated
    return func(request, *args, **kwargs)
  File "/home/seafile/haiwen/seafile-server-1.7.0/seahub/seahub/views/file.py", line 297, in view_file
    elif filetype in (DOCUMENT, PDF) and fsize > OFFICE_PREVIEW_MAX_SIZE:
NameError: global name 'OFFICE_PREVIEW_MAX_SIZE' is not defined

Opening the link to a shared PDF works as expected (With PDF viewer).

Replace .seaf with .rtf

Hi,

wouldn't it be better to have the .rtf format which is editable with a local text editor rather than another proprietary format like .seaf? In richt text format, you can edit the file either in the web browser or locally in Windows / Linux / OS X.

Cheers!

Guests see "join group" button but can't join

If a guest access a private seafile group via https:///group/ he sees some information about the group (name, creator members...) and the "join group" button.
If the button is clicked an dialog opens with a "verification message" textarea and a submit button. This button doesn't work at all (Neither error nor success)

I think the user should have to register/login first.

[Feature] Option to set default behavior library history

It would be great if there would exist an option to set default behavior for the history setting of libraries similar to setting a default quota. Especially an option to prohibit infinite history would be very appreciated.

CSS loading lag in browser

Whenever browsing some folder or some files in Seafile webinterface there often is a little lag loading the CSS files for displaying. Often users see some ugly HTML and up to some some seconds later the Seafile page looks as expected. This happens with SERVE_STATIC being True or False, doesn't matter. Are you able to reproduce this? We have this effect in different instances of Seafile on different server with different browser, via LAN or Internet. Any idea?

Serving seafile behind https reverse proxy

I found out, that my problem described in #29 was totally unrelated to IPv6.

It is with Chrome silently blocking mixed content (ie. http ajax request to localhost from seafile served on https). The trivial solution would be if ccnet also listened for https requests. Do you have any other idea for resolving this?

localhost vs. IPv6

localhost usually points to 127.0.0.1 and/or [::1]. On Windows, if global IPv6 is available, browsers uses some heuristics if an ipv6 address is not available. This works only occasionally on my Windows7+Chrome test configuration.

The solution would be to (also) bind the local web server on IPv6, or use 127.0.0.1 in URLs instead of localhost.

Unable to login

Hi,

I've just finished installing seafile using this guide:
https://github.com/haiwen/seafile/wiki/Build-and-deploy-seafile-server-from-source

I've since gotten seahub setup using either nginx or ./manage.py runserver. In either case, no matter what I do, I'm getting "Unable to login with provided credentials" when I try to log in with my admin account.

For example, if I first startup seahub with ./manage.py runserver and then:
curl http://localhost:8000/api2/ping/
I get back:
pong
and if I (where username and pwd are exactly equal to what was plugged into seafile-admin reset-admin):
curl -d "username=username&password=pwd" localhost:8000/api2/auth-token/
I get back:
{"non_field_errors": ["Unable to login with provided credentials."]}

Any idea what could be going on? I played around in the ccnet database, and the username appears to be setup properly in there. And if I run ./manage.py createsuperuser with my username it tells me Error: That username is already taken.

Thanks for any help that you can provide.

[Feature] Sort Libraries and Starred

Sort Libraries and Sub-libraries and Shared by column: name, description, last update
Sort Starred by column: file name, library, last update
Remeber sort by column over sessions.

1.4 to 1.5.2 upgrade and libraries are missing in UI

1

Did the upgrade, followed the upgrade instructions. No error reported during upgrade process.

Libraries are still accessible if I use the link from my local machine to the server, syncing is fine. The UI here is just not showing correctly now.

Responsive layout (Optimize for mobile browsers)

When sharing files per link it's relatively likely that someone opens it on a smartphone or other mobile device. Currently the Seahub template is displayed in full width even on these devices. That's uncomfortable to use.
It would be great to have a fluid template which automatically resizes depending on screen size.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.