pebble / cloudpebble Goto Github PK
View Code? Open in Web Editor NEWCloudPebble source. Here be dragons.
Home Page: https://cloudpebble.net/
License: MIT License
CloudPebble source. Here be dragons.
Home Page: https://cloudpebble.net/
License: MIT License
Currently we only attempt to symbolicate PC. We should try LR, too.
This is only vaguely tricky in how we format the results.
While CloudPebble does report memory consumption (and always has), this information is not given any context. The pebble build tool output in the build log is somewhat enlightening, but is hidden.
The UI should be updated to present some context to the "size" figure given – especially in relation to the 24 kB total. Perhaps a tiny bar chart/progress thing inline with the text would be nice.
Have some support for simply.js in CloudPebble.
Would require:
Alexey wants this.
PebbleKit JS settings (such as the key->int mapping) aren't correctly filled in when instantiating templates. This breaks e.g. @cjwilliams' AppMessage template.
Copy these settings over correctly.
Some people are unable to connect their computer directly to their phone as a result of their network topology or other restrictions. We could just put the QR code back (it's actually still in there; it's just hidden…), but that still doesn't help iOS developers due to the restrictions on side-loading JavaScript.
Instead, we could provide the option to log in from a mobile device and get a mobile friendly layout that allows them to install/log/screenshot on 'localhost', as seen from the app. This does work now, but is difficult to actually use in practice.
Note that some users of potentially questionable sanity actually write code on their phones, so we have to handle that use case too.
There is a facility for including SDK examples. In SDK 1 I included two; in SDK 2 there are none.
Now that we actually have import functionality we should include all of them.
(from: @sarfata)
I can't seem to find anyway to rename files.
Currently only Pebble functions are identified in the IDE. The general supported C function are not included. Will be nice to have them.
Also, classic smart editor feature of coloring reserved word is working nicely. Will be nice to have locally declared identifiers recognized (color/autocomplete), maybe start with what's declared in H files.
Can be good to have some color options as well.
Polish thing.
(from: @AlexeyMK)
As a follow-up to #6, the JavaScript editor should display the jshint messages inline in real-time when enabled.
failed with: "Error: global name 'user' is not defined"
Importing from: https://github.com/cynorg/PebbleTimely/
When you configure a project to automatically pull and build from a GitHub repository, it only updates the source files. It would be nice if it could also update the appinfo.json file (configured under 'Settings' in CloudPebble).
Since the only thing visible in fullscreen mode is the editor, this makes absolutely no sense.
I am trying to communicate with a public repo where I'm only collaborator with full access, so not the owner. CloudPebble has the following behaviour:
Is this an issue with CloudPebble or Github?
I am part of the Pebble Autoconfig team and we have created a project to help developers add configuration to their apps. We think it would be helpful to have it integrated in CloudPebble.
It uses jinja2 for generating code and html.
Would it be possible?
The UserVoice tab at the bottom is not particularly friendly and is rather frustrating to actually use. Replace it with some sort of link here.
Requiring a GitHub account shouldn't be a problem for such feedback/reports – it's a developer tool anyway.
Hi,
I wanted to create a simple appmessage project and I started with the appmessage template.
Compilation went well but at runtime the message is not sent to the phone.
If I add logs in the error callback, I got :
out_failed_handler APP_MSG_SEND_TIMEOUT
After if I trigger the sendMessage method in a click handler (and not in the init methot), the message is not sent and I don't have any logs even in my out_failed_handler.
If I comment :
dict_write_cstring(iter, MESSAGE_KEY, "Hi Phone, I'm a Pebble!");
the message is sent and I get the js logs !
But in the js logs e.payload[0] prints undefined (e.payload.status prints 1)
(e.payload[1] prints undefine as e.payload.message does, normal because I have commented the sending)
Any idea ?
I'm on android 4.4.2 with pebble beta 11
I'd love a way to manage branches from within CloudPebble so I can work on a specific branch of a github project and not worry about having to create separate projects every time to work on master. Thank you!
Many projects need HTML config file, so I think it should be included in the project (and imported/exported to GitHub when possible.)
It can be base for many improvements like auto-generation of config files(maybe with JS and C part as well), hosting the config file on Pebble server, or embed it into the JS file.
I'm guess there should be some good open source editor that is in similar enough environment to be easier to integrate.
When using a fresh VM using vagrant up
, compilation of a fresh SDK 2 project fails.
[DEBUG ] [Analytics] header: [...] category: install action: firstTime label: 2.0-BETA4 value: 0 [DEBUG ] [Analytics] header: [...] category: install action: import label: fail: missing import: No module named websocket value: 0 Traceback (most recent call last): File "/home/vagrant/sdk2/bin/../tools/pebble.py", line 14, in <module> import websocket ImportError: No module named websocket
Two-space tabs is apparently the Pebble standard, and we should be consistent with it (even though I don't happen to like it…).
Unfortunately, this is actually non-trivial – in particular, CodeMirror does not handle backspacing space-tabs nicely; we'd probably want to improve that behaviour first.
An easy first step, at least visually, is to set the tab width to 2. That could mask the problem, though, which might actually be a step back.
If I want to use an existing project as a template for another one, I currently have to
i) save the current project as a ZIP file
ii) import that zip file into a new project
iii) go to the project settings and change the watch-face name (or whatever)
It would be easier to just use an existing project as a template for a new project (like you can currently pick Minimal as a template).
So that developer do not need to have yet-another account - and also eventually push apps directly to their phone (via the appstore locker).
For example "cloudpebble.net/new/" - this would get the gist, copy it in the user dashboard as a new project and open it.
This would be very useful to share sample code and code snippets.
The current autocomplete lists are hardcoded and manually maintained.
It would be nice if the user's code – functions, structs, types, variables, etc. – could be made available too. Ideally local variables would also be displayed, respecting scoping rules.
Writing about issue #16 reminded me this problem
If I keep two windows, one for compile log and one for code, occasionally (especially after returning from something else) I may go to source code in the tab I used for compiling, change something and lose all changes I did on the other window. (that I may have closed already because I had too many)
Maybe when switching into another file, a check if it was changed can be added to cover for change within another instance, so latest save will be loaded.
Another option is to save buffer of several last saves to allow selecting restore. (rescue the user from himself)
Recently someone complained on losing couple of hours of work, maybe it was for a similar reason.
The "Blog" link in the header now points to the wrong place. I'm thinking remove it entirely for now – it's getting cluttered up there anyway.
if you autocomplete graphics_text_layout_get_content_size in the editor, there is an extra "GTextLayoutCacheRef layout" argument that's not in the Pebble documentation.
When you supply that extra argument, compilation (correctly) fails.
We can relatively easily simulate simply.js apps without actually installing anything. It follows that we should do this.
(Dear observers: implementing this does not imply anything about a simulator for the native C SDK, which remains a challenging problem.)
I was converting my JS app with C frontend to Simply.js. I had the code just about done and suddenly I could not load the IDE. I have tried in several browsers all with the same result.
I click on app.js, it does the loading animation and then stays blank.
The settings and compilation pages load correctly, and my other projects' files do open in the IDE.
All exported CloudPebble projects disable jshint for compatibility. However, due to an oversight, they still won't build in its absence – you'll get an ImportError
from sh
.
Refactor the wscript changes for jshint so this doesn't happen!
We should do something useful with non-b/w images.
This is also PBL-1095, because filing bugs in a bug tracker the developer can't see is effective.
It would be nice if we could support multiple JavaScript files and recombine them into something useful.
We should consider what the most useful way to go about this is – it may be enough to just concatenate everything, or we might have to do something clever.
Now that the CloudPebble authentication system has been replaced with the Pebble SSO, I would like to see the ability to push (successful) builds of apps to the Pebble appstore. This would require:
It would probably be nice to have keyboard shortcuts for build and running, in some combination.
Exported projects with jshint enabled won't build because the jshintrc file isn't exported. Either the jshintrc file needs to be included in exports, or jshint should always be disabled for exported builds. Probably the former.
(caused by #6).
Under SDK 2.0, it is possible to communicate with the watch using WebSockets via the phone's Developer Mode.
We should use this to install apps, display live logs, and take screenshots!
Currently our invocation of Simply.js does not behave brilliantly in tandem with custom configuration screens – but there is no particular reason for this to be true. We should provide the tools to build your own.
There are a number of places, mostly in logging output, where filenames and line numbers appear in the output. These should be clickable to jump to the relevant code.
Interesting problem: doing so must close the log view, thus clearing it and cancelling further inbound messages until it's reopened. Do we care?
I'm using two-three internal networks, so I have to switch IP often depending on where I am. (also useful when developing with more than one phone)
Simplest is to change the input field in a way that browser will remember the IP, and let me select it (for example 192.168.1.5 or 172.20.1.7)
More advance manner for switching network is to select automatically according to current network IP that the commuter is using.
It's also possible to offer default IP of 127.0.0.1 if mobile device is recognized. (if there is no IP in history).
Note that downloading PBW from compile page using phone browser, can be faster than sending it from the computer.
It would be really nice to see CloudPebble show inline documentation, for some value of 'inline'. This will take work in parsing both the user's current document and the documentation itself, and figuring out the UI to display it.
(cc: @cjwilliams)
We need some.
Can you make like a emulator to code and try the new LED notification from Pebble Steel so we can test it , for the people that don't have a Pebble Steel but yes a simple Pebble . ?
When we have a crash in Pebble program we would like to have some clue by finding what line in the code is relevant to the crash.
Using the websocket connection, it is pretty easy to grab screenshots. It would be awesome to have this in cloudpebble.
Just saying coz we are seeing some apps on the store that do not have screenshots.
Analytics indicate that a massive 23% of install attempts fail because the phone either doesn't respond or drops the connection. For comparison, 2% fail because the watch rejected it; 75% succeed.
Figure out how we can improve these figures.
I made a new project, added some files and coded a little bit. When I hit "Build", I got following error.
I had this error a while ago too and to work around it I exported my (previous) project and imported it as a new one. This time it also worked.
I think that this is connected with the fact I have more then 1 file. Previously it wasn't happening until I add more files.
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.