Git Product home page Git Product logo

spacebarchat's Issues

Add issue templates to repositories

Recently I saw several invalid-labeled issues and premade templates could be good a solution to decrase number of them and make It easier for people to ask, suggest, report and answer. For now templates for 4 actions specified above might be enough.

Bug Reports

  • external website & client integration
  • create issues for each report in this repo

Help!

I can't join any servers or add any friends!

Server

The server opens and says wait a little time and then it simply crashes

MongoError (selfhost)

image

MongoError: BSON field 'update.updates.u' is the wrong type 'array', expected type 'object'
    at MessageStream.messageHandler (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/connection.js:272:20)
    at MessageStream.emit (events.js:400:28)
    at processIncomingData (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
    at MessageStream._write (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at MessageStream.Writable.write (internal/streams/writable.js:303:10)
    at Socket.ondata (internal/streams/readable.js:726:22)
    at Socket.emit (events.js:400:28)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
  operationTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1628571804 },
  ok: 0,
  code: 14,
  codeName: 'TypeMismatch',
  '$clusterTime': {
    clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1628571804 },
    signature: { hash: [Binary], keyId: 0 }
  }
}
MongoError: BSON field 'update.updates.u' is the wrong type 'array', expected type 'object'
    at MessageStream.messageHandler (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/connection.js:272:20)
    at MessageStream.emit (events.js:400:28)
    at processIncomingData (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
    at MessageStream._write (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at MessageStream.Writable.write (internal/streams/writable.js:303:10)
    at Socket.ondata (internal/streams/readable.js:726:22)
    at Socket.emit (events.js:400:28)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
  operationTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1628571804 },
  ok: 0,
  code: 14,
  codeName: 'TypeMismatch',
  '$clusterTime': {
    clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1628571804 },
    signature: { hash: [Binary], keyId: 0 }
  }
} Promise {
  <rejected> MongoError: BSON field 'update.updates.u' is the wrong type 'array', expected type 'object'
      at MessageStream.messageHandler (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/connection.js:272:20)
      at MessageStream.emit (events.js:400:28)
      at processIncomingData (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
      at MessageStream._write (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/mongoose/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
      at writeOrBuffer (internal/streams/writable.js:358:12)
      at MessageStream.Writable.write (internal/streams/writable.js:303:10)
      at Socket.ondata (internal/streams/readable.js:726:22)
      at Socket.emit (events.js:400:28)
      at addChunk (internal/streams/readable.js:290:12)
      at readableAddChunk (internal/streams/readable.js:265:9)
      at Socket.Readable.push (internal/streams/readable.js:204:10)
      at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
    operationTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1628571804 },
    ok: 0,
    code: 14,
    codeName: 'TypeMismatch',
    '$clusterTime': { clusterTime: [Timestamp], signature: [Object] }
  }
}
register [email protected] ThatOneCalculator 
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:561:11)
    at ServerResponse.header (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/express/lib/response.js:771:10)
    at ServerResponse.send (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/express/lib/response.js:170:12)
    at ServerResponse.json (/home/the1calc/fosscord_clone/scripts/setup/fosscord/api/node_modules/express/lib/response.js:267:15)
    at /home/the1calc/fosscord_clone/scripts/setup/fosscord/api/dist/routes/auth/register.js:247:16
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

"Cannot read property 'merge' of undefined" when starting both HTTP API server and gateway

I'm following the contributing guide to try to get a local Fosscord server running and when I do npm start in both the HTTP API server api/ and the gateway gateway/, I get the following type error after attempting to connect to the local MongoDB instance:

TypeError: Cannot read property 'merge' of undefined
    at Object.init (/home/dsleung/fosscord/api/node_modules/@fosscord/server-util/dist/util/Config.js:35:37)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async FosscordServer.start (/home/dsleung/fosscord/api/dist/Server.js:68:9)

The full output of npm start for the API server:

> @fosscord/[email protected] start /home/dsleung/fosscord/api
> npm run build && node dist/start


> @fosscord/[email protected] build /home/dsleung/fosscord/api
> tsc -b .

[DB] connect: mongodb://localhost:27017/fosscord?readPreference=secondaryPreferred
[DB] connected
TypeError: Cannot read property 'merge' of undefined
    at Object.init (/home/dsleung/fosscord/api/node_modules/@fosscord/server-util/dist/util/Config.js:35:37)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async FosscordServer.start (/home/dsleung/fosscord/api/dist/Server.js:68:9)

And for the gateway:

> @fosscord/[email protected] start /home/dsleung/fosscord/gateway
> npm run build && node dist/start.js


> @fosscord/[email protected] build /home/dsleung/fosscord/gateway
> npx tsc -b .

