andymatuschak / orbit

Experimental spaced repetition platform for exploring ideas in memory augmentation and programmable attention
https://withorbit.com
Other
1.71k stars 54 forks source link

Implement GIF support for attachments #206

Open andymatuschak opened 3 years ago

andymatuschak commented 3 years ago

It looks like this should be fairly straightforward, though note that we have to explicitly add some extra modules on Android: https://reactnative.dev/docs/image

imrishabh18 commented 3 years ago

Hey! @andymatuschak . I will like to take up this issue. But while setting up the project I am facing assets missing. Can you help me out with this pls?

Screenshot 2021-05-13 at 4 29 41 AM
andymatuschak commented 3 years ago

Thanks for taking a look at this, @imrishabh18! Per the Readme:

You'll need to copy Orbit's commercial fonts into /web/fonts and /android/app/src/main/assets. Those fonts are non-free, and their licenses don't permit me to distribute them with the repository. We should make a "no-trade-dress" flag you can set to get a "generic" build of Orbit.

You can get a copy of the font for local testing purposes at https://www.productiontype.com/family/dr. (Probably I should mention that in the readme—please feel free to submit a PR describing what you have to do to get the app building!)

imrishabh18 commented 3 years ago

Sure, I will make a PR describing the steps for setting it up. But, now that I have successfully set this thing up I don't see the Signup thing in the homescreen. How should I get into this thing?

andymatuschak commented 3 years ago

That's surprising. What do you see on the home screen?

imrishabh18 commented 3 years ago

simulator_screenshot_70D8C191-7671-4F65-B4A8-5E8099271B3B

andymatuschak commented 3 years ago

Ah, I see. Yes, the app (which hasn't yet been released) currently assumes you've already made an account while reading a mnemonic essay. To make one, visit a site that uses Orbit (https://andymatuschak.org/prompts) and complete a review area.

imrishabh18 commented 3 years ago

Sorry! but I am confused and can't find the thing to sign up in this site https://andymatuschak.org/prompts

andymatuschak commented 3 years ago

Scroll down until you see a set of embedded spaced repetition prompts, bright red like the image above.

Complete the set, and you'll be invited to create an account.

imrishabh18 commented 3 years ago

I think the main issue is probably missing files. When I run the yarn ios command this is what the issue is. Can you help me resolve this?

Screenshot 2021-05-16 at 11 59 25 AM
andymatuschak commented 3 years ago

Hm. Confusing! It looks like the packager isn't executing with the correct context. What happens if you run yarn start (which starts the packager directly) and then yarn ios (which should then use your manually-started instance)?

imrishabh18 commented 3 years ago

The app does run successfully by following yarn ios after starting the metro server. But the problem is this authentication error.

Things which I have noticed:

What do you think is causing this?

Screenshot 2021-05-18 at 10 08 41 AM
andymatuschak commented 3 years ago

Aha! Sorry to have made you our documentation "guinea pig" here.

You'll also need to run a local instance of the Orbit server. From the backend directory, run yarn dev (see backend/Readme.md for more; it'll also make a test user for you)

imrishabh18 commented 3 years ago

Running the backend server first worked (We are getting there 😁).

I tried first with the test-user email and logged in. But that screen just showed that you are all caught up. So, I wanted to try out with my email which I registered in the website. As I didn't knew how to delete or logout the test user. I tried to remove the app and start back all the things up again (I know it's silly, but I am new to this).

After that weirdly this blank screen shows up everytime and even in the bundler the user is still the test user.

Screenshot 2021-05-19 at 3 31 05 AM
imrishabh18 commented 3 years ago

Also, If you have some slack channel or something where we can quickly discuss this and set this thing up would be great.

andymatuschak commented 3 years ago

Ah, right! This is getting awfully baroque, but two options for how to proceed:

  1. Collect some prompts for your test user. A "simple" way to do this: run the webapp locally by running yarn web in app; then run a test web page embedding Orbit prompts by running yarn dev from web-component. Navigate to localhost:5000, and answer a few questions incorrectly (i.e. so they'll be due for review).
  2. Connect your iOS build to the production server (to use your personal account) by either building for release or changing the flag on line 1 of app/serviceConfig.js.

We should probably make a command-line script that provisions the test user with some task history. There's an old one in cli/ingest.ts, but it probably needs to be fixed up.

It occurs to me: you may not need to run the app to iterate on this, actually! Running the storybook (i.e. run yarn storybook from ui) may be enough: there's actually already an image test story in there, which you could extend to use a GIF. But putting the project "onboarding" through its paces is useful!

Also, If you have some slack channel or something where we can quickly discuss this and set this thing up would be great.

This is an utterly reasonable request, but for the moment, we (perhaps quite unreasonably) don't. I've found that doing thoughtful research requires that I avoid "hot" communications channels—they scatter my mind! This probably means I need to find a good way to not be the bottleneck for these kinds of conversations. Or maybe I just need to figure out better strategies for compartmentalizing Slack (though probably this would still mean I just look at it once a day, not much different than what you're getting now!)

imrishabh18 commented 3 years ago

I see, yeah, definitely the thoughtful research needs to be done without these interruptions. I would really like to contribute seriously to this project (I can manage 20 - 25 hours/week to this project), but I having a hard time setting this thing up actually.

I tried both the options - but still the screen just showed the blank white screen(like prev shared image) with the currentUID being the test@test.com.

I was able to checkout the Storybook thing but as I have never been inside/used the app. I don't know where is the attachment options are there, so that I can implement GIF support as well to it.

andymatuschak commented 3 years ago

Oh, dear, I'm terribly sorry to have caused so much trouble. This project is clearly not yet friendly for external contributors! I'll certainly understand if you want to bail at any point here.

Could you please attach the console logs produced when you encounter the white screen? (And let me know if you're running against your local server or the production one?)