Commit Graph
27 Commits
Author SHA1 Message Date
christibbs f3d1f53400 In-app messaging M57 release notes (#3979)
* Update CHANGELOG.md

* Update CHANGELOG for display SDK

* Slight update to display CHANGELOG
2019-10-02 16:19:36 -04:00
christibbs eca21706ed Update FIAM for iOS 13 Scene lifecycle paradigm (#3927)
* Add UIScene lifecycle notifications alongside UIApplication ones

* Run styles.sh and update window helper to work on iOS 13

* Refactor foregrounded scene logic into its own method

* Conditional compilation for iOS 13 code

* Add notification parameter to notification selectors

* Fix placeholder
2019-10-02 14:32:55 -04:00
christibbs 725fb86646 Remove RoundedCornersView since there's an issue with IBDesignables (#3969)
* Remove RoundedCornersView since there's an issue with IBDesignables in Xcode 11
- Wasn't saving us much code anyway

* Run styles.sh
2019-10-01 17:59:14 -04:00
christibbs c406ef5b12 Factor in space for top safe area insets into max height calculations in Modal and ImageOnly messages (#3957) 2019-09-30 20:44:29 -04:00
christibbs 1c7bf43acf Fetch view resource bundle in main thread for thread safety (#3616) 2019-08-16 13:40:32 -04:00
Maksym Malyhin ca731ec753 FIRIAMDefaultDisplayImpl: return earlier when bundleURL == nil (#3613) 2019-08-16 09:38:39 -04:00
Maksym Malyhin ca885eea83 FIRIAMDefaultDisplayImpl: validate bundleURL to prevent crash. (#3593) 2019-08-15 11:27:12 -04:00
Morgan Chen 3188760398 Clean up changelogs (#3462)
* Clean up changelogs
2019-07-30 14:07:28 -07:00
Michael Haney 783ee5b126 Implement Firebase CoreDiagnostics (#3129)
* Implement CoreDiagnostics interop

For use by FirebaseCore.

Please pay special attention to the changes in FIRApp, I've replaced passing FIRApp in the notification with a data object that will eventually replace the same information that FIRDiagnostics extracted.

* Add CoreDiagnosticsInterop to the Example Podfile

* Style and xcodeproj updates

* Update Podfiles that dep on FirebaseCore

So that they also have a dep on FirebaseCoreDiagnosticsInterop

* ran pod deintegrate to remove unintended xcodeproj changes

* Fix Podfile paths

* Add FCD to if_changed and travis.yml

* Fix building with Firestore

* Style

* Whitespace

* Fix a changed internal API

* Make pod paths consistent

* Restore connectivity_monitor_noop.cc style

* Remove logging prior to [FIRApp configure]

Also remove sendLogsWithServiceName:version:

* style

* Remove nil checks from diagnostics data

* Put back some deleted symbols

* Restore the sendLogsWithServiceName:version: method, but as a no-op

* Restore the original version of sendLogs...

* Allow an unused parameter

* Remove obsolete nsnotificationcenter related stuff

* Whoops, missed the header change.

* Final changes to support FIRCoreDiagnostics

These changes are necessary because FIRCore has a hard dep on FIRCoreDiagnostics (FIRCD) and FIRCoreDiagnosticsInterop.

Components can't be used because FIRCD would need to have a hard dep on FIRCore to get access to FIRLibrary, FIRComponent, FIRComponentContainer, and FIRComponentCreationBlock and this would create a dep cycle. So, an extern has been put into the interop lib and the variable is implemented in the connector class inside of FIRCore, but it's unset. FIRCD actually sets that variable in +load, allowing use of FIRCD.

FIRCD can also be removed as a dependency with no ill effect by end users setting the environment variable DISABLE_FIREBASE_DIAGNOSTICS=1

* Add nanopb and project generation infrastructure

* Convert FIRCoreDiagnostics to canonical nanopb, and move to OSS.

* Remove custom build steps for CoreDiagnostics

* Addressing review comments

* Update versions, tags, and port the relevant unit tests for FIRCD

* Version and platform fixes

* Fix podspec expected tags

* A hack to solve a chicken-and-egg problem with pod lib linting.

* Heartbeat implementation

* FIRDiagnosticsDateFileStorageTests

* Fix tests for non-iOS platforms

* Heartbeat tests

* Fix initialization.

* Cleanup Installation ID.

* Fix testProtoPopulation.

* Merge conflict fix

* Typo fix.

* Remove FIRCore dep from FIRCD unit tests and move symbols to interop

* Run ./scripts/style.sh

* Typo

* #ifdef comment

* File license header.

* Import FIRDiagnosticsDateFileStorage.h using relative path.

* FIRDiagnostics -> FIRCoreDiagnostics

* Docs syntax

* Docs

* Docs typo

* Add shared variables to the interop lib

I know this goes against the convention, but it's actually the only way to resolve this very unique problem.

* Fix comment

* Style

* Removed lib version passing.

* Remove env checking for conditional deps

* Style

* Address whitespace issues

* Add copyright notice

* Add new deps to Podfiles

* Fix trailing space

* Some changes to fix working in an extension.

* Fix type in Podfile

* GDT: begin/end background task only for iOS and TVOS applications.

* Fix typo

* Style

* Stop sharing kFIRService strings across pods

* Travis test

* Change all TARGET_OS_TVOS macros to TARGET_OS_TV

TARGET_OS_TVOS doesn't exist.

Also macro out a UIApplication reference.

* style

* Update all Podfiles with deps on FIRCore

* Fix trailing whitespace

* Update Firestore cmake

* Fix FIAM build break (#3254)

* Additional cmake changes

* Fix linker issue with deprecated CoreDiagnostics (#3257)

* Adding more deps to cmake

* Fix linker error (#3266)

* Rerun only IAM tests

* whitespace

* No xcpretty or frameworks run

* Fix typo

* Revert "No xcpretty or frameworks run"

This reverts commit afc1abba37.

* Revert "whitespace"

This reverts commit fd06955a56.

* Revert "Rerun only IAM tests"

This reverts commit 98ce07600f.

* Run travis on this branch

* Add support for expanding PODS_TARGET_SRCROOT in CMake (#3267)

* Fix a few things that should have been splatted but weren't

* Define PODS_TARGET_SRCROOT in CMake for compatibility with CocoaPods

* Compile pods we depend upon with looser settings

* Rename the nanopb dependency to match what CMake actually has

* Make #include <nanopb/pb.h> work

Remove the old way of #include <pb.h> once we change the Firestore
nanopb generator to match.

* Fix warnings that fail the build

* Remove typed enum and fix a comment.

* Fix an import

* Change a line so it's not altered by Copybara

* More changes to stop copybara from altering the wrong sources

* Remove trailing whitespace

* Fix copybara modifying python.

* Add additional field in firebasecore.proto (#3273)

* Remove the dependency on interop to populate a shared variable.

* style

* Create travis jobs for FirebaseCoreDiagnostics (#3245)

* Create travis jobs for FirebaseCoreDiagnostics

And update the pod lib lints for GDT.

Remove the mph-master branch before merging to master.

* Add support for FIRCD to if_changed.sh

* Adjust tests

* Unavailable init methods should not be nullable (#3276)

* Allow firestore api to work with Codable objects + ExplicitNull + Integration tests (#3261)

* Convinience api for codables

* Integration Tests

* ExplicitNull implementation

* Update to CocoaPods 1.7.3 (#3280)

* Import GULLoggerLevel.h via public framework header (#3277)

* Put the need to include Firestore/Source/Public in the podspec (#3288)

This removes the need to munge the pods project after the fact and makes
it so that customers can click through to our headers too.

* Ensure Storage initializer doesn't get called (#3294)

* FIROptions.appGroupID introduced (#3293)

* Use a consistent set of dependencies on all platforms (#3289)

* Use a consistent set of dependencies on all platforms

* pod install for uniform dependencies

* Store the coerced base value in the BaseMutation (#3292)

* In card message: set the text color on the body text view (#3286)

* In card message: set the text color on the body text view

* Fix bug where card messages in test app were showing up with two of the same buttons

* Revert change to text color

* [docs] add missing semicolon (#3305)

Add missing semicolon to code example

* Add explicit Foundation import. (#3309)

This is causing issues when building an XCFramework.

* Pass the correct compiler flag for CoreDiagnostics. (#3312)

* Pass the correct compiler flag for CoreDiagnostics.

When CoreDiagnostics is open sourced, we'll need to ensure that the
right compiler flag is passed. This doesn't add support for Carthage yet
but allows the frameworkbuilder to pass the flag for carthage as well.
An update to the zipbuilder to allow for carthage will follow shortly.

* Remove accidental change.

* Fix and rewrite sync_project.rb (#3296)

* Fix and rewrite sync_project.rb

Ever since we added multiple platforms, removing a file has been broken.
This fixes that issue.

Also, rewrite target synchronization to make more sense. Essentially now
there's one diff between the filesystem and the groups and then an
explicit diff is done between project files and target contents.

* Run sync_project.rb on post-install

* pod lib linting should output something every minute while running

* DEBUG: This commit should be reverted

* DEBUG: This commit should be reverted

* DEBUG: This commit should be reverted

* Remove mph-master from travis

* Fix constant name conflic between old and new diagnostics (#3329)

* Rename kFIRDiagnosticsHeartbeatDateFileName -> kFIRCoreDiagnosticsHeartbeatDateFileName to avoid conflicts with FIRDiagnostics.

* Travis: temporary add `mph-master` to run tests.

* Rempve mph-master again

* Fix imports in FIRCDConnector

* Fix another import

* Fix yet another import

* Attempt to read crashing test logs from disk

* Implement printing of failed/crashed test logs.

* Print only crashed tests, rmdir between runs

* Revert reading crashing log changes

* Write CHANGELOG for all new FIRCD associated libraries

* Change all GUL deps to >= 6.2

* Revert ZipBuilder changes and do some last bits of cleanup

* Remove an assertion and populate an error instead
2019-07-18 09:54:06 -07:00
christibbs cea4662f24 M52 release notes for headful SDK (#3371)
* Update CHANGELOG.md

* Past tense
2019-07-16 14:56:47 -04:00
christibbs c8c99aa462 In card message: set the text color on the body text view (#3286)
* In card message: set the text color on the body text view

* Fix bug where card messages in test app were showing up with two of the same buttons

* Revert change to text color
2019-07-03 14:18:04 -04:00
christibbs 84ebe86330 Clean up documentation to conform to Jazzy doc style (#3202)
* Fix up documentation for headless SDK.

* Fix documentation in headful SDK.
2019-06-17 14:00:55 -04:00
christibbs bbbe77e17c Deprecate initializers for FIAM view model objects (#3187)
* Deprecate initializers for FIAM view model objects, they're only used by the SDK and will eventually be hidden in a private header

* Run styles.sh
2019-06-13 18:08:38 -04:00
christibbs db4070d187 Add release notes for FIAM M49 (#3099)
* Add release notes for FIAM M49

* Add PR numbers for release notes
2019-05-28 20:54:33 -04:00
christibbs 4a33b267d9 Support card template display in FIAM iOS SDK (#2947)
* Add card scene to storyboard, use IBDesignable rounded corners view

* Use IBdesignable rounded corners view for modal message

* Add card message type

* Parse card message type, add new fields for secondary actions and landscape URLs to view model classes

* Display a really basic card message

* Naive landscape image loading (needs error handling)

* Quick bug fix

* Wire up Display to show cards

* Wire up Display to show cards

* Fix tablet width

* Pick right image for orientation

* Remove placeholder image sizing constraints at build time

* Add more test functionality

* Better image sizes

* Size message image out

* Switch to body text view rather than body label

* Make the body text view scrollable. Set correct text color on button.

* Hook up buttons and text color

* Include action URL in messageClicked callback

* Fix action URL

* Update pod specs

* Update message clicked delegate to pass an action object, not just the actionURL

* Change podspec versions back, hook up background color

* Don't animate scroll to top on scroll view

* Fix text scrolling bug

* Fix portrait and landscape fetching code. Fix background color bug

* Flesh out FIRIAMMessageContentDataWithImageURLTests

* Fix up FIRIAMFetchFlowTests

* Fix up FIRIAMMessageClientCacheTests

* Fix up FIRIAMMessageDisplayForTesting

* Fix fetching in FIRIAMMessageContentDataWithImageURL

* Tests for message parsing

* Fix up view controllers for banner, modal, image only. Add a view controller for testing card

* Add required vertical compression resistance for primary and secondary action button

* Add UI tests for card view controller

* Add back deprecated messageClicked: method, call it if the newer method isn't implemented. Make all display delegate methods optional.

* Run scripts/styles.sh

* Documentation cleanup

* Fix style in FIRIAMMessageContentDataWithImageURLTests.m

* Add missing copyright notices

* Bump versions of both FIAM SDKS

* Remove default.profraw

* Address some logging punctuation nits. Cancel landscape image load if portrait image load fails.

* Add missing error flow in image fetch. A few comment nits.

* Shorten up init method for CardDisplayMessage

* Documentation updates

* Deintegrate cocoa pods

* Include landscape image data in test image load class

* Fix Swift naming for InAppMessagingAction in UItests

* Remove card message initializer from public API, place into a private header

* Mark some properties on the card object as readonly that should've been already, Find a way to initialize a card message in the UI tests.

* Bump dependency on InAppMessaging given changes

* Bump versions in podspecs for both SDKs

* Make all view model properties for message subclasses readonly

* Revert changes to other message subclasses

* Make card view model properties readonly

* Run styles.sh
2019-05-24 18:31:16 -04:00
christibbs 6a38e08518 FIAM release notes for M45 (#2532)
* Release notes for M45

* Better words in change log

* Add issue number
2019-03-12 15:13:51 -07:00
christibbs 97ccf374d5 Use UIScreen mainScreen bounds rather than UIApplicationDelegate window to size the UIWindow for in-app message display (#2518) 2019-03-11 15:09:04 -07:00
christibbs 066593d872 Add FIAM M44 release notes (#2395) 2019-02-27 23:40:40 -08:00
Paul Beusterien 6e4af0f2ad Fix import references to other pod's headers to fix pod lib lint (#2409)
* Fix import references to other pod's headers to fix pod lib lint

* style

* fiam travis config fixes

* Fix Sample's HEADER_SEARCH_PATHS
2019-02-20 13:31:28 -08:00
christibbs c27c67a872 Fix FIAM Travic CI issues (#2380)
* Remove redundant imports of FIRInAppMessagingRendering.h

* Use global header to import FIRInAppMessagingRendering.h

* Fix input order
2019-02-12 10:06:05 -08:00
christibbs c8899e294d Firebase In-app messaging callbacks (#2354)
* FIRInAppMessagingDisplayMessage and FIRInAppMessagingDisplayDelegate refactor + downstream changes

* More downstream changes from FIRInAppMessagingDisplayDelegate, calling through to app-side delegate from default display executor

* Add delegate property on FIRInAppMessaging

* Display SDK changes to pass through in app message with callbacks

* Headless SDK unit test refactoring

* Display test app downstream changes

* Pull in headless SDK in display app, no need to have this come in as a framework anymore

* Run scripts/style.sh

* Remove WIP test

* Refactor FIRIAMDIsplayExecutor to take an InAppMessaging object for testing

* Depend on FirebaseAnalyticsInterop in UI test app

* File imports for FIRInAppMessaging files

* Remove FirebaseInAppMessaging imports
2019-02-08 14:20:27 -08:00
Paul Beusterien 7c53489e03 Travis to Xcode 10.1 and clang-format to 8.0.0 (tags/google/stable/2018-08-24) (#2222)
* Travis to Xcode 10.1
* Update to clang-format 8
* Update clang-format homebrew link
* Work around space in filename style.sh issue
2019-01-02 09:27:31 -08:00
christibbs 35c3a8ce96 Remove adjustsFontForContentSizeCategory (unsupported in iOS 10.0) from labels in card layout Storyboard (#2083) 2018-11-15 15:51:42 -08:00
christibbs b9cc615262 Fix tablet layout for in-app messaging (#2032)
* Rename fine-tuning methods to reflect size class rather than orientation

* Modify existing constraints to de-portrait tablet layout, need a card width for tablet now

* Further constraint tinkering, add identifiers for better auto layout debugging

* More constraints for "landscape" appearance in tablet. Looks good for every case except Thin Image, which blows up the height of the message card

* Fix fine tune layout methods to correctly fine tune for compact height and width

* Update layout constraint identifiers to match titles in document outline for easier debugging

* Revert superfluous method name changes for layout fine tuning methods
2018-11-01 11:10:40 -07:00
Yong Mao c279981085 add changelog for fiam display (#1907) 2018-10-04 11:03:09 -07:00
Ryan Wilson 96cb30261f Create Umbrella Header for FIAMDisplay (#1857)
* Create Umbrella Header for FIAMDisplay

This is causing an issue while trying to build the zip file.

* Append .h to filename.
2018-09-20 16:19:44 -04:00
Yong Mao c7e9b2d892 add firebase in-app messaging display pod (#1798) 2018-09-14 09:31:48 -07:00