All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
0.18.1 (2022-02-10)
- cli: Fix template directory parsing issues (06fea8c)
0.18.0 (2022-01-28)
- common: Add
useDesktopNotifications
hook to handle the@wuespace/telestion-client-core
useNotifications
API notifications by sending desktop notifications. CalluseDesktopNotifications()
in your client project'ssrc/components/app.tsx
to use it. (16d2033), closes #1171 - common: Add a
showDialog
function which creates a new configured dialog. Every dialog is stored in the Telestion Common dialog state which is accessible through theuseDialog
hook. These dialogs are rendered with theModalContext
component. (fec24d8) - common: Add state support for the dialog and their entries in the
showDialog
function. Every component in the dialog configuration now receives the current state and a function to update it. The resolved promise then returns the final state of the dialog. (f78523f) - common: Use spectrum dialog instead of native dialog window to confirm user configuration reset (eb4e0b1), closes #854
- template: Enable desktop notifications by default using the common's
useDesktopNotifications
hook (f00325a), closes #1171 - template: Remove duplicate dependency
@react-spectrum/table
(0327129)
- cli: Fix native builds not running when there are linter warnings while compiling the React app (b482795), closes #970
- Fix incompatibilities with
directory-tree
v3.0.0 (7f0aac1) - telestion-client-template: Disable
<StrictMode />
in default template to improve compatibility with React Spectrum (984a805)
0.17.0 (2021-06-25)
- template: Remove
@react-spectrum/tabs
dependency because it is no longer required (3aaf702)
- common: Update eventbus debug widget due to breaking changes in
@react-spectrum/table
(81b3517)
0.16.1 (2021-06-23)
- common: Fix rendering error in
ConfigRenderer
component (337c47b) - common: Fix reset configuration entry reloads application on cancel (841d1df)
0.16.0 (2021-06-23)
- types: The
GlobalRendererProps
type is removed. An exported widget now requires aversion
property. Thetitle
property is removed from theWidgetDefinition
type. - types: A widget definition for a dashboard configuration now requires a unique identifier.
- cli: Update widget generate command due to breaking changes (5b9bd2f)
- common: Add a reset configuration menu entry to the avatar menu (6d8d42e)
- common: Add the eventbus debug widget. To use it, simply add the
commonWidgets
to the widgets list of theCommonWrapper
component. (5b82612) - common: Add tooltips to copy and paste actions in widget configuration (c552ac1)
- common: Compress media files (3b19494)
- common: Implement
ContextMenu
component which renders the registered menu items on a context event (72dacf0) - common: Implement
ContextMenuProvider
andContextMenuWrapper
that allows the usage of custom context menu in the application (see documentation for more information) (b980299) - common: Implement the copy and paste feature which allows the transfer of configurations between widgets. (28bc167)
- common: Implement the widget configuration mode which renders the exported
ConfigControls
for every widget. (5a71a35), closes #562 - common: Insert the
ContextMenuProvider
into theCommonWrapper
component to provide context menu support by default for projects using theCommonWrapper
component (a33acbe) - common: Register a context menu item to configure the widget on a context event (fcee39c)
- common: Remove padding left override for input svg elements (react-spectrum text field fix) (601ff4f)
- common: The dashboard page now displays a loading indicator if the event bus is not initialized yet. (80ce8a1)
- common: The widget renderer now uses the
widget.id
to identify the currently rendered widgets (c7ff348) - common: Update eventbus debug widget to be compatible with the
Widget
definition. (41ee77d) - template: Add @react-spectrum/table as normal dependency (05c3cce)
- template: Import common widgets into application by default (c336b9a)
- template: Update sample widget and user configuration due to breaking changes (4f619e4)
- types: Add a unique identifier to a widget definition (1c3d8c4)
- types: Add context menu types (
MenuItem
andSection
) (ca7e489) - types: Remove title as required widget configuration and therefore the
GlobalRendererProps
because it is no longer needed. A widget must now export a version. (1288054)
- common: Fix some styling issues related to widget configuration and context menu (dc0f290)
- common: Fix spelling in illustrated message in eventbus details (33c260e)
- common: Add no event bus story to dashboard page (ef58bfa)
0.15.1 (2021-06-03)
- common: Fix
StaticColorMap
colors in the common spectrum colors implementation (406f9e7) - Correct wrong static color names (
static-black
andstatic-white
) inStaticSpectrumColor
type (0acdf91)
0.15.0 (2021-06-03)
- core: The
AuthRoute
andUnAuthRoute
components do no longer exist. Please use the attached routing object on the Page Component instead. Mostly likely this won't affect you, if you don't immediately understand, what this means. Otherwise feel free to ignore it. 😉
- common: Add a spectrum color hook which maps the spectrum color definition to a color value based on the current color scheme state (ae458d5)
- common: Make overflow fix accessible for projects (ae361ad)
- types: Add spectrum color type definitions (fa548da)
- common: Fix dashboard picker does not display the current dashboard title on initial load (4d5578b), closes #363
- core: Clean up the page renderer so that routes are direct child components of the switch. (05875a2)
- common: Improve documentation for the overflow fix component (8bbc593)
0.14.1 (2021-05-10)
- common: Tabs in navigation bar now use react-spectrum tabs v3 rc0 (c437928)
- core: Sign in function in auth state not testing for same username (df92f61)
- core: Specify return type of set preference value function more precisely (18a565c)
0.14.0 (2021-05-01)
- cli: Add
skipGit
option to thetc-cli init
command for telestion-project-template based projects (fce07a8) - cli: Add support for projects based on the new telestion-project-template structure (the CLI will auto-detect the structure and follow the directory structure accordingly) (759748b)
- cli: Reword
init-epilogue
(5e98003) - template: Replace
husky
with more adaptive solution (4b27835)
- cli: Fix install command to work with new telestion-project-template structure (a2956c5)
- cli: Fix problem where
pretty-quick
hook was not generated when initializing a new repository (b1c8ce0) - template: Fix pre-commit hook path (df87baa)
- template: Use npx for the pre-commit hook (ffb62cd)
0.13.0 (2021-04-16)
- If you referenced the npm packages via GitHub, please update your paths accordingly.
- Move GitHub Repository from TelestionTeam Organization to wuespace Organization (da19ea3)
- template: Add more npm scripts (4421905)
0.12.1 (2021-04-09)
- event-bus: Fix message and callback handling and add additional logging options (84bb838)
0.12.0 (2021-04-08)
- event-bus: Numerous changes, please see https://github.com/wuespace/telestion-client/wiki/v0.12-Migration-Guide
- types: The error message is no longer addressable.
- The minimum required node version for all packages is now Node v14!
- mock-server: The listen function now requires an object as argument which contains the port and hostname as properties.
- mock-server: The event bus and http server instance properties are now marked private. Please use the provided abstractions and hooks instead. (see onInit, send, handle, register, etc.)
- common: The loading indicator gives the children function the current dependencies which are always defined:
const [position, setPosition] = useState<Position>();
const [height, setHeight] = useState<number>();
return (
<LoadingIndicator dependencies={[position, height]}>
{(currentPos, currentHeight) => (
<p>{currentPos} - {currentHeight}</p>
)}
</LoadingIndicator>
);
- common: The useDependencyTimeout now returns
true
if all dependencies are defined andfalse
if not all dependencies are defined yet. Before the return value was inverted. The type guard makes the hook useful as a condition in if-statements, for example:
const [position, setPosition] = useState<Position>();
// throws if no position received after 5 seconds
if (useDependencyTimeout(5000, [position])) {
// type guarded - "position" is always defined
return <p>Latest position: {position}</p>;
}
return <p>Waiting for incoming data</p>;
- deps: Moving forward, testing is done with React Spectrum v3.9. Consider all previous versions unsupported.
- deps:
<ActionButton>
s for header actions now require aisQuiet={true}
attribute to work properly with React Spectrum 3.9
- common: Enhance loading indicator component (#350) (82d07f1)
- event-bus: Implement basic event bus as first part of the refactoring process (d8ccc73)
- event-bus: Rewrite Vert.x Event Bus (8d83dec)
- mock-server: Add close function (3e0b5a8)
- mock-server: Add logger option to constructor and clean up some internals (cefceae)
- mock-server: First full implementation (7461df5)
- types: The error message now extends from base message (a8f17dd)
- Specify minimum node version in all packages and update workflows to use npm v7 as default (b727223)
- mock-server: Add protected method to get all connections (cf9e267)
- cli: Init: npm install command to be compatible with npm v7 (c81b35e)
- core: Fix breaking changes (b6551c3)
- deps: Fix issues with react-spectrum v3.9 (14bcfe4)
- mock-server: Fix breaking changes (eab07d3)
0.11.2 (2021-03-09)
- types: Allow undefined in generic props for widgets (450bd38)
0.11.1 (2021-03-01)
- types: Add possible types to JSON serializable in object and array (455a708)
0.11.0 (2021-02-28)
- common: Fix types of
LoadingIndicator
(1885d07)
- Add legal notice link to documentation (e72ff14)
0.10.1 (2021-02-27)
- common: Fix tabs in
NavBar
to adjust to new header height introduced in 555b9a1fd212a580ca23d151247ad94216a81384 (7309a86) - common: Reduce header height (from
size-700
tosize-600
) to abide by Spectrum guidelines and fix layout issues with tabs in theNavBar
component (6c99744) - common: Reduce size of
AppLogo
fromsize-500
tosize-400
to adjust to the different header height introduced in 555b9a1fd212a580ca23d151247ad94216a81384 (844fa9f) - deps: Regenerate package-lock.json to fix compatibility issues with React Spectrum 3.8 (1fcc9d3)
0.10.0 (2021-02-23)
- common: Add
overrideState
toConnectionIndicator
for debugging purposes (92492fa)
- common: Fix Dashboard rendering issues (73afae2)
- Add template CSS rules to Storybook stories (ab41e1c)
- Document new storybook-internal component folders in package
README.md
s (89e8754) - Improve storybook stories (4b662bf)
- common: Add storybook stories for
AccountControls
andNavBar
(b6c73d5) - common: Add storybook stories for
Actions
,NotificationAction
,ColorSchemeAction
,FullscreenAction
, andActionDivider
. (ea47787) - common: Add storybook stories for
CommonWrapper
andAppLogo
(29b408c) - common: Add storybook stories for
ConnectionIndicator
(346096a) - common: Add storybook stories for
DashboardPicker
(5aab481) - common: Add storybook stories for
Header
(2574afa) - common: Fix storybook stories for
AccountControls
(ce373af) - common: Fix storybook stories for
AccountControls
andNavBar
(4edd201) - common: Fix storybook stories for
Actions
(476607c) - common: Improve storybook stories (1cd24d1)
- core: Add storybook stories for
DashboardPage
,LoginPage
, andNotFoundPage
(7c38682) - core: Add storybook stories for
LoadingIndicator
(ebb96ce) - core: Add storybook stories for
LoginDescription
,LoginForm
,LoginLogo
, andLoginTitle
(69c8c4a) - core: Improve storybook stories for
TelestionClient
(dfdc8e1)
0.9.0 (2021-02-09)
- mock-server: Make event bus and http server instances protected so extending classes can use them (9c6f6ff)
- mock-server: The prefix and the hostname are now customizable (467187d)
- mock-server: The SockJS instance now uses the right prefix (3192dd3)
- template: Add browserslist to package.json to allow immediate start of development build (0cf4d47)
0.8.0 (2021-02-08)
-
template: While, in and of itself, this doesn't constitute a breaking change, issues may arise in PSCs generated using the template before this change. This is why we want to bring special attention to it.
To fix PSCs generated before with versions prior to this, add the following property to the PSC's
package.json
:"eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }
You won't have to do this steps for PSCs generated with the new version.
-
cli: PSC's now require a
telestion.config.js
file in the PSC's root directory (next to thepackage.json
).To migrate PSCs generated with older versions of the CLI, please add a
telestion.config.js
file with the following content into the root PSC directory, next to thepackage.json
:module.exports = {}
-
template: Setting the
homepage
to'.'
is required for building native applications from PSC projects usingtc-cli build
. For projects generated before this change, please manually add the following line to your PSC'spackage.json
:
"homepage": "."
- cli:
tc-cli build
command implementation (6de3183), closes #263 - cli: Add configuration file parsing to the CLI (f2760e3)
- cli: Add Electron Main Process Plugin system (05ba70c)
- cli: Compile and run the actual Electron app and use Craco in
tc-cli start --electron
(05ee18b) - cli: Expose programmatic APIs for common CLI lib functions (d266ad0)
- cli: Show files generated by electron-builder in
tc-cli build
(b1fbd3d) - template: Add
@wuespace/telestion-client-prop-types
as default dependency of newly initialized PSC projects (3d7d4ec) - template: Add prettier in template for new PSCs (3165a18)
- cli: Stop output
'DEBUG: '
for debug log entries (1b57547) - deps: Remove no-longer needed webpack-dev-server dependency from CLI (d91dd48)
- template: Add
eslintConfig
to PSC package.json (050664e), closes #305 - template: Add
homepage
specifier to PSC package.json (b7ee792) - template: Fix
devDependencies
in template (b01b2d5)
- WueSpace becomes WüSpace (a typo in previous commits) (9c44d69)
- cli: Add better code documentation for the
tc-cli build
library functions (de37093) - cli: Improve wording in console output, doc comments, and function names (e22e365)
- cli: Update the package's README.md (6b54f6f)
- common: Update the package's README.md (52b36f1)
- core: Update the package's README.md (f36fd06)
- mock-server: Update the package's README.md (035bfe6)
- prop-types: Update the package's README.md (59a1a0c)
- template: Include project structure description in PSC README.md (e3893cb)
- template: Update the package's README.md (747efe1)
- template: Update the template's PSC README.md (2d95652)
- types: Update the package's README.md (81753df)
- vertx-event-bus: Update the package's README.md (cbb605a)
- Add contributing guidelines as its own file (42d1783)
- Revamp repository
README.md
(8188653) - Use pure Markdown for the Contributors image in the README (cb40ee8)
0.7.1 (2021-02-06)
0.7.0 (2021-02-06)
- cli: Before, running
tc-cli start
opened the PSC as an Electron app, by default. To replicate this behavior, you'll now have to pass the--electron
or-e
argument to the command.
In summary, replace tc-cli start
with tc-cli start -e
to keep the same behavior.
- cli: Add option to open the PSC in either an Electron window or a browser in
tc-cli start
(5fd359c) - template: Adjust PSC template's npm scripts to accommodate for new
tc-cli start
behavior (95bc391)
- cli: Add files before commiting the initial commit in
tc-cli init
(8e0ac3c) - cli: Fix
TypeError: Cannot read property 'message' of undefined
intc-cli init
command (6f4d1a3) - cli: In
tc-cli stats
, fix reverted json to non-json output behavior. (c2451c6)
- common: Add reference to props (0083f67)
- common: Apply more suggestions from code review (62754fa)
- common: Apply suggestions from code review (c0923c8)
- common: Document all page components (e3400f7)
- common: Document the account controls component (859c640)
- common: Document the action divider component (b9a4cd1)
- common: Document the avatar button component (8c99c96)
- common: Document the avatar menu component (765bfb1)
- common: Document the color scheme action component (10db0be)
- common: Document the dashboard component (79dc52b)
- common: Document the dashboard picker component (2d98394)
- common: Document the fullscreen action component (c505c16)
- common: Document the header actions component (497c7bd)
- common: Document the no dashboards message component (2b0c005)
- common: Document the not found message component (9dee2d3)
- common: Document the notification action component (0cedf76)
- common: Document the overflow fix component (db0ea7b)
- common: Document the status dialog component (831db05)
- common: Document the use dashboard state hook (8309e3c)
- common: Document the use nav bar state hook (9b0a9b1)
- common: Document the use status hook (cb7e052)
- common: Document the widget error message component (2fab124)
- common: Document the widget renderer component (d88e2ad)
0.6.1 (2021-02-05)
0.6.0 (2021-02-05)
- common: Divide login page into compound components for better usability (7e2112d)
- common: Make initial values for text fields in login form accessible for project (204e947)
- template: Add refactor recommendation for login page as default to the template (c59697e)
- common: Apply suggestions from code review for login page (12b8af7)
- common: Document internal form component for the login page (602fe16), closes #272
- common: Document login button component for the login page (72de6a9), closes #272
- common: Document login description component for the login page (953ad14), closes #272
- common: Document login form component for the login page (b1005bf), closes #272
- common: Document login logo component for the login page (635cf66), closes #272
- common: Document login title component for the login page (c080799), closes #272
- common: Document text field component for the login page (6315ae5), closes #272
- common: Document the login page (f6f7664), closes #272
0.5.0 (2021-02-05)
- common: Add hook for managing dependency timeouts (6684ede), closes #261
- common: Add Loading Indicator component as helper for loading widgets (efcf36c), closes #261
0.4.0 (2021-02-05)
- cli: For previously generated PSCs to work with the new CLI, the // IMPORT_INSERT_MARK and // ARRAY_FIRST_ELEMENT_INSERT_MARK comments have to retrospectively be placed below all imports and at the beginning of the projectWidgets array, respectively
- event-bus: The types for the event bus are now accessible in the @wuespace/telestion-client-types package.
- cli: Add
tc-cli docs
to open the telestion-client documentation page (85a2e03) - cli: Add
tc-cli generate widget
command (4305e09), closes #263 - cli: Add
tc-cli stats
command implementation (#279) (35dbf26), closes #263 - core: Returned data of event bus abstraction hooks now typable and update documentation (3b12717)
- event-bus: Remove types and import them from types package instead (40788b2)
- template: Add npm scripts and local CLI instance to template (4c7c503)
- types: Add channel address as type and integrate it into message types (b9569d7)
- types: Import types from vertx-event-bus (90fd513)
- cli: Fix
tc-cli generate
command (and subsequent, broken, CLI) (a2a25fc) - core: Small type change in implementation for callback in event bus abstraction hooks (1277d8f)
- template: Add .eslintcache to template gitignore (ccd9c35)
- template: Add React Spectrum Tabs dependency (ff8a30e)
- types: Change type definition for Json serializable data from Map to mapped object (3fff598)
Note: Version bump only for package telestion-client
0.3.3 (2021-01-26)
Note: Version bump only for package telestion-client
Note: Version bump only for package telestion-client
Note: Version bump only for package telestion-client