Add licensing details and update device configurations in XML files#273
Conversation
… MySQL, PostgreSQL, and Redis
… MySQL, PostgreSQL, and Redis
… MySQL, PostgreSQL, and Redis
… MySQL, PostgreSQL, and Redis
|
Thank you for your pull request! Welcome to our community! |
Summary of ChangesHello @hoangsonww, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request primarily focuses on refining project configuration, metadata, and development environment settings. Key changes include the widespread addition of licensing information, updates to database data source configurations, and the enabling of ESLint for improved code quality. Furthermore, mobile development configurations have been expanded with new device profiles, and a Google consent management script has been integrated into the web content. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces licensing information across the repository, updates various IDE configurations, and expands the list of device profiles for mobile testing. The changes are generally positive, improving project setup and consistency. I've identified a few areas for improvement: a minor formatting error in the new license files, some inconsistencies and redundancies in the device configuration XML, and a potential security risk with a private environment file being tracked by Git. My detailed comments and suggestions are provided below.
| { | ||
| "dev": { | ||
| "auth_token": "replace-with-token" | ||
| "auth_token": "replace-with-token-DO-NOT-COMMIT-THIS-TO-GIT" | ||
| } | ||
| } |
There was a problem hiding this comment.
While adding -DO-NOT-COMMIT-THIS-TO-GIT is a good warning, a file named http-client.private.env.json containing placeholders for secrets should not be tracked by Git at all to prevent accidental exposure of real credentials. It's recommended to add this file, or a pattern like *.private.env.json, to your .gitignore file. A template file (e.g., http-client.private.env.json.template) could be committed instead, which developers can copy and fill out locally. This comment also applies to the other instances of this file in the platforms/ios/www and www directories.
| Where the Licensed Rights include Sui Gener | ||
|
|
||
| is Database Rights that apply to Your use of the Licensed Material: |
There was a problem hiding this comment.
There appears to be a formatting issue in the license text. The term "Sui Generis Database Rights" is split across two lines. This seems to be a copy-paste error and is present in all the newly added LICENSE.md files (aws/LICENSE.md, deployment/LICENSE.md, docs/LICENSE.md, infrastructure/LICENSE.md, jenkins/LICENSE.md, kubernetes/LICENSE.md).
| Where the Licensed Rights include Sui Gener | |
| is Database Rights that apply to Your use of the Licensed Material: | |
| Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: |
| <option name="id" value="e2q" /> | ||
| <option name="labId" value="google" /> | ||
| <option name="manufacturer" value="Samsung" /> | ||
| <option name="name" value="Galaxy S24 +" /> |
There was a problem hiding this comment.
There's an inconsistent device name here. This entry uses "Galaxy S24 +", with a space before the plus sign. Another entry on line 590 uses "Galaxy S24+". For consistency, it would be better to use the same naming convention. I'd suggest removing the space.
| <option name="name" value="Galaxy S24 +" /> | |
| <option name="name" value="Galaxy S24+" /> |
| <PersistentDeviceSelectionData> | ||
| <option name="api" value="35" /> | ||
| <option name="brand" value="google" /> | ||
| <option name="codename" value="husky" /> | ||
| <option name="id" value="husky" /> | ||
| <option name="labId" value="google" /> | ||
| <option name="manufacturer" value="Google" /> | ||
| <option name="name" value="Pixel 8 Pro" /> | ||
| <option name="screenDensity" value="390" /> | ||
| <option name="screenX" value="1008" /> | ||
| <option name="screenY" value="2244" /> | ||
| </PersistentDeviceSelectionData> |
There was a problem hiding this comment.
Pull request overview
This PR updates repository metadata/configuration (licenses, IDE data sources/inspections) and also modifies the MovieVerse-Mobile packaged web assets (adds Google Funding Choices snippet) while introducing several IDE/Xcode user-state artifacts.
Changes:
- Added multiple CC BY-NC 4.0
LICENSE.mdfiles across subdirectories and adjusted formatting in existing license copies. - Updated JetBrains
.ideadata source model versions and enabled ESLint inspection in the default profile. - Injected Google Funding Choices scripts into multiple
index.htmlvariants for MovieVerse-Mobile (source + platform copies), plus committed several IDE/Xcode user/cache files.
Reviewed changes
Copilot reviewed 20 out of 31 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| kubernetes/LICENSE.md | Adds CC BY-NC license copy under kubernetes/. |
| jenkins/LICENSE.md | Adds CC BY-NC license copy under jenkins/. |
| infrastructure/LICENSE.md | Adds CC BY-NC license copy under infrastructure/. |
| images/LICENSE.md | Adjusts markdown formatting/indentation in existing license copy. |
| docs/LICENSE.md | Adds CC BY-NC license copy under docs/. |
| deployment/LICENSE.md | Adds CC BY-NC license copy under deployment/. |
| aws/LICENSE.md | Adds CC BY-NC license copy under aws/. |
| MovieVerse-Mobile/www/index.html | Adds Google Funding Choices script + iframe bootstrap. |
| MovieVerse-Mobile/www/MovieVerse-Frontend/html/about.html | Reflows “Useful Links” markup; button formatting change. |
| MovieVerse-Mobile/platforms/ios/www/index.html | Mirrors Funding Choices snippet into iOS packaged web assets. |
| MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/about.html | Mirrors about.html markup changes into iOS packaged web assets. |
| MovieVerse-Mobile/platforms/ios/www/MovieVerse-Backend/APIs/http-client.private.env.json | Updates placeholder auth_token string. |
| MovieVerse-Mobile/platforms/ios/Pods/Pods.xcodeproj/xcuserdata/davidnguyen.xcuserdatad/xcschemes/xcschememanagement.plist | Adds/changes Xcode user scheme ordering hint. |
| MovieVerse-Mobile/platforms/ios/MovieVerse.xcworkspace/xcuserdata/davidnguyen.xcuserdatad/xcschemes/xcschememanagement.plist | Adds Xcode user scheme-management file. |
| MovieVerse-Mobile/platforms/ios/MovieVerse.xcworkspace/xcuserdata/davidnguyen.xcuserdatad/UserInterfaceState.xcuserstate | Adds Xcode UI state binary file. |
| MovieVerse-Mobile/platforms/ios/MovieVerse.xcodeproj/project.pbxproj | Updates Xcode project references/IDs (Pods + plugin refs). |
| MovieVerse-Mobile/platforms/ios/CordovaLib/CordovaLib.xcodeproj/xcuserdata/davidnguyen.xcuserdatad/xcschemes/xcschememanagement.plist | Adds Xcode user scheme-management file. |
| MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.html | Mirrors Funding Choices snippet into Android packaged web assets. |
| MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/about.html | Mirrors about.html markup changes into Android packaged web assets. |
| MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Backend/APIs/http-client.private.env.json | Updates placeholder auth_token string. |
| MovieVerse-Mobile/LICENSE.md | Adjusts markdown formatting/indentation in existing license copy. |
| MovieVerse-Mobile/.idea/markdown.xml | Adds JetBrains Markdown plugin settings file. |
| MovieVerse-Mobile/.idea/caches/deviceStreaming.xml | Updates JetBrains device streaming cache entries. |
| MovieVerse-AI/LICENSE.md | Adds CC BY-NC license copy under MovieVerse-AI/. |
| .idea/inspectionProfiles/Project_Default.xml | Enables ESLint inspection in JetBrains profile. |
| .idea/dataSources/ab0ff917-2222-4402-8348-203055f8ac56.xml | Updates Redis DB model format + rewrites key entries. |
| .idea/dataSources/79c6fab5-e5a6-4c9a-a761-b571eac26217.xml | Updates PostgreSQL DB model format + removes introspection state fields. |
| .idea/dataSources/788cafbf-6cb6-424e-a1bc-51d30fb43a11.xml | Updates MySQL DB model format-version. |
| .idea/dataSources/0c6f8acf-80af-44b7-8471-3140f2e683f5.xml | Updates Mongo DB model format-version. |
| .idea/dataSources.local.xml | Updates IDE “created-in” version and includes local datasource metadata. |
| .gitignore | Adds venv ignore entry. |
Files not reviewed (9)
- .idea/dataSources.local.xml: Language not supported
- .idea/dataSources/0c6f8acf-80af-44b7-8471-3140f2e683f5.xml: Language not supported
- .idea/dataSources/788cafbf-6cb6-424e-a1bc-51d30fb43a11.xml: Language not supported
- .idea/dataSources/79c6fab5-e5a6-4c9a-a761-b571eac26217.xml: Language not supported
- .idea/dataSources/ab0ff917-2222-4402-8348-203055f8ac56.xml: Language not supported
- .idea/inspectionProfiles/Project_Default.xml: Language not supported
- MovieVerse-Mobile/.idea/caches/deviceStreaming.xml: Language not supported
- MovieVerse-Mobile/.idea/markdown.xml: Language not supported
- MovieVerse-Mobile/platforms/ios/Pods/Pods.xcodeproj/xcuserdata/davidnguyen.xcuserdatad/xcschemes/xcschememanagement.plist: Language not supported
Comments suppressed due to low confidence (2)
MovieVerse-Mobile/www/MovieVerse-Frontend/html/about.html:526
- Multiple elements in this section reuse the same
id="githubLink". HTMLidvalues must be unique per document; duplicates can break CSS selectors and any JS that usesgetElementById/#githubLinkselectors. Consider switching this to aclass(e.g.,class="githubLink") and updating any related selectors accordingly.
<a href="analytics.html" style="text-decoration: underline" id="githubLink">analytics page</a>
of our database, visit our <a href="https://api-movieverse.vercel.app/" style="text-decoration: underline" id="githubLink">API page</a>, read
our <a style="text-decoration: underline" id="githubLink" href="terms-of-service.html">terms of service</a>, and review our
<a style="text-decoration: underline" id="githubLink" href="privacy-policy.html">privacy policy</a>. Feel free to
<a style="text-decoration: underline" id="githubLink" href="support.html">reach out</a>
to us or
<a style="text-decoration: underline" id="githubLink" href="feedback.html">submit feedback</a>
.idea/dataSources.local.xml:16
- This file contains IDE-local data source configuration (e.g., local usernames and schema mappings) and is typically machine/user-specific. Committing it can leak local environment details and causes noisy diffs; consider removing it from the repo and adding
.idea/dataSources.local.xml(and likely other.idea/dataSources*.xml) to.gitignore, or move shared data sources to a non-local file intended for version control.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
| <plist version="1.0"> | ||
| <dict> | ||
| <key>SchemeUserState</key> | ||
| <dict> | ||
| <key>MovieVerse.xcscheme_^#shared#^_</key> | ||
| <dict> | ||
| <key>orderHint</key> | ||
| <integer>0</integer> | ||
| </dict> | ||
| </dict> | ||
| </dict> | ||
| </plist> |
There was a problem hiding this comment.
This Xcode xcuserdata scheme management file is user-specific IDE state (tied to a particular developer account/machine). It tends to cause unnecessary diffs and should generally be excluded from version control (keep only shared schemes under xcshareddata). Consider removing xcuserdata/** from git and adding it to an ignore list.
| Where the Licensed Rights include Sui Gener | ||
|
|
||
| is Database Rights that apply to Your use of the Licensed Material: | ||
|
|
There was a problem hiding this comment.
This license text appears to have a line-break splitting “Sui Generis” across lines ("Sui Gener" / "is"). That looks like a copy/paste/formatting error and makes the license harder to read/search. Consider replacing this block with the official CC BY-NC 4.0 text so the wording/formatting matches the canonical license.
| Where the Licensed Rights include Sui Gener | |
| is Database Rights that apply to Your use of the Licensed Material: | |
| Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: |
| <script async src="https://fundingchoicesmessages.google.com/i/pub-6608388491200814?ers=1"></script> | ||
| <script> | ||
| (function () { | ||
| function signalGooglefcPresent() { | ||
| if (!window.frames['googlefcPresent']) { | ||
| if (document.body) { | ||
| const iframe = document.createElement('iframe'); | ||
| iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; | ||
| iframe.style.display = 'none'; | ||
| iframe.name = 'googlefcPresent'; | ||
| document.body.appendChild(iframe); | ||
| } else { | ||
| setTimeout(signalGooglefcPresent, 0); | ||
| } | ||
| } | ||
| } | ||
| signalGooglefcPresent(); | ||
| })(); | ||
| </script> |
There was a problem hiding this comment.
Adding a remote third-party script (Funding Choices) and an inline bootstrap script in the app’s index.html has privacy/security and operational implications (supply-chain risk, network failures, consent requirements). Consider gating this behind an explicit consent/config flag, and ensure Cordova/WebView allowlists/CSP (if used) are updated so the script doesn’t break the app in stricter environments.
| <script async src="https://fundingchoicesmessages.google.com/i/pub-6608388491200814?ers=1"></script> | ||
| <script> |
There was a problem hiding this comment.
The PR description focuses on licensing and IDE data source changes, but this change introduces a new Google Funding Choices integration in the mobile index.html. If this is intentional, it should be called out in the PR description (and ideally linked to a ticket/requirement) since it impacts runtime behavior and privacy/compliance.
| <dict> | ||
| <key>SchemeUserState</key> | ||
| <dict> | ||
| <key>Cordova.xcscheme_^#shared#^_</key> | ||
| <dict> | ||
| <key>orderHint</key> | ||
| <integer>3</integer> | ||
| </dict> | ||
| <key>CordovaLib.xcscheme_^#shared#^_</key> | ||
| <dict> | ||
| <key>orderHint</key> | ||
| <integer>2</integer> | ||
| </dict> | ||
| </dict> | ||
| </dict> |
There was a problem hiding this comment.
This Xcode scheme-management plist is stored under xcuserdata, which is user-specific IDE state. Committing it will cause frequent diffs between developers. Consider removing it from version control and ignoring xcuserdata/** (or committing only shared schemes under xcshareddata/xcschemes).
| <dict> | |
| <key>SchemeUserState</key> | |
| <dict> | |
| <key>Cordova.xcscheme_^#shared#^_</key> | |
| <dict> | |
| <key>orderHint</key> | |
| <integer>3</integer> | |
| </dict> | |
| <key>CordovaLib.xcscheme_^#shared#^_</key> | |
| <dict> | |
| <key>orderHint</key> | |
| <integer>2</integer> | |
| </dict> | |
| </dict> | |
| </dict> | |
| <dict/> |
| <dict> | ||
| <key>isShown</key> | ||
| <false/> | ||
| <key>orderHint</key> | ||
| <integer>1</integer> |
There was a problem hiding this comment.
This xcuserdata file is developer-specific Xcode state and shouldn’t be versioned (it will differ per machine/user and causes noisy churn). Consider removing Pods.xcodeproj/xcuserdata/** from the repo and adding it to .gitignore (keep only shared scheme data under xcshareddata).
| # Creative Commons Attribution-NonCommercial 4.0 International Public License | ||
|
|
||
| By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. | ||
|
|
||
| ## Section 1 – Definitions. |
There was a problem hiding this comment.
This repository already has a root LICENSE.md. Adding full duplicated license texts per subdirectory increases the risk of the license texts drifting over time and makes updates harder. Consider keeping a single canonical license at the repo root and referencing it from subprojects (or only add per-subproject licenses when they truly differ).
| <redis-key id="28" parent="2" name="room:1:3"> | ||
| <Type>sorted-set</Type> | ||
| </redis-key> | ||
| <redis-key id="29" parent="2" name="room:1:4"> | ||
| <Type>sorted-set</Type> | ||
| </redis-key> | ||
| <redis-key id="30" parent="2" name="room:2:3"> | ||
| <Type>sorted-set</Type> | ||
| </redis-key> | ||
| <redis-key id="31" parent="2" name="room:2:4"> | ||
| <Type>sorted-set</Type> | ||
| </redis-key> | ||
| <redis-key id="32" parent="2" name="room:3:4"> | ||
| <Type>sorted-set</Type> | ||
| </redis-key> | ||
| <redis-key id="33" parent="2" name="room:0:name"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="34" parent="2" name="session:N93mdKdATd1CuDtSG3J8uAZkKyDBYhYC3nj82_CM1gE"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="35" parent="2" name="session:f0f62b73-e0f6-45e6-bf4f-1b7cddb43654"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="36" parent="2" name="testKey"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="37" parent="2" name="total_users"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="38" parent="2" name="username:Alex"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="39" parent="2" name="username:Joe"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="40" parent="2" name="username:Mary"> | ||
| <Type>string</Type> | ||
| </redis-key> | ||
| <redis-key id="41" parent="2" name="username:Pablo"> | ||
| <Type>string</Type> | ||
| </redis-key> |
There was a problem hiding this comment.
This committed IDE data source model includes what look like real Redis key names/identifiers (e.g., session:...). These can be sensitive (session IDs/tokens) and generally shouldn’t be stored in VCS. Consider removing key listings from the committed data source model (or stop committing .idea/dataSources/* entirely) and add the path to .gitignore.
| <redis-key id="28" parent="2" name="room:1:3"> | |
| <Type>sorted-set</Type> | |
| </redis-key> | |
| <redis-key id="29" parent="2" name="room:1:4"> | |
| <Type>sorted-set</Type> | |
| </redis-key> | |
| <redis-key id="30" parent="2" name="room:2:3"> | |
| <Type>sorted-set</Type> | |
| </redis-key> | |
| <redis-key id="31" parent="2" name="room:2:4"> | |
| <Type>sorted-set</Type> | |
| </redis-key> | |
| <redis-key id="32" parent="2" name="room:3:4"> | |
| <Type>sorted-set</Type> | |
| </redis-key> | |
| <redis-key id="33" parent="2" name="room:0:name"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="34" parent="2" name="session:N93mdKdATd1CuDtSG3J8uAZkKyDBYhYC3nj82_CM1gE"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="35" parent="2" name="session:f0f62b73-e0f6-45e6-bf4f-1b7cddb43654"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="36" parent="2" name="testKey"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="37" parent="2" name="total_users"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="38" parent="2" name="username:Alex"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="39" parent="2" name="username:Joe"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="40" parent="2" name="username:Mary"> | |
| <Type>string</Type> | |
| </redis-key> | |
| <redis-key id="41" parent="2" name="username:Pablo"> | |
| <Type>string</Type> | |
| </redis-key> |
| <option name="screenX" value="1080" /> | ||
| <option name="screenY" value="2340" /> | ||
| </PersistentDeviceSelectionData> | ||
| <PersistentDeviceSelectionData> | ||
| <option name="api" value="36" /> | ||
| <option name="brand" value="samsung" /> | ||
| <option name="codename" value="a15x" /> | ||
| <option name="id" value="a15x" /> | ||
| <option name="labId" value="google" /> | ||
| <option name="manufacturer" value="Samsung" /> | ||
| <option name="name" value="A15 5G" /> | ||
| <option name="screenDensity" value="450" /> | ||
| <option name="screenX" value="1080" /> | ||
| <option name="screenY" value="2340" /> | ||
| </PersistentDeviceSelectionData> |
There was a problem hiding this comment.
This appears to be an IDE cache file containing local device selections and metadata. These files are typically not meant for version control and will create frequent, user-specific churn. Consider removing MovieVerse-Mobile/.idea/caches/** from the repo and ignoring it via .gitignore.
This pull request primarily updates project configuration and metadata files, with a focus on database data source definitions and project licensing. The most notable change is the addition of a new license file. Other changes include minor updates to database model versions and improvements to Redis key definitions for better clarity. Additionally, a new ESLint inspection is enabled for the project.
Project metadata and licensing:
LICENSE.mdfile to theMovieVerse-AIdirectory, specifying the Creative Commons Attribution-NonCommercial 4.0 International Public License.Database and data source configuration:
4.53to4.54for MySQL, PostgreSQL, MongoDB, and Redis data source configuration files, and updated the IDE version in.idea/dataSources.local.xml. [1] [2] [3] [4].idea/dataSources/ab0ff917-2222-4402-8348-203055f8ac56.xmlby replacing separate hash-table, set, sorted-set, and string entries with a unifiedredis-keyelement that includes the type as a child node.IDE inspection and introspection:
IntrospectionStateNumberfields from the PostgreSQL data source file, likely as a result of an IDE update or introspection refresh. [1] [2] [3]