Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates from Tiller Systems #15

Open
wants to merge 63 commits into
base: tillersystems
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
3c0073c
Update for compatibility with swift 4.0 and swift 4.1, remove '(Void)…
Apr 16, 2018
215940b
Update projects settings and define as swift version to 4.1
Apr 16, 2018
410a6f9
+ 0.5.5 - Update with xcode-9.3.0 and swift 4.1 compatibility
Apr 16, 2018
dd389ae
+ 0.5.6 - Makes peerId accessible 'public' to the frameworks, doesn't…
Apr 16, 2018
6fba269
podspec
Geoffrey-T Apr 24, 2018
781ad80
Update .gitignore with our own version
Jun 7, 2018
46bb5e9
Specify only swift file for podspec sources
Jun 7, 2018
2723ce0
swift 4.2
fcarrar Sep 24, 2018
d3c7ab1
Update 'PeerSession' & 'PeerSessionEventProduce', producder now produ…
lifely Oct 25, 2018
9d60910
Update Advertiser and include 'discoveryInfo' in 'PeerAdvertiser' type
lifely Oct 25, 2018
061ceb7
Update demo application, probably doesn't work with refactored
lifely Oct 25, 2018
1524cc1
Comment playground code since most of it created build issue
lifely Oct 25, 2018
4d26a97
Update xcode projects configurations and file structures
lifely Oct 25, 2018
cd6cdb1
Update 'PeerBrowser' with 'discoverInfo' and 'sessionFactory'
lifely Oct 25, 2018
53bbb2f
Update 'PeerConnectionEvent' with 'session' attributes on 'receive' e…
lifely Oct 25, 2018
b1f4afa
Update 'Peer' type with more 'convenience init' and 'discoveryInfo'
lifely Oct 25, 2018
5b37737
Split 'PeerConnectionManager' extensions in multiple files and update…
lifely Oct 25, 2018
a82b281
! 2.0.0-beta - first offical draft / review of this 2.0.0 with 'node'…
lifely Oct 25, 2018
3b4fe6c
Import classes we're interrested in 'AtomicKit', (it doesn't not offe…
lifely Nov 30, 2018
17326a1
Update podspec and project settings for atomicKit target / link
lifely Nov 30, 2018
52cac75
Adds/Use Atomic type/container for Observable.value attribute, improv…
lifely Nov 30, 2018
211d98f
Update project settings
lifely Nov 30, 2018
ba4c35f
Adds '===' operator for 'Peer' object to check matching MCPeerID inst…
lifely Nov 30, 2018
73ff02d
Adds 'Invitation' type and management in 'PeerBrowser' 'invitePeer' d…
lifely Nov 30, 2018
edff618
Update manager internal 'invite' helper we generals check for availab…
lifely Nov 30, 2018
53b86c1
Adds mutex lock, Error to be improved later and retryAttemptQueue
lifely Nov 30, 2018
c15d22a
Adds dependencies to 'logger-ios' and cleanup all logs in producer an…
lifely Dec 6, 2018
90b18b3
Remove 'consoleDestination' and replace it with 'oslogDestination' wh…
lifely Dec 7, 2018
d2ef32e
Moved 'Invitation' into it's own file, added 'Invitation.Status' and …
lifely Dec 11, 2018
4214c74
Improve logging once again, change 'error' log that where not error b…
lifely Dec 11, 2018
2c211f6
Update 'PeerConnectionManager business logic, better cleaning of sess…
lifely Dec 11, 2018
30ea7f9
+ 2.1.0-beta - Adds Invitation.Status to help understand state of con…
lifely Dec 11, 2018
dc11829
Fix missing 'throw' in switch default behavior
lifely Jan 7, 2019
d217994
Prevent leaks by setting capture DispatchWorkItem reference to nil af…
lifely Jan 7, 2019
3bd10e6
Change DispatchQueue to concurrent queue and prefer use of global queue
lifely Jan 7, 2019
33dc7c5
+ 2.1.1 - PeerConnectivity Manager with invitation for multiple services
lifely Jan 7, 2019
4231061
+ 2.1.2 - Update sources to remove most xcode warnings
lifely Apr 29, 2019
8eb8790
Adds safety on 'foundPeer' access using available 'peerConnectionMana…
lifely Sep 10, 2019
f455de1
Update project settings and dependencies
lifely Sep 10, 2019
779b9c2
+ 2.1.3 - Hotfix on 'foundPeer' multithread issue
lifely Sep 10, 2019
f568e3d
Adds computed properties for all available 'session' and 'peers'
lifely Sep 16, 2019
522d4e3
Adds 'sendData' logics to foward message between multiple available s…
lifely Sep 16, 2019
677e72b
+ 2.2.0-beta - beta version for device testing of session evolutions
lifely Sep 16, 2019
73dafb8
Increase 'allAvailablePeers' w/ serviceSession 'connectedPeers'
lifely Sep 16, 2019
9b9e93f
+ 2.2.1 - Reuse 'ServiceSession' to reach maximun number of connecter…
lifely Sep 16, 2019
d444c56
+ 2.2.1 - Remove verbose log level
lifely Sep 16, 2019
a8716c1
Feedback on pull-request review, improve condition reading
lifely Sep 17, 2019
8ed541d
Adds lengthy documentation on latests 'sendData' logic change
lifely Sep 18, 2019
98832f0
Update source for deprecation / change in swift 5.0
lifely Oct 23, 2019
0799e8c
Resolve 'PeerConnectivityTest' for building
lifely Oct 23, 2019
c868857
Update/Fix 'PeerConnectivityDemo' to build w/ xcode 10.3 and swift 5.0
lifely Oct 23, 2019
090d78d
+ 2.3.0 - Update for xcode 10.3 and swift 5.0
lifely Oct 23, 2019
1aa3ea0
Feedback on pull-request review, remove unused params in switch case
lifely Oct 24, 2019
0dd8687
add subservice type
Geoffrey-T Nov 27, 2020
63bcb2f
v2.4
Geoffrey-T Nov 27, 2020
b3cb42c
warn + review
Geoffrey-T Nov 27, 2020
b698a21
fix
Geoffrey-T Nov 27, 2020
a6173fa
Update Package.swift
Geoffrey-T May 19, 2021
5d5d68c
Update Package.swift
Geoffrey-T May 19, 2021
dc9ad29
Update Package.swift
Geoffrey-T May 20, 2021
72a0aaa
Merge
Geoffrey-T May 20, 2021
6cd179e
Migrate SPM + swiftformat
bmunozfr Sep 25, 2021
d2538f8
Fix: nil self
Geoffrey-T Dec 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
170 changes: 138 additions & 32 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,65 +1,171 @@
# Xcode
####
# Global ignores - macOS X system ignores
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
# NB: https://github.com/github/gitignore/blob/master/Global/OSX.gitignore