[DB] connect: mongodb://localhost:27017/fosscord?readPreference=secondaryPreferred
TypeError: Cannot read property 'merge' of undefined
    at Object.init (/home/dsleung/fosscord/gateway/node_modules/@fosscord/server-util/dist/util/Config.js:35:37)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Server.listen (/home/dsleung/fosscord/gateway/dist/Server.js:35:9) Promise {
  <rejected> TypeError: Cannot read property 'merge' of undefined
      at Object.init (/home/dsleung/fosscord/gateway/node_modules/@fosscord/server-util/dist/util/Config.js:35:37)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
      at async Server.listen (/home/dsleung/fosscord/gateway/dist/Server.js:35:9)
}

I've tried updating @fosscord/server-util to the latest version under api/ (successfully), but to no avail - the issue still persists:

$ npm i @fosscord/[email protected]

Environment details:

  • OS: CentOS 8 Stream
  • Node version: 14.17.3
  • npm version: 6.14.13

Unable to change profile banner

So I just tried dev.fosscord.com/app (its amazing mostly for the free nitro lol) but the problem is that my profile banner won't change, I tried 3 gifs. I have a decent internet connection (⬇ 93.7 Mbps and ⬆ 84.2 Mbps) and live in India so I don't think that matters.

Cannot access http://localhost:3001 when using Docker

Following the setup outlined in https://docs.fosscord.com/contributing.html , I executed the following commands on Ubuntu 20.04 server with Docker installed and running and the current user added to the docker group (so no sudo is required):

$ git clone --recurse-submodules -j8 https://github.com/fosscord/fosscord
$ cd fosscord
$ git submodule foreach "git checkout master && git pull origin master"
$ docker-compose up

After waiting for a few minutes to stabilize, running $ docker container ls gives me the following output indicating the services are up and running:

CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS                      NAMES
c8ba84cffee1   fosscord_fosscord-api       "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:3001->3001/tcp     api
ede3cc550fe7   fosscord_fosscord-gateway   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:3002->3002/tcp     gateway
463773e75603   mongo                       "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:27017->27017/tcp   mongo

However, when I try to access http://localhost:3001 using curl, I get (same for port 3002):

$ curl http://localhost:3001
curl: (56) Recv failure: Connection reset by peer

https://serverfault.com/a/769583 suggested that this error may be due to the service listening to a port other than 3001, so I peered inside both containers from the fosscord_fosscord-api and fosscord_fosscord-gateway images and get:

$ docker container exec -it c8ba84cffee1 /bin/sh
# netstat -an | grep LISTEN
tcp        0      0 127.0.0.11:37439        0.0.0.0:*               LISTEN      
$ docker container exec -it ede3cc550fe7 /bin/sh
# netstat -an | grep LISTEN
tcp        0      0 127.0.0.11:34517        0.0.0.0:*               LISTEN      

So it seems that the API server and gateway are listening to random high-numbered ports instead of the intended ports 3001-3002. Or am I mistaken?

Cross-Instance communication

Just a way for a self-hosted server could communicate with another one so for example a guy on one server can chat with another guy on a completely different server.

Custom feature tiers

Reuse Nitro classic and Nitro flags as feature tier flags in a binary fashion:

00: base
01: premium 1
10: premium 2
11: premium 3

Use the boomerang logo

The boomerang logo, unlike game controller logo, cannot be confused with Discord Inc.'s logo.

RPC for developers

it would be great if someone makes a RPC script for the devs that displays all useful information about this project to reach more devs to work on this, thank you :)

Unable to recursively clone repo due to missing fosscord/fosscord.js-collection

