Coder Social home page Coder Social logo

grishka / smithereen Goto Github PK

View Code? Open in Web Editor NEW
358.0 358.0 27.0 10.85 MB

Federated, ActivityPub-compatible social network server with friends, walls, and groups.

License: The Unlicense

PHP 0.59% Java 75.77% JavaScript 0.24% TypeScript 7.83% Shell 0.01% Dockerfile 0.03% Twig 11.61% SCSS 3.92%
activitypub fediverse

smithereen's People

Contributors

alexgleason avatar chiliec avatar dependabot[bot] avatar grishka avatar handlerug avatar kgilpin avatar maximal avatar mkljczk avatar petermx avatar vpzomtrrfrt 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

smithereen's Issues

Make /system/about less hard to find

Endpoint /system/about is useful to provide more information when reporting a bug. Currently it's almost impossible to find it when logged in.

No back button

When reading comments in tablet there is not a go back button, so I need to use browser back button but would be nice to have one in Smithereen like Twitter:
IMG_0002
IMG_0001

Hiding sensitive content

Smithereen don't hide posts marked as sensitive content, it hides only posts with content warning.
Maybe, you can show sensitive content posts as a post with empty content warning or just with a particular header.
image

The funny thing, is what there was post from mastodon, but for posts from pleroma,
image
image

Situation a bit reversed...
Pictures marked as sensitive are hiding behind CW, but images with CW seems to be removing CW text

Accept hs2019 algorithm in signatures

Some AP implementations are sending signatures with "hs2019" as the algorithm per https://www.ietf.org/archive/id/draft-ietf-httpbis-message-signatures-00.txt

Technically it's supposed to mean deriving the algorithm from other objects, but practically everyone still assumes it means rsa-sha256 (see also https://socialhub.activitypub.rocks/t/state-of-http-signatures/754)

Apparently the newer drafts completely change the format of the signature headers so that might also be relevant eventually

Support channel

I thought it would be nice to have an administrators community to ask some dumb questions (can I communicate with other federations? does access_level=3 actually grant something? can I make friends with other instances?) there instead of polluting GitHub repository with more "how do I?" issues. For example, Telegram chat, IRC channel, Gitter chatroom...

IDN (e. g. cyrillic) domains result in unusable links

The following input:

супербиток.сука.сайт
https://супербиток.сука.сайт/
https://супербиток.сука.сайт/404

Results in the following HTML (newlines added for clarity):

<a>супербиток.сука.сайт</a><br>
<a>https://супербиток.сука.сайт</a>/<br>
<a>https://супербиток.сука.сайт/404</a>

The <a> tags here lack the href attribute, so you can't click them. See live: https://friends.grishka.me/posts/155635

Workaround is to explicitly add the IDN-encoded <a href=...> tag to the post source: https://friends.grishka.me/posts/155641

If server is running for a long time, exception is thrown whenever app tries connect to the database

com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully received from the server was 40,737,108 milliseconds ago. The last packet sent successfully to the server was 40,737,108 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
	at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)
	at smithereen.storage.SessionStorage.getAccountForUsernameAndPassword(SessionStorage.java:87)
	at smithereen.routes.SessionRoutes.login(SessionRoutes.java:35)
	at spark.RouteImpl$1.handle(RouteImpl.java:72)
	at spark.http.matching.Routes.execute(Routes.java:61)
	at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134)
	at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1671)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:505)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: The last packet successfully received from the server was 40,737,108 milliseconds ago. The last packet sent successfully to the server was 40,737,108 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
	at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
	at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:539)
	at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:703)
	at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:642)
	at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:941)
	at com.mysql.cj.NativeSession.execSQL(NativeSession.java:1075)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:930)
	... 24 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
	at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
	at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
	at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52)
	at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41)
	at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54)
	at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44)
	at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:533)
	... 29 more

Can't attach an image when editing a wall post

Hi 👋
I can't attach an image when editing a wall post.

Steps to reproduce a bug:

  1. Open your wall
  2. Write a post
  3. Try upload an image while editing your post and save

