Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions src/launchpad/api/update_api_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class AppleAppInfo(BaseModel):
main_binary_uuid: Optional[str] = None
profile_expiration_date: Optional[str] = None
certificate_expiration_date: Optional[str] = None
# TODO: add "date_built" field once exposed in 'AppleAppInfo'
# TODO(EME-423): add "date_built" field once exposed in 'AppleAppInfo'


class UpdateData(BaseModel):
Expand All @@ -63,4 +63,4 @@ def serialize_datetime(self, dt: datetime | None) -> str | None:
"""Serialize datetime objects to ISO format strings for JSON compatibility."""
return dt.isoformat() if dt is not None else None

# TODO: add "date_built" and custom android fields
# TODO(EME-423): add "date_built" and custom android fields
6 changes: 3 additions & 3 deletions src/launchpad/artifact_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ def _do_distribution(
with apk.raw_file() as f:
self._sentry_client.upload_installable_app(organization_id, project_id, artifact_id, f)
else:
# TODO: Should call _update_artifact_error here once we
# TODO(EME-422): Should call _update_artifact_error here once we
# support setting errors just for build.
logger.error(f"BUILD_DISTRIBUTION failed for {artifact_id} (project: {project_id}, org: {organization_id})")

Expand Down Expand Up @@ -429,7 +429,7 @@ def _get_artifact_type(artifact: Artifact) -> ArtifactType:

apple_app_info = None
if isinstance(app_info, AppleAppInfo):
# TODO: add "date_built" field once exposed in 'AppleAppInfo'
# TODO(EME-423): add "date_built" field once exposed in 'AppleAppInfo'
apple_app_info = AppleAppInfoModel(
is_simulator=app_info.is_simulator,
codesigning_type=app_info.codesigning_type,
Expand All @@ -440,7 +440,7 @@ def _get_artifact_type(artifact: Artifact) -> ArtifactType:
profile_expiration_date=app_info.profile_expiration_date,
certificate_expiration_date=app_info.certificate_expiration_date,
)
# TODO: add "date_built" and custom android fields
# TODO(EME-423): add "date_built" and custom android fields

update_data = UpdateData(
app_name=app_info.name,
Expand Down
10 changes: 2 additions & 8 deletions src/launchpad/parsers/android/dex/dex_method_parser.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
from launchpad.parsers.android.dex.dex_mapping import DexMapping
from launchpad.parsers.android.dex.types import (
AccessFlag,
Annotation,
DexFileHeader,
Method,
Prototype,
)
from launchpad.parsers.android.dex.types import AccessFlag, Annotation, DexFileHeader, Method, Prototype
from launchpad.parsers.buffer_wrapper import BufferWrapper


Expand Down Expand Up @@ -59,7 +53,7 @@ def parse(self) -> Method:
prototype=self._prototype,
access_flags=self._access_flags,
annotations=self._annotations,
parameters=[], # TODO: Implement when needed in future
parameters=[], # TODO(EME-424): Implement when needed in future
)

def get_size(self) -> int:
Expand Down
4 changes: 2 additions & 2 deletions src/launchpad/parsers/apple/macho_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def get_header_size(self) -> int:
# Mach-O header is typically at the beginning
# Size varies by architecture but 32 bytes is common for 64-bit
header_size = 32
# TODO: implement proper header size, seems hard to do with LIEF
# TODO(EME-425): implement proper header size, seems hard to do with LIEF
return header_size

@sentry_sdk.trace
Expand Down Expand Up @@ -290,7 +290,7 @@ def find_symbol(addr: int) -> lief.Symbol | None:
if sym:
symbols.append(sym)
else:
# TODO: there are some addresses that are not in the symbols list
# TODO(EME-426): there are some addresses that are not in the symbols list
# but are present in the FUNCTION_STARTS section. for now we can just
# add a placeholder symbol name.
symbols.append(f"__mod_init_func_{count}")
Expand Down
4 changes: 2 additions & 2 deletions src/launchpad/size/analyzers/apple.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ def analyze(self, artifact: AppleArtifact) -> AppleAnalysisResults:
alternate_icons_optimization=self._generate_insight_with_tracing(
AlternateIconsOptimizationInsight, insights_input, "alternate_icons_optimization"
),
# TODO: enable audio/video compression insights once we handle ffmpeg
# TODO(EME-427): enable audio/video compression insights once we handle ffmpeg
# audio_compression=self._generate_insight_with_tracing(
# AudioCompressionInsight, insights_input, "audio_compression"
# ),
Expand Down Expand Up @@ -349,7 +349,7 @@ def _get_profile_type(self, profile_data: dict[str, Any]) -> Tuple[str, str]:
# Check certificate type
developer_certs = profile_data.get("DeveloperCertificates", [])
if developer_certs:
# TODO: Parse DER certificate to check if it's a development certificate
# TODO(EME-428): Parse DER certificate to check if it's a development certificate
# For now, default to development if we have a certificate
return "development", profile_name

Expand Down
2 changes: 1 addition & 1 deletion src/launchpad/size/hermes/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def make_hermes_reports(file_path: Path) -> Dict[str, HermesReport]:
for hermes_file in hermes_files:
report = make_hermes_report(hermes_file)
if report is not None:
# TODO: Add absolute path support to FileInfo so we can use the absolute path here
# TODO(EME-429): Add absolute path support to FileInfo so we can use the absolute path here
reports[str(hermes_file.relative_to(file_path))] = report
return reports

Expand Down
2 changes: 1 addition & 1 deletion src/launchpad/size/insights/android/image_optimization.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def generate(self, input: InsightsInput) -> WebPOptimizationInsightResult | None
if file_info.full_path.name.endswith(".9.png"):
continue

# TODO: verify that the file is actually an image
# TODO(EME-430): verify that the file is actually an image

original_size = get_file_size(Path(file_info.full_path))
with tempfile.NamedTemporaryFile(suffix=".webp", delete=True) as tmp_webp:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def generate(self, input: InsightsInput) -> LocalizedStringCommentsInsightResult
total_savings = 0

for file_info in input.file_analysis.files:
# TODO: look into InfoPlist.strings
# TODO(EME-431): look into InfoPlist.strings
if not file_info.path.endswith(".strings") or file_info.path.endswith("InfoPlist.strings"):
continue

Expand Down
3 changes: 1 addition & 2 deletions src/launchpad/size/models/apple.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,7 @@ class MachOBinaryAnalysis:
segments: List[SegmentInfo]
load_commands: List[LoadCommandInfo]
swift_metadata: SwiftMetadata | None = None
# TODO(telkins): try to remove the lief types from this model
# it's only working by coincidence right now
# TODO(EME-432): remove lief types from this model so it's safe to use after the binary is closed
symbol_info: SymbolInfo | None = None
header_size: int = 0
dyld_info: DyldInfo | None = None
Expand Down
1 change: 0 additions & 1 deletion src/launchpad/size/treemap/treemap_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ def __init__(
filesystem_block_size: int | None = None,
# Optional presentation tweak: collapse one-child directory chains (off by default)
compress_paths: bool = False,
# TODO: Move iOS-specific logic out of constructor
binary_analysis_map: Dict[str, MachOBinaryAnalysis] | None = None,
class_definitions: list[ClassDefinition] | None = None,
hermes_reports: Dict[str, HermesReport] | None = None,
Expand Down
2 changes: 1 addition & 1 deletion src/launchpad/size/utils/apple_bundle_size.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,5 +186,5 @@ def _zip_metadata_size_for_bundle(bundle_url: Path) -> int:
def _get_extra_code_signature_size(bundle_url: Path) -> int:
"""Calculate additional space needed for code signature."""

# TODO: Implement actual code signature size calculation
# TODO(EME-433): Implement actual code signature size calculation
return 0
2 changes: 1 addition & 1 deletion src/launchpad/utils/apple/apple_strip.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def strip(
return result

def _get_strip_path(self) -> str:
# TODO: eventually remove this and wire this up to our deps tool
# TODO(EME-434): eventually remove this and wire this up to our deps tool
system = platform.system()

if system == "Darwin":
Expand Down
136 changes: 0 additions & 136 deletions src/launchpad/utils/apple/swift_demangle.py

This file was deleted.

85 changes: 0 additions & 85 deletions tests/integration/test_swift_demangle.py

This file was deleted.

Loading