(crossposted from Fosscord Discord: https://discord.com/channels/806142446094385153/806142446529806367/862297976613240842 )

Hi, I've been looking at testing out Fosscord locally and am currently following the steps in https://docs.fosscord.com/contributing.html

When I run the first command $ git clone --recurse-submodules -j8 https://github.com/fosscord/fosscord, Git seems to hang indefinitely at cloning https://github.com/fosscord/fosscord.js-collection so I disabled parallel clone (the -j8 flag) and tried again. It then asked me to enter my GitHub username and password twice, to which it informed that cloning failed (both times) for that particular submodule so the cloning of the main project failed. Upon inspection, https://github.com/fosscord/fosscord.js-collection returns a 404 when I try to visit it.

My question: is it expected for this particular submodule to fail during cloning and can I safely work on the project in the absence of this submodule?


In case this is relevant, I'm performing the clone on a CentOS 8 Stream system.

No free software license

Currently this project can't be called Open Source or free software since it doesn't have a license that meets any of the 2 criteria (or even at all).

Just in case, if you want a recommendation, I'd recommend AGPL-3.0-or-later for the server and GPL-3.0-or-later for the client. If you want extensions to be able to remain proprietary, then LGPL-3.0-or-later is fine for the client, too. These would ensure that the project remains free software.

By the way, all contributors would need to agree to licensing their existing contributions under whatever license you choose. (This step doesn't need to be done in the future thanks to GitHub's ToS.)

(IANAL, this is not legal advice.)

Support database encryption

Data protection law requires personally identifying data should not be accessible to service operators in plain form unless absolutely required. Hence, the database should be made to allow at-rest symmetric and/or end-to-end public key homomorphic encryption.

Blocked

My school's blocking system is blocking dev.fosscord.com for "Unknown Proxy" I know it isn't my administrator, it's just the page. Please fix this, my school uses this as a substitute since discord is blocked through our Securely.

Add native support for bridging to Matrix

About this issue

Support for bridging to Matrix should be an first-class feature, either through an built-in feature or adding backwards-compatible Matrix AS API.

Any possible roadblocks

Since the Matrix spec is not yet an official spec at IETF, like ActivityPub, and as per the docs, writing Matrix homeservers are magnitudes harder than writing bridges, bots, or clients.

Patreon/Funding

Donation page to maintain server costs and other expenses

LICENSE text

I see the LICENSE file contains a license header for AGPL-3.0-only. I would recommend that text be moved to a License subheading in the README file at least and the LICENSE file should contain the entirety of the AGPLv3 license. The benefit of this change is that LICENSE would be more obvious and displayed in the first page view of the GitHub project.

I would be happy to make a PR for this change.

How to contribute?

Have a look at http://docs.fosscord.com/ to get an overview about the project.
Read the documentation and setup the development environment.
You should be familiar with the discord api or read more about it in the docs.

Then create feature request issue in one our repos or comment on an existing one.
Or just write us on our development server.

Repos list

After making an issue, wait for message from one of our staff.
You will get informations about your feature.
Then, you can Pull Request that, and wait for review.

Running Fosscord without Internet access

I'd like to run my Fosscord instance with no internet access, but as soon as I cut the connection to the outside Internet, I can't do much with it, as it loses connection with some sort of service. How can I do it so Fosscord doesn't use any services using Internet access, or at least make it so Internet access isn't required?

Discord TOS

Even if this is a really early state and nobody knows how Discord will handle this (I hope to not see u in front of the judge), but myb it would make sense to implement a way to login without the discord account to be safe that you can use fosscord without getting eventually banned from discord.

Can't sign up

When I try to sign up, the submit button change to a infinite loading button.
So, I can't sign up.
Anybody can fix this issue, please?

Matrix channel?

I've been recently banned from discord for using a 3rd party client (as expected), and i wanted to continue to see the evolution of the project, maybe consider creating a matrix channel? (With bridging)

Matrix Bridge

It would be nice if fosscord supported the Matrix API, so that it could connect people from it's environment too.

I recon that implementing the Matrix API in the server could be too much; in that case, making it easy to make a bridge between fosscord and matrix could be a more feasible idea.

In any case, considering this option from the beginning should ease future attempts to interconnect both.

Setup Scripts

/setup

  • allow to install multiple repos in one installation or all of them
  • make the scripts OS independent
  • ?add script cli-arguments REF
  • finish:
    IF ERRORLEVEL ==A GOTO ALL
    IF ERRORLEVEL ==1 GOTO 
    IF ERRORLEVEL ==2
    IF ERRORLEVEL ==3
    IF ERRORLEVEL ==4
    IF ERRORLEVEL ==5
    IF ERRORLEVEL ==6
    IF ERRORLEVEL ==7
    ---
    (L.19-26)

Problem with creating channels (voice and text)

when I try to create a channel, I have an eternal loading, only reloading the page helps, here is a screenshot
image

Here logs

TypeError: Cannot read property 'id' of _undefined
at WebSocket.<anonymous> (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:133:39)
at Generator.next (<anonymous>)
at /home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:8:71
at new Promise (<anonymous>)
at __awaiter (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:4:12)
at WebSocket.consume (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:97:12)
at EventEmitter.<anonymous> (/home/user/Discord/fosscord-server/bundle/dist/util/src/util/Event.js:62:57)
at EventEmitter.emit (events.js:400:28)
at /home/user/Discord/fosscord-server/bundle/dist/util/src/util/Event.js:34:28
at Generator.next (<anonymous>) Promise {
<rejected> TypeError: Cannot read property 'id' of undefined
  at WebSocket.<anonymous> (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:133:39)
  at Generator.next (<anonymous>)
  at /home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:8:71
  at new Promise (<anonymous>)
  at __awaiter (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:4:12)
  at WebSocket.consume (/home/user/Discord/fosscord-server/bundle/dist/gateway/src/listener/listener.js:97:12)
  at EventEmitter.<anonymous> (/home/user/Discord/fosscord-server/bundle/dist/util/src/util/Event.js:62:57)
  at EventEmitter.emit (events.js:400:28)
  at /home/user/Discord/fosscord-server/bundle/dist/util/src/util/Event.js:34:28
  at Generator.next (<anonymous>)

}

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.