waldo-vision / waldo Goto Github PK
View Code? Open in Web Editor NEWWaldo Vision | Cheat detection
Home Page: https://waldo.vision/
License: Mozilla Public License 2.0
Waldo Vision | Cheat detection
Home Page: https://waldo.vision/
License: Mozilla Public License 2.0
Console output:
sitekey was not provided
Reference:
[{"error":{"json":{"message":"Unexpected end of JSON input","code":-32603,"data":{"code":"INTERNAL_SERVER_ERROR","httpStatus":500,"path":"site.getPageData"}}}},{"error":{"json":{"message":"Unexpected end of JSON input","code":-32603,"data":{"code":"INTERNAL_SERVER_ERROR","httpStatus":500,"path":"site.getPageData"}}}},{"error":{"json":{"message":"Unexpected end of JSON input","code":-32603,"data":{"code":"INTERNAL_SERVER_ERROR","httpStatus":500,"path":"site.getPageData"}}}}]
Website
Firefox, Chrome, Safari, Microsoft Edge
Check references
Providers to add:
Should implement multiple providers before MVP to discourage reliance upon Discord as a provider
Currently on the submission, review, and sign in page there is no explicit way for the user to agree to the terms, there is only an implicit agreement. Therefor, there must be a checkbox for the user to click to signal they agree to the TOS and Privacy Policy. This checkbox would be on the sign in / sign up page, thus meaning that we likely don't need the additional notices on the submission and review page because the user must be authed to access these paged and you shouldn't be able to signup withoit agreeing.
implementation details:
There should be checks client and server side that the user agreed to the terms. The client side check just prevents them from sending, and the serverside check is just a flag in the json object.
None
Yarn errors out in ci due to The lockfile would have been modified by this install, which is explicitly forbidden.
Some relevant issues:
Website
No response
Run yarn install
➤ YN0000: ┌ Resolution step
Resolution step
➤ YN0000: └ Completed in 0s 570ms
➤ YN0000: ┌ Post-resolution validation
Post-resolution validation
➤ YN0000: │ @@ -12555,13 +12555,12 @@
➤ YN0000: │ linkType: hard
➤ YN0000: │
➤ YN0000: │ "typescript@patch:typescript@*#~builtin<compat/typescript>, typescript@patch:typescript@[4](https://github.com/waldo-vision/waldo/actions/runs/4358512079/jobs/7619182677#step:4:5).9.4#~builtin<compat/typescript>, typescript@patch:typescript@^4.8.4#~builtin<compat/typescript>":
➤ YN0000: │ version: 4.9.4
➤ YN0028: │ - resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=d73830"
➤ YN0028: │ + resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=23ec76"
➤ YN0000: │ bin:
➤ YN0000: │ tsc: bin/tsc
➤ YN0000: │ tsserver: bin/tsserver
➤ YN0028: │ - checksum: 37f6e2c3c[5](https://github.com/waldo-vision/waldo/actions/runs/4358512079/jobs/7619182677#step:4:6)e2aa5934b85b0fddbf32eeac8b1bacf3a5b51d01946936d03f5377fe86255d4e5a4ae628fd0cd553386355ad362c57f13b4635064400f3e8e05b9d
➤ YN0000: │ languageName: node
➤ YN0000: │ linkType: hard
➤ YN0000: │
➤ YN0000: │ "unbox-primitive@npm:^1.0.2":
➤ YN0000: │
➤ YN0028: │ The lockfile would have been modified by this install, which is explicitly forbidden.
➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 0s 691ms
Error: Process completed with exit code 1.
(https://github.com/waldo-vision/waldo/actions/runs/4358512079/jobs/7619182677)
Currently there is no way to add the trusted role to a user without digging directly into the database. A option to add the trusted role needs to be added to the edit user dropdown.
There is no way to add the trusted role to a user.
Website
No.
Ex of how the role option should be added ^^^^
It is intended that the front-end parts would be hosted on the existing domain through the cloudflare instance. This way we can maintain styling accordingly and would be a separate page on the existing tailwind/vite site.
Using the preferred framework by the front end team, the submission form should require the Discord username, Discord ID, and a valid YouTube video URL. In addition to these factors, there should be some kind of human authentication input (ReCAPTCHA or Turnstile).
An additional possibility for authentication would be to use a Discord OAuth application on the web form.
https://discordjs.guide/oauth2/#a-quick-example
Add option to label a submitted clip as 'Aimbot' or 'No Cheats' when a Trusted User (or higher privileged role) is submitting a clip.
This option should not be visible to standard users.
I'm imagining a dropdown list item where a user can select from the options to allow us to expand the types of cheats that can be labelled in the future.
Create a low-code implementation of a dashboard for usage by admins to manage users and submissions.
Initially this should be very minor and more or less work as a query search system to look up all users, user by ID and perform ban action.
The objective of this task is to create and validate the schemas projected for the MVP.
Husky, idk where you are with this but thought this would be a good way to keep track of monitoring and alert imp status (once rdy ofc)
Create endpoint to ban a specific user
DELETE /user/:uuid (?)
Need to choose an orm for next auth. Whatever this orm ends up being, it will likely replace the backend orm for the sake of consistency.
The next config shouldn't ignore typescript and eslint.
They are currently ignored and prevents us from catching errors before runtime.
its above
we should just not
The ts ignore is easy, but the eslint config is held up by turbo in docker. From what I've seen, the eslint config files are getting added, thus the lint fails because its not using our rules.
The getYtVidDataFromId endpoint should be removed and should instead be an internal function used to seed data into the nessicary endpoints.
The getYtVidDataFromId can be abused by malicious actors to spam the yt api using our key, potentially getting us ratelimited.
_
No, this is nessicary task
_
NOTE: This does not seem to occur with docker.
The endpoint verifyUser is used to check whether a user is a bot or not. This endpoint is then called by the client to see whether it passed the test or not. Then the browser makes the decison whether to send the "turnstile protected" api call. The server completly trusts all api requests (assuming they have proper auth). This in effect means turnstile does nothing because anyone could just send auth'd api requests without ever having to worry about turnstile.
Use a "secured" page. (ie one with the turnstile component)
Website
Chrome, Safari, Microsoft Edge
No response
will solve later
, these should be addresses in new prsas
, defeats the purpose of tsR&D: Validate kubernetes deployments and public accessibility on staging server
see infra project board for updated info on this task
Proper Description
feild and make Additional context
optional.I agree to follow this project's Code of Conduct
box like the one in the bug report template.projetc selection
found in the bug reportsThis isn't implamented
_
no, this is the way
_
As husky changes the redundant naming, this is just a reminder to change the api name usage in the upload or login pages or any page that uses trpc.
Update placeholder legal documentation text with proper documents.
Update schemas to store details about the available formats for the YouTube video
Store available formats and desired video details into database
Create an algorithm that serves clips for people to review.
This algorithm should do the following:
All api endpoints should be carefully evaluated to meet the following criteria:
Migrate/Re-initialize the existing endpoints into Next API using TPRC.
All our projects should have open graph images, as they not only greatly increase SEO, but also the user experiance for people sharing our sites on social media sites.
For the main site, we can use satori to dynamiclly built the images (it we want), and for the docs we need to hand create some images due to the static nature of the site.
We current;y don't have any open graph images.
_
We could not have open graph images
_
Create a role for Trusted User, that allows the user to label clips that they upload with a aimbot / no cheat option.
This role will have privileges higher than a standard user, but lower than a moderator/admin.
This role will NOT have access to the admin dashboard.
All higher roles will have the permission to label uploaded clips as well.
Could I get some feature requests or feedback on current design to implemment them into draft design on figma
Document the entire workflow of releasing waldo to prod.
Document the need to create migrations every time the schema is updated.
we need docs
Website, Docs Site
none
No response
Hy i use debian 11 in a proxmox VM and try to get through the install Instructions here: https://docs.waldo.vision/en/getting-started/
When I run the command yarn turbo run db:push
I get this output:
$`yarn turbo run db:push
• Packages in scope: backend, database, desktop, docs, eslint-config-custom, tsconfig, web
• Running db:push in 7 packages
• Remote caching disabled
database:db:push: cache bypass, force executing 60ab0451ae0ca164
database:db:push: Prisma schema loaded from prisma/schema.prisma
database:db:push: Datasource "db": CockroachDB database
database:db:push:
database:db:push: Error: Prisma schema validation - (get-config wasm)
database:db:push: Error code: P1012
database:db:push: error: Environment variable not found: DATABASE_URL.
database:db:push: --> schema.prisma:10
database:db:push: |
database:db:push: 9 | provider = "cockroachdb"
database:db:push: 10 | url = env("DATABASE_URL")
database:db:push: |
database:db:push:
database:db:push: Validation Error Count: 1
database:db:push: [Context: getConfig]
database:db:push:
database:db:push: Prisma CLI Version : 4.10.1
database:db:push: ERROR: command finished with error: command (/opt/waldo/packages/database) yarn run db:push exited (1)
command (/opt/waldo/packages/database) yarn run db:push exited (1)
Tasks: 0 successful, 1 total
Cached: 0 cached, 1 total
Time: 1.521s
ERROR run failed: command exited (1)
It says Environment Variable not found but i set the Environment Variable as in the instructions.
my .env file from /opt/waldo/apps/web:
# make sure to update the turbo.json
DISCORD_CLIENT_ID=example
DISCORD_CLIENT_SECRET=example
# google api
GOOGLE_CLIENT_ID=example
GOOGLE_CLIENT_SECRET=example
YOUTUBE_API_KEY=example
GITHUB_CLIENT_ID="myclientID"
GITHUB_CLIENT_SECRET="mysecretkey"
BTLNET_CLIENT_ID=example
BTLNET_CLIENT_SECRET=example
TWITCH_CLIENT_ID=example
TWITCH_CLIENT_SECRET=example
FB_CLIENT_ID=example
FB_CLIENT_SECRET=example
# cloudflare
CLOUDFLARE_TURNSTILE_SECRET=example
NEXT_PUBLIC_CLOUDFLARE_TURNSTILE_SITE_KEY=example
# database
DATABASE_URL="postgresql://root@localhost:26257?sslmode=disable"
# next auth
NEXTAUTH_URL=example
NEXTAUTH_SECRET=example
I tried to put "postgresql" in the /opt/waldo/packages/database/prisma/schema.prisma file with the same result.
How can i set the database variable correctly. Can I use my existing mysql database? And how?
run
yarn turbo run db:push
Website
No response
No response
Create a breaking change guide (changelog)
A list of tasks that really should be completed, but are so small they don't require their own issue.
If you complete one of these please edit this post, mark it as complete and link to where it was completed.
Finish google OAuth verification after website page is live on prod.
This is an overview post for the Waldo data collection site v1.0.0. This will mention all the issues that have been assigned and/or currently assigned. We will also discuss future features we could to improve the project.
The project involves the creation of a data collection site where users can submit their own video clips and vote on others, with the goal of building a diverse and representative dataset for training a machine learning model. Some of the benefits of this project include the potential to improve the fairness and integrity of online gaming, as well as the opportunity to gather valuable data for machine learning research. However, there are also several roadblocks that we will need to tackle, including issues related to data quality and privacy, as well as the challenges of detecting complex and varied cheating behaviors. We will need to carefully consider these and other factors as we move forward with the project.
We are inviting the community to participate in the project by submitting video clips of gameplay footage that you believe may contain instances of cheating or hacking. You can do this through our data collection website. In addition, you can help to improve the quality and relevance of the dataset by voting on other users' video clips and indicating whether you believe the video contains the correct gameplay. Your input will be valuable in helping us to build a comprehensive and accurate dataset for training our machine learning model.
We have set the following timeline for the project:
We will be closely tracking our progress against these milestones and will update the community as we make progress. If you have any questions or ideas for how you can get involved, please don't hesitate to reach out to us."
As we develop and test the model, we will be taking a number of ethical and legal considerations into account. Some of the issues that we will be paying particular attention to include:
Data privacy: We will be taking steps to protect the privacy of the individuals depicted in the video clips, including by obtaining appropriate consent and anonymizing data where necessary.
Fairness and bias: We will be careful to ensure that the model is trained on a diverse and representative dataset and that it is free from bias. We will also be testing the model to ensure that it performs equally well across different groups of players.
Transparency: We will be transparent about the methods and techniques used to develop the model, and will be open to feedback and suggestions from the community.
We will be actively seeking input and guidance from experts in the fields of artificial intelligence and online gaming to help us navigate these and other issues as we move forward with the project.
The project involves the development of a data collection site where users can submit their own video clips and vote on others, with the goal of building a diverse and representative dataset for training a machine learning model.
What features are needed for this side project:
Create and sign up an account.
Upload a video link from a youtube video and submit it to our backend database.
Review gameplay with either yes or no on other peoples submissions.
Admin Panel
We will be using Oauth providers such as Google, Facebook & more.
We are using youtube for video hosting.
A place for users to review uploaded gameplay
For admins to remove, add or create moderators and other admins and gmaeplay.
R&D: Find and implement best lightweight option for rate limiting on Next API system
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.