Skip to content

Commit

Permalink
Merge branch 'main' into bazel-6 (#346)
Browse files Browse the repository at this point in the history
* reference assets needed

* more dependencies for tests

* modified test names

* modified test names

* update generateflowsection

* address comments

* removed unneeded dependencies

* iOS: port async WrappedFunction update (#244)

* port async WrappedFunction update

* expose decode for JSValue

* port BaseGenericWrappedAsset changes

* Add Automation ID to Error Element in Storybook (#245)

Add automation id to error element in storybook.

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.4.3 [skip ci]

* cleaned up BUILD and index fiels

* iOS: make AssetBeacon equatable and add public init for metadata (#248)

make AssetBeacon equatable and add public init for metadata

* Update ruby version in build (#246)

The version used is EOL and adds to the ios build time to install

* showing end flow for external action

* move string + extensions to right folder

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.4.4 [skip ci]

* add pendingtransaction flows, uitests

* move navigateToAssetCollection(), add back some lines deleted

* iOS: make AssetBeacon equatable and add public init for metadata (#248)

make AssetBeacon equatable and add public init for metadata

* Update ruby version in build (#246)

The version used is EOL and adds to the ios build time to install

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.4.4 [skip ci]

* add user info to assetViewModel

* address comments

* apply swift 6 warning fix to flaky iOS tests (#207)

* store cancellables in ManagedPlayerViewModelTests (#210)

* modified test names

* mandatory not needed

* fix test

* rebase picked up wrong file changes

* fix diffs on applitools

* update mock flows

* update tests after mocks update

* iOS: add SwiftUIPendingTransactionPlugin to reference asset dependencies (#250)

add SwiftUIPendingTransactionPlugin to reference asset dependencies

* delete unneeded files, add navigateToAssetCollection() back to open flow

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.4.5 [skip ci]

* Sync Android and JVM packages to latest (#222)

* SetTimeoutPlugin exception handling enhancement pt. 1

* Make views in Flow nullable

* lint

* SetTimeoutPlugin exception handling enhancement pt. 2

* Call state hook when releasing player

* lint

* expose V8 params in psuedo constructors

* Update into extension method to handle null view case

* support null contextual serialization for assets

* viewmodel tests

* fix test

* attempt fix 2

* guard against logging on release due to weird timing

* add error handling during asset expansion

* clear guideline for top level render function

* add test for hydration scope cancelling on player release

* add coroutine-test import to android player package

* lint

* M1 J2V8 Support

* fix build file

* replace deprecated channel method

* fix bazel intellij sync

* [android#265]: fix orientation change reset

* [android#269]: PlayerViewModel::runtime null safety

* [jvm#224]: hooks@0.15.0

* [android#276]: asset handler hook

* [jvm#229]: replacing `getFunction` with `getInvokable`

* [jvm#230]: automatic deserializes functions and invokables

* [jvm#231]: name loggers dynamically

* [jvm#228]: migrate to NodeSerializableField

* fix lingering getFunction replacements

* [jvm#235]: local class discriminators

* [jvm#239]: `JSErrorException` enhancement

* [jvm#237]: expose skipTransition hook

* [jvm#240]: fix testutils node

* [jvm#241]: `NavigationFlowEndState.param` helper

* [android#287]: scroll to top when navigating to a new view

* [jvm#238]: dedicated runtime thread

* [android#286]: `SuspendableAsset`

* [jvm#243] debuggable v8

* [android#292] android debuggable v8

* upgrade kotlin to 1.7 and lint

* working demo app

* all //jvm tests passing

* fix all android tests

* ensure test target fails on failure

* fix instrumented android tests

* lint

* bootstrap intents break everything

* androidx orchestrator

* clean up workspace and use released player rules for kotlin upgrade

* format and comment androidtest python script

* pr comments

---------

Co-authored-by: Larry <larrywutoronto@gmail.com>

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.5.0 [skip ci]

* allow navigationFlowViewState attributes to take Any instead of string

* fix test

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.5.1 [skip ci]

* update tests

* update circleci config

* DSL documentation changes (#266)

* chore: DSL doc changes

* Update docs/site/pages/content/dsl.mdx

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* chore: use @player-tools/dsl

---------

Co-authored-by: rcampos2 <rafael_campos@intuit.com>
Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* add callTryCatchWrapper function on JSValue

* address comments

* move test to core utilities folder

* use expectation to wait for error

* remove extra lines

* increase timeout

* move expectation

* decrease timeout

* move expectation to catch

* comment out test

* Latest sync including AsyncNodePlugin (#263)

* everything minus language, internal plugins, async

* this works

* lint

* update yarn version according to readme

* revert yarn version

* remove resolutions

* fix flow test

* fix android test

* temporarily disable applitools

* try again after updating api key

* not use latest version of bundler because it requires newer ruby version

* update iOS tests to transition inside afterTransition (#268)

update tests to transition inside afterTransition

Co-authored-by: zwu01 <nancy_wu1@intuit.com>

* remove comment block

* lint

* modify long text test

* lint

---------

Co-authored-by: brocollie08 <sentony03@gmail.com>
Co-authored-by: nancywu1 <66387473+nancywu1@users.noreply.github.com>
Co-authored-by: zwu01 <nancy_wu1@intuit.com>

* uncomment test

* Fix `com.intuit.player:j2v8` transitive deps (#256)

* neverlink j2v8 debugger

* fix deps.bzl miss

* wip

* wip: broken rules_jvm_external

* move jvm external setup

* try to use the embedded jdk

* fix //jvm/core:test

* reintroduce grab for mockable android jar

* use kotlin-reflect from maven

* sync --experimental_google_legacy_api

* cleanup

* fix gpg tty for release

* use pinentry instead

* strip down ci

* fix writing to gpg conf

* exclude kotlin stdlib

* ensure resources exist in top-level AAR

* working player distrib

* working grab_bazel_common + some cleanup

* more cleanup

* reset circle config

* Release main

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.6.0 [skip ci]

* Fix SwiftUIPendingTransactionPlugin Docs Page

The extra newline on this page causes it not to show up in the sidebar of the `Plugins` section and also causes the header elements to be improperly rendered.

* Remove Applitools (#277)

* remove android and circle applitools

* don't define applitools configs

* remove applitools usage from iOS UI Tests

* address flakiness by awaiting child async view stubs

---------

Co-authored-by: hborawski <Harris_Borawski@intuit.com>

* [JVM] pom with minimal oss requirements (#275)

pom with minimal oss requirements

* Update Team page with new members

* plugin core doc addition

* updated FAQS

* feat: add github.dev links to docs (#278)

feat: adds improve docs link to github.dev

Co-authored-by: rcampos2 <rafael_campos@intuit.com>

* updated asset provider with JSON samples

* some more cleanup and information

* Added dsl validate command

* added json tag

* removed discord

* clean up first set of observation wording

* iOS: Update Writing Plugins guide (#279)

update plugin authoring guide for iOS

* added contentTabs to help with content section in docs

* removed json platform

* fixed code block

* find alternative way to post JSON blocks

* working json code block

* Updated descriptions to include TSC compiling

* updated tsx section

* tsx and json section added to contenttabs

* Refactor existing DSL docs.

* Plugin implementation doc v1

* plugin docs addl cleanup

* iOS: Update plugin documentation (#284)

* update some plugin docs for ios with usage examples

* update docs for iOS and some for core

* add usage header on beacons doc

* indentation fixes

---------

Co-authored-by: nancywu1 <nancy_wu1@intuit.com>

* Fix broken link in CONTRIBUTING.md

Fixes broken link to the Android demo app README,d

* Apply suggestions from code review

Co-authored-by: Spencer Hamm <spentacular@gmail.com>

* Overview plugin links fix

* Fixing invalid character on plugin implementation doc

* PR feedback

* flesh out dsl plugins doc

* Added snippets reference

* plugin hook implementation wording cleanup

* Plugins android clean up (#290)

* beacon

* check-path

* coroutines + usage for check-path

* expression

* external-action

* metrics

* fix a bunch of formatting things

* fix formatting problems

* settimeout

* async-node

* update package paths

* async node ios docs

* address some comments

---------

Co-authored-by: brocollie08 <sentony03@gmail.com>
Co-authored-by: nancywu1 <nancy_wu1@intuit.com>

* Asset reference link fixed

* async node plugin

* Doc: Plugin react wording correction.

* Update docs/site/pages/plugin-implementation.mdx

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* docs: plugin implementation 1st observations

* removed unused langmap

* Docs: plugin implementation obervations pt2

* use tap instead of tapPromise, use named export instead of default

* move tests to viewinspector folder

* remove duplicate test

* fix lint error

* add back flow

* update doc that uses tapPromise example

* throw error if plugin is undefined

* fix: help to improve docs links with relative path (#298)

Co-authored-by: rcampos2 <rafael_campos@intuit.com>

* fix: missing docs/site on docs links (#299)

Co-authored-by: rcampos2 <rafael_campos@intuit.com>

* `com.intuit.playerui` publishing scope (#253)

* com.intuit.player.jvm -> com.intuit.playerui

* com.intuit.player.android -> com.intuit.playerui.android

* com.intuit.player.plugins -> com.intuit.playerui.plugins

* leftovers

* more leftovers

* add additional email to pom

* move graaljs files

* update android coordinates

* add asyncnodeplugin resource path

* put on one line

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.7.0 [skip ci]

* CommonTypesPlugin restoring old dataRefs

* Fixed Views and Schema links

* DSL data schema type docs

* Skip view updates for silent data changes

* replace reduce calls for performance

* Fix data change events not cascading properly when setting data

* Edit docs/site/pages/dsl/dsl-schema-type.mdx

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* [JVM] Handle invalid JSON as Player error (#303)

* handle invalid json as player error

* improve test

* Docs update post review

* DSLSchema docs further improvement

* [Docs] Platform consolidation (#287)

* platform consolidated getting started

* fix alert status reference

* add platform tabs for custom and reference assets

* re-add viewmodel + fragment docs

---------

Co-authored-by: nancywu1 <nancy_wu1@intuit.com>

* DSLSchema doc cleanup

* DSLSchema docs rearrangement

* Resorting to schema page for DSLSchema docs

* updated PR checklist to include documentation portion

* fixed capitalization

* DSLSchema improved statement

* @player-tools: "0.5.0-next.7 for dataRefs

* fix yarn lock

* Exporting dataRefs from common-types and reference-assets

* Exp dataRefs:@player-ui/reference-assets-components

* [Android] `AsyncHydrationTrackerPlugin` (#296)

* initial working rehydration tracker

* callback approach

* working callback impl

* lint

* explicit api instead of callback

* oops

* ensure beacon call captures view scope synchronously

* ensure we track hydration as early as possible

* expose onHydrationStarted hook

* simple async hydration tracker test

* remove redundant trackHydration

* iOS: prefix resource bundles to prevent naming collisions (#310)

* iOS: prefix resource bundles to prevent naming collisions

* fix resource_map

* rename reference assets bundle

* fixed linting errors

* Fix documentation error on custom asset (#311)

* Exporting validations + DSLSchema from components

* bump @player-tools packages to 0.5.1 (#312)

bump tools packages to 0.5.1

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.7.1 [skip ci]

* Expose expression parser strictness in options hook

* Make throwing recoverable parsing errors dependent on strictness

* add syntax examples for default expressions (#317)

* add syntax examples for default expressions

* fix getDataVal casing

* fix getDataVal casing

* fix 0 precision commaNumber formatting

* update rules_player to latest 0.12.0 (#322)

* update rules_player to latest 0.12.0

* pin android versions

* android 30 then

* android 30 for install script

* 31 again + bump emulator API as well

* correct architecture

* shame on me

* allow boot anim

* revert android changes and pin docker image

* install-android-tools.sh revert

* don't pin android versions

* test rules

* verbose failure if available and test output errors

* flag on build

* correct flag

* no remote cache

* remove skip remote cache flag

* back to 0.12.0

---------

Co-authored-by: brocollie08 <sentony93@gmail.com>

* update iOS contributing guide (#323)

* refactor nav docs slightly to better call out onEnd expressions (#321)

* refactor nav docs slightly to better call out onEnd expressions

* reword some more

* grammar update

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

---------

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* Update the DSL Benefits in Schema section

* Expose more information about expression parsing errors

* Fix version selector not working and preserve route when changing versions

* Android: Preserve old rendering path for non-suspendable assets (#314)

* preserve old rendering path for non-suspenable assets

* lint

* conditionally launch in main for non-suspendable assets

* rename db resources

* update db rules

* use main rules_player

---------

Co-authored-by: brocollie08 <sentony93@gmail.com>

* Update Player Tools version

* Release main

* Update CHANGELOG.md [skip ci]

* Bump version to: v0.7.2 [skip ci]

* expose on update hook

* feedback

* DSL docs navigation note

* TS satisfies note

* Additional notes and wording for DSLSchema

* Apply Player DSL suggestions from code review

Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>

* Add bazelisk to list of requirements; be more specific in Android build instructions (#344)

Co-authored-by: Paul Millerd <paul_millerd@intuit.com>

* [Android] Reorganize `PlayerFragment` state updates (#343)

* mvn-install script for publishing JARs to your local maven repository

* organize player fragment state updates

* remove unused code

* enhance player fragment lifecycle handling

* Merge branch 'main' into bazel-6

* revert ExternalActionViewModifierPluginTests#L210

---------

Co-authored-by: mercillo <marlon_ercillo@intuit.com>
Co-authored-by: Marlon "Marky" Ercillo <mercillo729@gmail.com>
Co-authored-by: zwu01 <nancy_wu1@intuit.com>
Co-authored-by: Harris Borawski <harrisborawski@gmail.com>
Co-authored-by: Ketan Reddy <KetanReddy@users.noreply.github.com>
Co-authored-by: intuit-svc <opensource-svc@intuit.com>
Co-authored-by: intuit-svc <98980465+intuit-svc@users.noreply.github.com>
Co-authored-by: Adam Dierkens <adierkens@users.noreply.github.com>
Co-authored-by: nancywu1 <66387473+nancywu1@users.noreply.github.com>
Co-authored-by: Larry <larrywutoronto@gmail.com>
Co-authored-by: Rafael Campos <campos.rb@hotmail.com>
Co-authored-by: rcampos2 <rafael_campos@intuit.com>
Co-authored-by: brocollie08 <sentony93@gmail.com>
Co-authored-by: brocollie08 <sentony03@gmail.com>
Co-authored-by: hborawski <Harris_Borawski@intuit.com>
Co-authored-by: Ketan Reddy <ketan_reddy@intuit.com>
Co-authored-by: afimbres <alejandro_fimbres@intuit.com>
Co-authored-by: Alex Fimbres <lexfimbres@gmail.com>
Co-authored-by: Spencer Hamm <spentacular@gmail.com>
Co-authored-by: Ketan Reddy <ketan@ketanreddy.com>
Co-authored-by: KT <kathir@gmail.com>
Co-authored-by: Paul Millerd <paulmillerd@gmail.com>
Co-authored-by: Paul Millerd <paul_millerd@intuit.com>
  • Loading branch information
24 people authored Apr 24, 2024
1 parent efd2106 commit f8e71e9
Show file tree
Hide file tree
Showing 578 changed files with 13,687 additions and 7,177 deletions.
1 change: 1 addition & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ build --android_databinding_use_v3_4_args
build --android_databinding_use_androidx
build --experimental_google_legacy_api
query --experimental_google_legacy_api
sync --experimental_google_legacy_api

# Android demo app flags
build --noincremental_dexing --fat_apk_cpu=armeabi-v7a,arm64-v8a,x86,x86_64
Expand Down
71 changes: 19 additions & 52 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ orbs:
executors:
base:
docker:
- image: docker.io/playerui/bazel-docker
- image: docker.io/playerui/bazel-docker:7
working_directory: ~/player
resource_class: xlarge
environment:
Expand Down Expand Up @@ -53,7 +53,9 @@ commands:

- run: mkdir ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config
- run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
- run: echo -e $GPG_KEY | gpg --import --batch
- run: |
echo -e $GPG_KEY | gpg --import --batch
echo -e "pinentry-mode loopback\npassphrase $DEPLOY_MAVEN_GPG_PASSPHRASE" > ~/.gnupg/gpg.conf
- run: |
source ~/.bashrc
bundle install
Expand Down Expand Up @@ -209,7 +211,20 @@ jobs:
command: |
circle-android wait-for-boot
- run: bazel test --define=APPLITOOLS_API_KEY=${APPLITOOLS_API_KEY} --define=APPLITOOLS_BATCH_ID=${CIRCLE_SHA1} --define=APPLITOOLS_PR_NUMBER=${CIRCLE_PULL_REQUEST##*/} --config=ci -- //android/demo:android_instrumentation_test
- run: bazel test --config=ci -- //android/demo:android_instrumentation_test

- run:
when: always
command: |
RESULTS_DIR=_test_results
find -L ./bazel-testlogs -name test.xml | while read line
do
mkdir -p $RESULTS_DIR/$(dirname $line)
cp $line $RESULTS_DIR/$(dirname $line)
done
- store_test_results:
path: _test_results

- store_artifacts:
path: screenshots
Expand All @@ -229,7 +244,7 @@ jobs:
# union the bundle targets until //... doesnt explode analyzing jvm/android targets
- run: |
BUNDLE_TARGETS=$(bazel query "kind(js_test, //plugins/...) union kind(js_test, //react/...) union kind(js_test, //core/...)" --output label 2>/dev/null | tr '\n' ' ')
bazel coverage --combined_report=lcov --config=ci -- $BUNDLE_TARGETS
bazel coverage --combined_report=lcov --config=ci -- $BUNDLE_TARGETS -//plugins/reference-assets/mocks:all_flows_test_binary
- run:
when: always
Expand Down Expand Up @@ -264,20 +279,6 @@ jobs:
steps:
- auto_shipit

applitools_init:
executor: base
steps:
- run:
name: Initialize Applitools
command: curl -L -d '' -X POST "$APPLITOOLS_SERVER_URL/api/externals/github/push?apiKey=$APPLITOOLS_API_KEY&CommitSha=$CIRCLE_SHA1&BranchName=$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/$CIRCLE_BRANCH"

applitools_cleanup:
executor: base
steps:
- run:
name: Cleanup Applitools
command: "curl -X POST \"$APPLITOOLS_SERVER_URL/api/externals/github/servers/github.com/commit/$CIRCLE_SHA1/complete?apiKey=$APPLITOOLS_API_KEY\" -H Content-Type:application/json --data '{\"serverId\": \"github.com\", \"commitSha\": \"$CIRCLE_SHA1\"}' -v -L"

workflows:
build_and_test_pr:
jobs:
Expand All @@ -299,16 +300,6 @@ workflows:
requires:
- setup

- applitools_init:
filters:
branches:
ignore:
- /pull\/.*/
context:
- applitools
requires:
- bazelrc

- build:
name: build-trunk
filters:
Expand All @@ -333,8 +324,6 @@ workflows:
branches:
ignore:
- /pull\/.*/
context:
- applitools
requires:
- bazelrc

Expand Down Expand Up @@ -364,10 +353,7 @@ workflows:
branches:
ignore:
- /pull\/.*/
context:
- applitools
requires:
- applitools_init
- build-trunk

- android_test:
Expand Down Expand Up @@ -399,17 +385,6 @@ workflows:
- build-fork
- build-ios-fork

- applitools_cleanup:
filters:
branches:
ignore:
- /pull\/.*/
context:
- applitools
requires:
- android-test-trunk
- build-ios-trunk

build_and_test_main:
when:
equal: [ "", << pipeline.parameters.GHA_Action >> ]
Expand All @@ -426,14 +401,10 @@ workflows:
- setup

- build_ios:
context:
- applitools
requires:
- setup

- android_test:
context:
- applitools
requires:
- build

Expand Down Expand Up @@ -461,14 +432,10 @@ workflows:
- setup

- build_ios:
context:
- applitools
requires:
- setup

- android_test:
context:
- applitools
requires:
- build

Expand Down
2 changes: 0 additions & 2 deletions .editorconfig

This file was deleted.

13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,17 @@ Indicate the type of change your pull request is:
```typescript
const plugin = new Plugin(...)
```
-->


### Does your PR have any documentation updates?
- [ ] Updated docs
- [ ] No Update needed
- [ ] Unable to update docs
<!--
In an effort to standardize our process and code, please make sure you include documentation and/or update any existing documentation.
Please refer to our site https://player-ui.github.io/latest/about, and include any neccesary information that would be helpful to coders, developers, and learners.
If you are unable to update the current documents, please create an issue for us to get back to it.
-->
Loading

0 comments on commit f8e71e9

Please sign in to comment.