The text of the post is being edited, but the uploaded files do not appear in the post

Export blocklist in well-known API path?

Most Fediverse software, like Mastodon, supports domain block lists. This isn't a personal block/mute. It is a server-wide block/mute that only the administrator can start.

It is commonly reachable under /api/v1/instance/domain_blocks and is, of course, a JSON response. You can find great example by calling that URL on many Mastodon instances, e.g. https://mastodon.social/api/v1/instance/domain_blocks is a very large list.

Can you add such API path to your software?

Like to a comment issue (mobile version Safari)

Upload.from.GitHub.for.iOS.MOV

When I like a comment, it shows me that I liked the post (puts me to a "people who favorited this post" section). It disappears after refreshing the page though

Group black list template rendering exception

When I enter to Black list of my group, I get an error:

com.mitchellbosecke.pebble.error.ParserException: Positional arguments must be declared before any named arguments. (group_edit_blocking:15)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parseArguments(ExpressionParser.java:579)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parseArguments(ExpressionParser.java:534)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parseFunctionOrMacroInvocation(ExpressionParser.java:437)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parsePostfixExpression(ExpressionParser.java:426)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.subparseExpression(ExpressionParser.java:339)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parseExpression(ExpressionParser.java:161)
	at com.mitchellbosecke.pebble.parser.ExpressionParser.parseExpression(ExpressionParser.java:92)
	at com.mitchellbosecke.pebble.parser.ParserImpl.subparse(ParserImpl.java:146)
	at com.mitchellbosecke.pebble.tokenParser.ForTokenParser.parse(ForTokenParser.java:40)
	at com.mitchellbosecke.pebble.parser.ParserImpl.subparse(ParserImpl.java:195)
	at com.mitchellbosecke.pebble.tokenParser.BlockTokenParser.parse(BlockTokenParser.java:49)
	at com.mitchellbosecke.pebble.parser.ParserImpl.subparse(ParserImpl.java:195)
	at com.mitchellbosecke.pebble.parser.ParserImpl.subparse(ParserImpl.java:104)
	at com.mitchellbosecke.pebble.parser.ParserImpl.parse(ParserImpl.java:97)
	at com.mitchellbosecke.pebble.PebbleEngine.getPebbleTemplate(PebbleEngine.java:169)
	at com.mitchellbosecke.pebble.PebbleEngine.lambda$getTemplate$2(PebbleEngine.java:151)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
	at com.mitchellbosecke.pebble.cache.template.ConcurrentMapTemplateCache.computeIfAbsent(ConcurrentMapTemplateCache.java:24)
	at com.mitchellbosecke.pebble.cache.template.ConcurrentMapTemplateCache.computeIfAbsent(ConcurrentMapTemplateCache.java:9)
	at com.mitchellbosecke.pebble.PebbleEngine.getTemplate(PebbleEngine.java:151)
	at com.mitchellbosecke.pebble.PebbleEngine.getTemplate(PebbleEngine.java:122)
	at smithereen.templates.Templates.getTemplate(Templates.java:114)
	at smithereen.templates.RenderedTemplateResponse.getAndPrepareTemplate(RenderedTemplateResponse.java:75)
	at smithereen.templates.RenderedTemplateResponse.renderToWriter(RenderedTemplateResponse.java:62)
	at smithereen.SmithereenApplication.lambda$main$36(SmithereenApplication.java:484)
	at smithereen.sparkext.ExtendedStreamingSerializer$Entry.serialize(ExtendedStreamingSerializer.java:42)
	at smithereen.sparkext.ExtendedStreamingSerializer.process(ExtendedStreamingSerializer.java:26)
	at spark.serialization.Serializer.processElement(Serializer.java:49)
	at spark.serialization.SerializerChain.process(SerializerChain.java:53)
	at spark.http.matching.Body.serializeTo(Body.java:72)
	at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:195)
	at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1584)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:501)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.base/java.lang.Thread.run(Thread.java:832)

Group joining error

As a user who has zero groups I'm trying to join group and get an error:

Unhandled exception

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups SET member_count=member_count+1 WHERE id=1' at line 1
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)
	at smithereen.storage.GroupStorage.joinGroup(GroupStorage.java:368)
	at smithereen.routes.GroupsRoutes.join(GroupsRoutes.java:216)
	at smithereen.sparkext.CSRFRoute.handle(CSRFRoute.java:17)
	at spark.RouteImpl$1.handle(RouteImpl.java:72)
	at spark.http.matching.Routes.execute(Routes.java:61)
	at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134)
	at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1584)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:501)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.base/java.lang.Thread.run(Thread.java:832)

web container can't find mysql container

Starting the project with the provided docker-compose.yml, I'm stuck on the following issue.

MySQL reports ready and OK:

smithereen-mysql-1     | 2023-05-15T17:36:40.214471Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
smithereen-mysql-1     | 2023-05-15T17:36:40.220184Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.33'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

The web container can't seem to find the database:

View stack trace ⬇️
smithereen-web-1       | Exception in thread "main" java.lang.RuntimeException: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at smithereen.SmithereenApplication.main(SmithereenApplication.java:106)
smithereen-web-1       | Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
smithereen-web-1       |        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
smithereen-web-1       |        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
smithereen-web-1       |        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
smithereen-web-1       |        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
smithereen-web-1       |        at smithereen.storage.DatabaseConnectionManager.getConnection(DatabaseConnectionManager.java:30)
smithereen-web-1       |        at smithereen.Config.loadFromDatabase(Config.java:124)
smithereen-web-1       |        at smithereen.SmithereenApplication.main(SmithereenApplication.java:103)
smithereen-web-1       | Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
smithereen-web-1       |        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
smithereen-web-1       |        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
smithereen-web-1       |        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
smithereen-web-1       |        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
smithereen-web-1       |        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91)
smithereen-web-1       |        at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826)
smithereen-web-1       |        ... 8 more
smithereen-web-1       | Caused by: java.net.ConnectException: Connection refused
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect0(Native Method)
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect(Net.java:579)
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect(Net.java:568)
smithereen-web-1       |        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
smithereen-web-1       |        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
smithereen-web-1       |        at java.base/java.net.Socket.connect(Socket.java:633)
smithereen-web-1       |        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
smithereen-web-1       |        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
smithereen-web-1       |        ... 11 more
smithereen-web-1 exited with code 1
smithereen-web-1       | Exception in thread "main" java.lang.RuntimeException: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at smithereen.SmithereenApplication.main(SmithereenApplication.java:106)
smithereen-web-1       | Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
smithereen-web-1       |        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
smithereen-web-1       |        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
smithereen-web-1       |        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
smithereen-web-1       |        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
smithereen-web-1       |        at smithereen.storage.DatabaseConnectionManager.getConnection(DatabaseConnectionManager.java:30)
smithereen-web-1       |        at smithereen.Config.loadFromDatabase(Config.java:124)
smithereen-web-1       |        at smithereen.SmithereenApplication.main(SmithereenApplication.java:103)
smithereen-web-1       | Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
smithereen-web-1       | 
smithereen-web-1       | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
smithereen-web-1       |        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
smithereen-web-1       |        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
smithereen-web-1       |        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
smithereen-web-1       |        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
smithereen-web-1       |        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
smithereen-web-1       |        at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
smithereen-web-1       |        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91)
smithereen-web-1       |        at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956)
smithereen-web-1       |        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826)
smithereen-web-1       |        ... 8 more
smithereen-web-1       | Caused by: java.net.ConnectException: Connection refused
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect0(Native Method)
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect(Net.java:579)
smithereen-web-1       |        at java.base/sun.nio.ch.Net.connect(Net.java:568)
smithereen-web-1       |        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
smithereen-web-1       |        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
smithereen-web-1       |        at java.base/java.net.Socket.connect(Socket.java:633)
smithereen-web-1       |        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
smithereen-web-1       |        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
smithereen-web-1       |        ... 11 more
smithereen-web-1 exited with code 1

Make a public Rest API

Hello! 👋
I propose to develop a public Rest API for developing third-party clients

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.