## Build generated
build/
*.DS_Store
.AppleDouble
.LSOverride
profile

# Icon must end with two \r
Icon

# Thumbnails
._*
*.swp
*.lock
[Tt]humbs.db
*.bak*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

####
# Global for many version of Xcode - from different source in weird orders
#
# NB: https://github.com/github/gitignore/blob/master/Global/Xcode.gitignore
# NB: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects - https://gist.github.com/adamgit/3786883

# Xcode temporary files that should never be committed
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...
*~.nib

## - Xcode build files

# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData"
DerivedData/

## Various settings
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build"
build/
build/*

#####
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
#
# This is complicated:
#
# SOMETIMES you need to put this file in version control.
# Apple designed it poorly - if you use "custom executables", they are saved in this file.
# 99% of projects do NOT use those, so they do NOT want to version control this file.
# ..but if you're in the 1%, comment out the line "*.pbxuser"
# NB: also, whitelist the default ones, some projects need to use these

*.pbxuser
!default.pbxuser
*.mode1
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspective
*.perspectivev3
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xcuserstate
*.xcscmblueprint

# XCode 4 build-schemes - PRIVATE ones are stored inside xcuserdata
!xcschemes

# Xcode 4 - semi-personal settings, often included in workspaces
# You can safely ignore the xcuserdata files - but do NOT ignore the files next to them
xcuserdata

####
# XCode 4 workspaces - more detailed
#
# Workspaces are important! They are a core feature of Xcode - don't exclude them :)
#
# Workspace layout is quite spammy. For reference:
#
# (root)/
# (project-name).xcodeproj/
# project.pbxproj
# project.xcworkspace/
# contents.xcworkspacedata
# xcuserdata/
# (your name)/xcuserdatad/
# xcuserdata/
# (your name)/xcuserdatad/
#
#
#
# Xcode 4 workspaces - SHARED
#
# This is UNDOCUMENTED (google: "developer.apple.com xcshareddata" - 0 results
# But if you're going to kill personal workspaces, at least keep the shared ones...
#
#
!xcshareddata
*.xcuserdatad

# Allegedly, if you manually "deprecate" your classes, they get moved here.
# We're using source-control, so this is a "feature" that we do not want!
*.moved-aside

# Xcode 5 introduced a new file type .xccheckout. This files contains VCS metadata
# and should therefore not be checked into the VCS.
*.xccheckout

####
# objective-c ignores - language related ignore, simplifies without previous ignored and focus on objective-c
#
# NB: https://github.com/github/gitignore/blob/master/Objective-C.gitignore


## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
Pods/
Podfile.local
*.xcworkspace
!Manifest.lock
!Podfile.lock

# Carthage
####
# Continuous Integration Ignore - Fastlane and other
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
# Bundler
.bundle

# fastlane specific & deliver temporary files
fastlane/report.xml
fastlane/Preview.html

# snapshot generated screenshots
fastlane/screenshots

# scan temporary files
fastlane/test_output

# Certificates and provisioning files
*.cer
*.mobileprovision

jenkins.keychain
.build/
Expand Down
1 change: 0 additions & 1 deletion .swift-version

This file was deleted.

78 changes: 78 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# file options
--exclude Pods, sonarqube, Documentation

--indent 4
--indentcase true

# rules

--enable andOperator
--enable blankLinesAtEndOfScope
--enable blankLinesAtStartOfScope
--enable blankLinesBetweenScopes
--enable braces
--enable consecutiveBlankLines,
--enable consecutiveSpaces
--enable duplicateImports
--enable elseOnSameLine
--enable emptybraces
--enable fileHeader
--enable isEmpty
--enable modifierOrder
--enable preferKeyPath
--enable redundantExtensionACL
--enable redundantBreak
--enable redundantFileprivate
--enable redundantInit
--enable redundantLet
--enable redundantLetError
--enable redundantNilInit
--enable redundantObjc
--enable redundantParens
--enable redundantPattern
--enable redundantReturn
--enable redundantSelf
--enable redundantVoidReturnType
--enable semicolons
--enable sortedImports
--enable sortedSwitchCases
--enable spaceAroundBraces
--enable spaceAroundBrackets
--enable spaceAroundComments
--enable spaceAroundGenerics
--enable spaceAroundOperators
--enable spaceAroundParens
--enable spaceInsideBraces
--enable spaceInsideBrackets
--enable spaceInsideComments
--enable spaceInsideGenerics
--enable spaceInsideParens
--enable todos
--enable trailingClosures
--enable trailingSpace
--enable void
--enable wrapEnumCases


--disable enumNamespaces
--disable extensionAccessControl
--disable hoistPatternLet
--disable initCoderUnavailable
--disable leadingDelimiters
--disable linebreakAtEndOfFile
--disable linebreaks
--disable markTypes
--disable numberFormatting
--disable organizeDeclarations
--disable specifiers
--disable strongOutlets
--disable strongifiedSelf
--disable trailingCommas
--disable typeSugar
--disable unusedArguments
--disable wrap
--disable wrapArguments
--disable wrapAttributes
--disable wrapMultilineStatementBraces
--disable wrapSwitchCases
--disable yodaConditions
1 change: 0 additions & 1 deletion .travis.yml

This file was deleted.

20 changes: 19 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
// swift-tools-version:5.3

import PackageDescription

let package = Package(
name: "PeerConnectivity"
name: "PeerConnectivity",
platforms: [
.iOS(.v11),
.macOS(.v10_13)
],
products: [
.library(name: "PeerConnectivity", targets: ["PeerConnectivity"])
],
targets: [
.target(
name: "PeerConnectivity"
),
.testTarget(
name: "PeerConnectivityTests",
dependencies: ["PeerConnectivity"]
)
]
)
17 changes: 0 additions & 17 deletions PeerConnectivity.podspec

This file was deleted.

Loading