steam's Introduction
BRANCH OVERVIEW =============== steam-2.9-source is an archive of the original unmodified source that our server is built with. societyserver-devel is the build that we are currently running made from that source. because there is no official public steam repository at the moment, we are collecting our patches in a repository in our binary-build, so that they can be merged into a steam source repository at a later time. societyserver-source is a branch with our patches merged on top of steam-2.9-source steam-packages contains the old sTeam webinterface any other branches are temporary and should be ignored.
steam's People
Forkers
chanakade mortel sachinsurfs d4r3topk adityadivekar03 rohangoel96 falit sreejakshetty psvramaraju ajinkya007 siddhant085 rajat ivancoachersteam's Issues
Error installing web-interface web-2_2_17.spm file.
After installing the interface through the terminal, accessing the https://localhost results in shutting down of the server with an error code -1.
Add more utility to the commands related to group in the steam-shell.
The user should be able to delete the group. The members of the group should be displayed.
And the groups for which a user is a member should also be displayed using the commands in the steam-shell.
enable exporting of a single object
$ ./export-to-git.pike /sources/rest.pike /tmp/export-rest-test/
Connecting to sTeam server...
Password for [email protected] [steam]: *********
On branch Jul-29-10-06-33-2015
Initial commit
nothing to commit (create/copy files and use "git add" to track)
Switched to a new branch 'Jul-29-10-08-37-2015'
fatal: pathspec '.' did not match any files
Couldn't open "/tmp/export-rest-test//root/sources/rest.pike": No such file or directory
/usr/local/pike/7.8.700/lib/modules/Stdio.pmod/module.pmod:2370: Stdio->write_file("/tmp/export-rest-test//root/sources/rest.pike","inherit \"classes/Script\";\n#include <database.h>\n#include <classes.h>\n\nstring execute(mapping vars)\n{\n werror(\"WE WON'T REST\");\n mapping data"+[3291],438)
export-to-git.pike:99: /main()->git_add(mapping[5],"/tmp/export-rest-test//root/")
export-to-git.pike:185: /main()->export_to_git(127.0.0.1:1900/rest.pike+(#1004,/classes/DocLpc,529,source/pike,1 Instances, ({ /kernel/proxy.pike(1005/PSTAT_SAVE_OK), })),"/tmp/export-rest-test//root/",,,0)
export-to-git.pike:141: /main()->main(5,({"/usr/local/lib/steam/tools/export-to-git.pike",0,0,"/sources/rest.pike","/tmp/export-rest-test/"}))
this should export only the history of /sources/rest.pike
The login authentication in commandline does not work correctly.
The verification mechanism used in the client.pike in order to authenticate the user does not work correctly.
In case of a root user, if no password is entered, yet the system will login into the steam-shell.
However if a wrong password is entered, the system works correctly by not allowing access to the user.
In case of any other user, the mechanism fails as it is not able to login even if the correct password is entered.
object_to_path function in filepath.pike doesn't work for rooms.
- Doesn't work for rooms
(/home/gpname - returns void)
(/home/gpname/room - returns /home/gpname)
command: _Server->get_module("filepath:tree")->object_to_path(OBJ("/home/coder"))
result : "/void/" (faulty)
command: _Server->get_module("filepath:tree")->object_to_path(OBJ("/home/coder/newroom"))
result : "/home/coder/" (faulty)
This first "return /void/" might be faulty : https://github.com/eMBee/sTeam/blob/societyserver-devel/server/modules/filepath.pike#L423-L437
Add command in steam-shell.pike to list the users.
The user's currently in the steam-shell should be listed. The command should be available only if the user is a root user.
tab completion in debug needs to work for relative objects also
[x->y->tab] should work exactly like [y->tab]
include export source in branchname
if #8 is fixed to create a new independent branch, this would allow multiple exports to live in the same repo. since git is capable of handling that, it would be quite convenient. to help distinguish the branchen, we would then need more descriptive names:
export-to-git.pike /sources/ /tmp/export-test/
should create the branch sources-date
or even <hostname>-sources-<date>
create a user defined command in vim to close tabs including the editor and the log buffer.
:tabclose does the work pretty much but closing of the last tab needs to be handled.
On listing documents,gates,etc. the elements should be indented in the terminal display
The current layout is 2 spaces after every element. This occurs in steam-shell.pike on executing a list command or look command. Eg. "list gates", "look". The elements are not properly indented. They need to be indented in the manner, how the "ls" command works on UNIX.
Add the feature to create groups from the steam-shell
Allow users to crate groups from the steam-shell
Edit.pike does not display the status of the document in the log window.
Before PR #36 the edit.pike or edit utility used to display the status of the document. Also if a document were a pike file, it would compile it and display the compile status of the file in the log window. Now there is no activity in the log window.
Add the functionality to open files from inside vim
Once we are use the edit command from steam-shell or edit.pike we are inside vim editor. This feature allows us to open new file for editing without exiting vim. The new file opens in a new tab in the same terminal.
Integrate sTeam-shell into Vi
It means the ability to write sTeam code in a vim buffer, and have a command to send the code to the server, run it, and get results back.
consider this:
foreach(OBJ("/home/steam")->get_inventory();; object item){ if(item->get_identifier()[0..4]=="hello"){ item->set_attribute("OBJ_NAME", item->get_identifier()[5..]); }else{ object newroom; if(!OBJ("/home/steam/item->get_identifier()+".r")){ newroom =create("Room", item->get_identifier()+".r"); item->move(newroom); newroom->move(OBJ("/home/steam")); }}}
The above command can be executed in a shell, but it's impossible to read and edit where as iin a vim buffer, it could nicely formated and executed.
Extend edit command for multiple files
Allow edit command to accept multiple file names from the shell.
export and import need options to map user ids
sometimes it is useful to change the user ids on export or import.
an option should be added to allow specifying mappings from sTeam userids to name-email pairs.
such a mapping should probably be specified in a file (since it will be reused), and the file given as argument.
Error while creating Container in steam-shell
When trying to create a new container using the steam-shell it asks How would you describe it? On entering anything it shows Wrong command.|| maybe some bug. This needs to be fixed.
Steps to recreate
- Run the server.
- run steam-shell.pike in /tools folder.
- run create Container.
it shows How would you describe it? - enter any text.
output: Wrong command. || Maybe some bug.
Steam-shell.pike exits abruptly after using the edit command.
In the applauncher.pike, the upload function has an exit callback. This callback is triggered every time the edit command is called from with in the steam-shell.pike. This leads to closing of the steam-shell.pike. Also this callback is necessary for edit.pike script to exit properly.
Add command in steam-shell.pike to delete the objects.
The user should be able to delete the objects created/existing inside the user area. A steam-shell command needs to be added to delete the objects from the commandline.
Add command to create a document from the sTeam-shell
A user should be able to create a document from the command-line.
export should support multiple source arguments
if the last argument is always the target repository then any number of previous arguments can be sources.
the usecase is for example to export all custom files in /sources/ but ignore other files.
get_last_trail() function should not display strings.
obj->get_last_trail() should display only path objects. This issue is connected to issue #3 . whatever is passed in move("...") is reflected here.
Correct working should be returning the last object.
export should start with an empty commit.
the first commit to a new repo should be an empty commit without any commit message (or a message like "sTeam export-to-git") with an author and committer of root root@localhost, and a timestamp of 0 (1.1.1970, the start of unix time)
this should make the initial commit always the same hash, and if different servers export the same history to the same users, they should get the same git history
Inclusion of files in tools directory
The files in the tools directory are not installed in the location /usr/local/lib/steam/tools
export-to-git should work for multiple specific documents/containers
example command : ./export-to-git.pike /home/coder/file1 /home/coder/file2 /home/steam/container3 ~/gitfold
Failed to find libxslt library.
The ./configure
file is not able to find the libxslt.so
files.
The files in most probability will be present in the directory usr/lib/i386-linux-gnu
or /usr/lib/x86_64-linux-gnu
.
Edit.pike hangs on closing.
When edit.pike closes, commandline hangs.
This behaviour should be prevented.
On exit the program should be closed and unix terminal must be accessible to the user.
export-to-git should not create a root directory
export-to-git.pike /sources/ /tmp/export-test/
will result in exporting to /tmp/export-test/root/
instead it should export to /tmp/export-test/
import-from-git should support autodetection of doc type and create a document with that type
Currently - any file, be it .pike or .png, turns into a Document in sTeam with import-from-git script.
Need to auto detect type, this can be done in create_container, create_document functions.
The logs are not displayed correctly after running the Steam command when Multiple documents are opened.
The logs were displayed in the buffer number 2. But these results into logs getting displayed in erroneous log window when multiple documents are edited and the Steam command is called inside them.
move() function for objects should not accept strings
obj->move("/home/coder") should not work. Currently, it returns 1. This issue is connected to issue #4 .
Correct working should be only accepting path objects as parameters. Passing file,container objects gives error. so that is fine. Only string arguments is a problem.
import-from-git should work for single documents
./import-from-git /gitfolder/x.txt /home/coder/ - should create x.txt in /home/coder/
./import-from-git /gitfolder/x.txt /home/coder/y.txt - should create y.txt in /home/coder/ with the contents of x.txt.
Modularize the commands which operate on user in the steam-shell.pike.
The user commands to create,delete and list a user should be modularized into a sub menu inside the steam-shell. Depending upon the option selected the, the command should be processed.
The root user should be able to add user using commandline sTeam-shell.
The root user should be able to add new user's using the command line.
The parameter's like username, password, email-id etc. should be asked and then the user should be created.
get_environment() function doesn't work in client.
Keeps giving Container factory as an output to every object.
Indexing the NULL value using 'set_content'
Add TLS layer to coal protocol for steam-shell.
Add the tls layer to coal for the connection between steam-shell and the server.
Extend create command.
Allow entering the destination of the created object in the create command
tab completion on functions with same prefix doesn't write the common prefix to the input buffer
If there are multiple functions with same prefix like abcd_1 ,abcd_2 ,abcd_3, then doing a abc(tab) should auto-complete to the least common prefix that is "abcd", instead it keeps showing all of them, until user doesn't complete till "abcd".
Inside show_path_completions() function in tab_completion.pmod, it has to check for common prefix before returning.
tab-completion on query_attribute lists to much, at the wrong place
me->query_attribute([tab]
lists attributes and other values.
attributes should only be listed after ":
me->query_attribute("[tab]
and then only attributes should be listed.
Add command to send emails from steam-shell.
Add command to send an email from the steam-shell command line window.
export-to-git should create missing directories
$ ./export-to-git.pike /sources/ /tmp/export-test/
Connecting to sTeam server...
Password for [email protected] [steam]: *********
Process.create_process(): chdir() failed. errno:2
-:1: _static_modules.Builtin()->create_process()->create(({"git","status"}),mapping[1])
export-to-git.pike:123: /main()->git_init("/tmp/export-test//root/")
export-to-git.pike:178: /main()->export_to_git(127.0.0.1:1900/sources(#216,/classes/Container,3,59 objects),"/tmp/export-test//root/",({127.0.0.1:1900/home(#41,/modules/home,16391)}))
export-to-git.pike:141: /main()->main(5,({"/usr/local/lib/steam/tools/export-to-git.pike",0,0,"/sources/","/tmp/export-test/"}))
this should create /tmp/export-test/ instead of failing.
in fact, it should fail if the directory already exists and contains something else than a sTeam export.
command line hangs indefinitely when uploading web-interface's spm package
had to upload and install the web-package manually on https://localhost and atleast it shows the progress so that a user know that something is happening in the background.
edit script doesn't scroll down to latest log message
Delete a user.
Add the utility to delete a user. Only root user should be able to delete a user.
edit command does not work properly in steam-shell.
when using edit command from steam-shell, we are unable to type in the vim window. It works fine when the edit script is used independently. This is mostly because the pike command line terminal is in different state from the outside. One possible solution is to open vim in a new window.
import-from-git should work for multiple documents
./import-from-git /gitfolder/ /home/coder/ - copy all documents/folders inside gitfolder's git tree to /home/coder/
Improve help
A more elaborate help is needed that shows all the available commands and the syntax and use of each.
Steam-shell.pike does not work when arguments like username etc are passed.
The steam-shell.pike was modified during it's integration inside vim. The steam-shell.pike supports execution of commands which are passed to it as arguments. But when the arguments like user name, host name or port number are supplied to the steam-shell.pike it doesn't work now.
Support for them must be added.
when updating an export, check if the same thing is being exported
it is possible to do:
export-to-git.pike /sources/ /tmp/export-test/
followed by
export-to-git.pike /home/sTeam/ /tmp/export-test/
this results in a branch being created based on the export time, with the history of the second export being added to the history of the first.
to fix this, check if the export source is actually the same.
if it is different, create a new branch that is not based of the old branch, or refuse exporting.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.