Issues are tracked in AppGyver's unified issue tracker – please post bug reports and feature requests there.
supersonic.data.Model
find queries are now completely cached, just like findAll queries.
Changes:
- Updates ag-data to 1.2.0
Fixes issue where splashscreen would no longer autohide on iOS 10. To fix the issue for existing apps, upgrade Supersonic to v1.13.2 or newer (with bower update
). Then, in the app's layout file, modify the <script>
tag that loads webcomponents.js
to load webcomponents-lite.js
instead.
Changes:
- Utilize webcomponents.js version 0.7.22 and
webcomponents-lite.js
to circumvent iOS 10 issues with native shadow DOM.
Features:
supersonic.data.Model
now supports Composer 2 record-level ACL.
Features:
supersonic.auth.groups
provides accessors to the groups of the current Composer 2 application
Fixes:
- Sporadic console errors with
querySelectorAll
being used without a validdocument.body
Fixes:
- A typo in the
superify
debug logging mechanism breaking when encountering a stream error (see pull request #115)
Fixes:
- Race condition with
supersonic.data.model
change listeners possibly not seeing theerror.unrecoverable
flag (see release 1.9.4)
Fixes:
- Configures
supersonic.auth.users
with the same default caching options assupersonic.data.model
(see pull request)
Changes:
- Allow
supersonic.data.model
change listeners to detect whether an error is unrecoverable and no more events will be sent usingerror.unrecoverable
.
Fixes:
- Enables
supersonic.module.attributes
to be read for module frames where the module was included via thesrcdoc
attribute
Fixes:
- Prevents a scenario where
supersonic.module
drivers did not receive a validroute
uid in thecontext
argument (see pull request)
Fixes:
- Prevents module attributes from outside a modal module iframe leaking into the modal in web.
Features:
whenChanged
methods insupersonic.data.model
support an error callback argument
Changes:
whenChanged
will stop polling for updates if an unrecoverable error (HTTP 4xx) is encountered
Fixes:
- Module soft tabs fixed to work in chrome/android.
Fixes:
- Workaround for Android's "Connection Refused" problem with iframes. Issue: XWALK-5621
Fixes:
- Hide module chromes when in tabs.
- Use wide chromes in mobile.
Tabs for composer 2
Features:
- Adds soft tabs support for Composer 2
Improves the time to getting refreshed data from whenChanged
.
Changes:
supersonic.data.model
instances use a different polling logic forwhenChanged
by default. Pollers are started when the view is visible and stopped while the view is hidden.- The default polling interval for
supersonic.data.model
instances is 1000ms (down from 10000ms) when caching is enabled.
Changes:
- Composer2 modules will check for http://localhost workaround only on Android.
Fixes:
- Prevents an issue with the
localStorage
cache adapter from preventingsupersonic.data
cache expirations.
Changes:
- Support for deferred loading of iframes via the
ag-src
property. Circumvents an issue with requests tolocalhost
on Android.
Changes:
- Support for blocking UI interactions while there are
supersonic.data
requests ongoing. Requires iOS client version 4.0.7 or Android client version 4.1.0.
Changes:
- Files uploaded via
supersonic.data
get additional metadata stored, containing their mimetype, and get a filename determined based on the file uploaded instead of using an automatically generated one.
Features:
- Adds the
supersonic.module.notifications
namespace for sending out notification events from Composer modules
Fix:
- Bring back some module APIs which were made private in 1.7.8.
Features:
- Enhanced uploading can be requested with
X-AG-Image-Uploader
headers:- Display a native progress bar on upload.
- Transparently resize uploaded PNG and JPEG images.
- See example usage in
testApp
.
Changes:
- Set Module runtime's initial visibility on DOM Content Loaded event.
Changes:
- Hide the module container instead of the module iframe itself. Module might have external chrome which needs to be hidden also to prevent blinking.
Features:
- Remove from the DOM Composer modules which are not currently visible.
For example:
- on
layers.push()
hide modules on the previous layer and bring them back onlayers.pop()
. - hide modules on Tab A when navigating to Tab B.
- on
supersonic.ui.dialog.spinner.*
displays a spinner which can block either the current webview or the whole app.- PreviewFileView now supports remote URLs
- New API to display a media gallery:
mediaGallery = new supersonic.ui.MediaGallery([
"http://www.mydomain.com/images/promo01.jpg"
"images/floor_plan.jpg"
"videos/movie.mp4"])
mediaGallery.start()
Fixes:
supersonic.data.model
cache inconsistencies (closes issue #1022)
Features:
- Update webcomponents.js to v0.7.12
Fixes:
- Enhanced cross-browser compatibility for Composer Module iframes. Prevents iframes that would not ever resize on Chrome.
- More robust handling of Composer Module iframe lifetime events. Prevents stale listeners after iframe removal.
Fixes:
- Loading spinner fors Composer Module iframes are removed after frame document body is available. Prevents stale spinners.
- Supersonic uses the topmost frame that has supersonic for
postMessage
communication. Preventssupersonic.data.channel
from being unavailable to modules in nested iframes.
Fixes:
- Composer Module iframe heights track content height better when images are involved.
Features:
- Offer minified versions of JS distributables (
supersonic.core.min.js
andsupersonic.min.js
)
Fixes:
- Update schema for
supersonic.auth.users
to allow changing the user's password.
Features:
- Composer Module iframes waiting for loading to complete show a loading indicator.
supersonic.module
navigation functions that accept routes now accept references to the current module's views as#view-name
.
Changes:
- When supersonic runs in a Composer Module iframe, cordova and steroids from the parent frame will be used.
Fixes:
- Add delay to catch fully rendered static modules for correct resizing.
Fixes:
- Overwrite Ionic's default
overflow:hidden
which blocks scrolling for Crosswalk 14.
Fixes:
- Composer Module iframe sizes automatically scale according to their content height
Fixes:
supersonic.data.channel
usespostMessage
fromwindow.top
to ensure message propagation from Composer Modulessupersonic.module.attributes
looks for attributes from bothwindow
andwindow.parent
- Behavior of navigation APIs in
supersonic.module
improved to enable compatibility with the Composer Module web development harness in Steroids Connect
Fix:
- Data channels window.postMessage uses second argument
Fix:
- Fix wrongly named variable
Fix:
- Fix resolving module path twice in modal route
Fix:
- Fix a bug on module router that happens during the validation of required parameters.
- Fix module modal so that it accepts parameters
- Fix module iframe height observers to detect dynamically added iframes
- Fix module iframe height fixing in Chrome
Features:
supersonic.module.modal
allows showing and hiding modals based on routes.
Changes:
supersonic.module.layers
accesses environment-specific functionality throughsupersonic.module.drivers
Features:
- Current driver for a view and all its iframes can be accessed through
supersonic.module.drivers.current
Changes:
supersonic.module.router
root path for Modules under/dist
is now/modules
Introduces navigation between Composer Modules.
supersonic.module.router
maps Composer Module route to installed Modulessupersonic.module.layers
allows pushing and popping Module views from the view stack based on routes
Fixes:
- Switch the default
supersonic.data
cache adapter for a functioning one. The defective adapter caused caching to be effectively disabled.
Features:
supersonic.module.transitions
provides view transition animations for Composer Modules
Changes:
- Saving a Supersonic Data model instance merges the server response to the instance instead of replacing the whole instance state.
Fixes:
- Prevented the potential for a state leak in the HTTP layer of Supersonic Data.
X-Job-Id
headers would get reused by accident in some scenarios.
Pre-features:
- Enabling/Disabling the Drawer via API. Closes #749. Note: This feature requires wrapper support, which will be out shortly. Until then, the API calls will not work.
Fixes:
- Brought back spinning icons that were removed in Supersonic 1.5.7. Closes #945.
Changes:
- Updated Supersonic CSS to match Ionic's v1.0.0 "uranium-unicorn" release.
Breaking Changes:
- Updated Ionicons to v2.0.1. Naming convention for iOS icons changed from
<icon prefix>-ios7-<icon name>
to<icon prefix>-ios-<icon name>
.
Note: These updates include minor cosmetic tweaks to the UI – nothing major. That said, you might still want to check your app to ensure everything looks as it should after the update. For those interested, full list of changes can be found in this commit.
Features:
supersonic.module.attributes
allows access to AppGyver Enterprise Module instance context
Changes:
supersonic.data.model
useslocalStorage
instead oflocalforage
for the default cache storage adapter
Features:
- Iframes with
data-module
attribute are detected as AppGyver Enterprise Modules. Their height is automatically adjusted to fit the content height.
Bugfixes:
- The promises returned by
supersonic.ui.View.start()
andsupersonic.ui.views.start()
now resolve to thestartedView
object as intended.
Features:
- Support Enterprise users in the
super-data-repeat
component.
Changes:
supersonic.auth.users.getCurrentUser
provides a meaningful error message if session is not available
Fix:
supersonic.data.model
reads configuration fromsupersonic.env
if it's available
Features:
supersonic.auth.session
provides accessors to the currently authenticated AppGyver Enterprise Sessionsupersonic.auth.users
provides accessors to the users of the current AppGyver Enterprise applicationsupersonic.env
provides information of the current AppGyver Enterprise application environment
Changes:
- Enable caching by default for
supersonic.data.model
. - Set authorization header by default for
supersonic.data.model
.
Features:
supersonic.data.model
supports direct file uploads for model fields configured with the typefile
.
Features:
- Asynchronous job protocol for slow HTTP endpoints also includes a feature flag in the
X-Feature-Jobs
header to improve backwards compatibility.
Features:
supersonic.data.storage.adapters
exposes factories for the defaultlocalforage
adapter and an in-memory storage, which can be used assupersonic.data.model
cache adapters.
Features:
- Asynchronous job protocol enabled when accessing slow HTTP endpoints over the AG proxy v3 API.
Bugfixes:
super-navbar
,super-navbar-title
andsuper-navbar-button
properly hide their content from the DOM
Features:
- Custom animation support to
supersonic.ui.layers.push
(iOS-only, see open ticket about Android native support). Closes #721.
Features:
- Updated Supersonic CSS to match Ionic's v1.0.0-beta.14 "magnesium-mongoose" release.
- Re-enabled some disabled Ionic components to ensure better backwards compatibility with Ionic apps.
Note: These updates include minor cosmetic tweaks to the UI – nothing major. That said, you might still want to check your app to ensure everything looks as it should after the update. For those interested, full list of changes can be found in this commit.
Features:
- Added 3-way data binding support for single records by
one(123).whenChanged
onsupersonic.data.model
Bugfixes:
- Resolved issue with
defaultStorage
forsupersonic.data.model
not being defined and thecache
flag not working without specifying a storage
Bugfixes:
- Fixed a bug causing the
timeToLive
option forsupersonic.data.model
'scache
to not be adhered
Features:
- Added
cache
option support forsupersonic.data.model
Features:
- Added
supersonic.ui.layers.replace
API call for replacing the whole navigation stack with a started view.
Bugfixes:
- Fixed a bug where views returned by
supersonic.ui.views.find
didn't always have the correctid
set.
Bugfixes:
- Fix an inconsistency in handling
supersonic.data.model
instance state when serializing (.toJson
) and unserializing (.fromJson
)
Features:
.fromJson
onsupersonic.data.model
assumes all the data is in a dirty state, so it will be sent to the cloud in case of.save()
Features:
- Added
.fromJson
support to to complementinstance.toJson
onsupersonic.data.model
Bugfixes:
supersonic.ui.views.start()
andsupersonic.ui.views.stop()
now properly return the View object started/stopped.
Features:
- Added option support for
supersonic.data.model
- Added
supersonic.data.storage.property
- Added support for data-params for super-navbar-button when using "location" or "view-id" parameters (as in super-navigate).
- Fixed using super-navigate component, layers.push, modal.show data parameters passing in android.
Initial release. See the documentation at http://docs.appgyver.com for more information.
Bunch of outstanding issues in Steroids.js and other components fixed or made obsolete by Supersonic features:
- The
network.extraResponseHeaders
property inconfig/app.coffee
can be used to set custom headers that will be appended to all incoming HTTP responses, allowing e.g. CORS issues to be circumvented for good. iOS-only for the moment, fixes #124, #140 and #150 for iOS. - New app configs at
config/app.coffee
andconfig/structure.coffee
deprecateconfig/application.coffee
and the variousconfig.xml
files. Closes #194 and #175. - New http://docs.appgyver.com sources are public on GitHub. Closes #237.
- Supersonic Routes remove the need for explicit view URLs. Closes #285.
- Deprecated keyboard
config.ios.xml
settings, since the new keyboard plugin introduced in iOS runtime v4.0.0 no longer supports them. Closes #101 and #208