intiface / intiface-central Goto Github PK
View Code? Open in Web Editor NEWIntiface Central (Buttplug Frontend) Application for Desktop and Mobile
License: Other
Intiface Central (Buttplug Frontend) Application for Desktop and Mobile
License: Other
We're back to one binary, so re-enable sandboxing and permissions so we can start working on app store submissions.
The Start/Stop scanning button toggles when you press it, but it doesn't react to StartScanning
and StopScanning
messages from the connected client.
The button should probably reflect in which state the server is and not just toggle its text when pressed.
A lot of Buttplug apps don't really handle anything but connecting to localhost, which means people wanting to use mobile apps would be out of luck. We need a way to have Intiface Central Desktop accept client connections and fly the data to Intiface Central Mobile.
Build a cubit at the app level that we can trigger to rebuild the whole app (minus platform specifics :| ) after reset.
Require all settings changes to happen only when the server is not running.
Description:
If I start intiface_central
from any folder except where the binary is located, dynamic libraries are not loaded properly.
Log:
kell@vika:~/Desktop$ ../Downloads/intiface_central_v2.2_linux_x64/intiface_central
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Failed to load dynamic library 'lib/libintiface_engine_flutter_bridge.so': lib/libintiface_engine_flutter_bridge.so: cannot open shared object file: No such file or directory
...
Steps to reproduce:
Expected behavior:
The server is started
Observed behavior:
Server doesn't start, exceptions in the console
Additional info:
v2.2.0
DeviceCubit still has some BLoC Events/States.
From Discord:
var engineControlBloc = BlocProvider.of<EngineControlBloc>(context);
you couldve used the context extension shortcut in your Blocs, probably wouldve made them a bit shorter;
var engineControlBloc = context.watch<EngineControlBloc>();
Right now the device list uses a bunch of ListViews, which aren't actually needed since they don't need to be scrollable. This can probably be a bunch of columns instead.
The Error/Update/News buttons on the control panel/desktop compact panel aren't particularly useful. For mobile, the information could be conveyed via colorization of the rail buttons, while on desktop they're only needed in compact mode (just using button colorization otherwise).
Allow users to enter Lovense Connect phone IP instead of going through the backend resolver. Will require buttplug changes also.
Not intiface_central.app
We already bring in the Local Notifications package, just need to add options and places to notify
The status icon and server start/stop button look exactly the same, meaning it just looks like there's two icons on the status UI.
This is a tough one. Right now we're using a separate process for the engine on desktop, which means macOS gets angry when engine tries to access bluetooth. If the engine is run separately in a terminal, we can answer the query which makes it work afterward. How we're going to fix this in the GUI short of just building the rust into the macOS project like we do on mobile, I don't know.
Just in case we get file corruption, partial downloads, etc...
Once we've either installed for the first time or downloaded a new engine, we should pull the version from the engine executable.
linter:
rules:
avoid_redundant_argument_values: true
use_super_parameters: true
directives_ordering: true
sort_constructors_first: true
unawaited_futures: true
Release builds of Intiface Central crash on startup. Debug builds seem fine. Possibly a symbol issue due to optimization?
Installing desktop from the MSIX installer doesn't allow for network access.
Due to buttplugio/buttplug#515 and the way our bridge system uses no_default_features on buttplug and intiface-engine, DCMs like the Lovense Dongle and Xinput do not work in Intiface Central.
We shouldn't need fine location for bluetooth access.
Permissions are listed at https://developer.android.com/guide/topics/connectivity/bluetooth/permissions
We currently only support Android 12+. Need to figure out what it will take to support older Android versions, and how far back we can support.
Hey there,
Totally understand the need to at this time restrict the access to the source code for Intiface Central until an official version is posted on all planned app stores, though this (until then) makes the statement on the website here misleading: "Intiface® Central is an open-source, cross-platform application...".
Recommend updating that to make clear that it is currently closed source but planning to be open source. Advertising something as open-source before it is creates an expectation that it has been subject to community review before it has been. It surprised me, and sent alarm bells ringing, and I'd hate for anyone introduced to such an excellent tool to get the wrong idea.
Otherwise people are going to be Very Unhappy about their log directory size, esp on mobile
Make sure we set the engine to 755 when downloading. Also check it on boot and reset it if it isn't.
can do constructor({super.a, super.b, etc...})
instead of constructor(a, b) : super(a, b)
Steps to reproduce:
Expected behaviour: the device stops instantly.
Current behaviour: the device delays a couple seconds before stopping.
Expected behaviour: the device connects with the default value (zero) set.
Current behaviour: the device connects and is set to the value set before the server was closed (on step 4).
Clicking on links in the news panel does nothing.
The settings panel sometimes stays disabled after a server stop
Requiring engine download on first run sucks, and breaks for a lot of people. We should make sure we ship with the latest engine available at time of install on desktop.
Is standard for flutter.
There's probably a flutter package for this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.