No software is perfect. Here is my own internal bug list.
Problem |
Killing Newton doesn't kill any DesktopResponder threads waiting for it. |
---|---|
Suggested Solution |
No clue. The current way around this is to just have the desktop time out and disconnect, which eventually kills the thread (hopefully). |
Problem |
Sending frames to Newton leaks memory |
---|---|
Suggested Solution |
The unbound data tree is never disposed of after it has been flattened at sent to the Newton. This is compounded by the fact that we need to keep it around if the frames goes into a global soup. Everything about the binding/flattening process leaks memory, but it leaks most of it into buffers stored in an LList called fLeakManager. We know where the storage is, but we don't know when we're free to delete it so it is kept around forever. This needs to be addressed with more seriousness. |
Problem |
Binding incoming frames to DIL objects yields incorrect results with PRECEDENT data types |
---|---|
Suggested Solution |
The PRECEDENT data type is used to refer to a previous slot. I have no idea why or what it is used for, but it is. DTS wasn't terribly helpful about how to fix it. |
Problem |
Frames sent by desktop clients to Global Soup cannot be read by other desktop clients. |
---|---|
Suggested Solution |
For a desktop client to access a frame from a global soup, it must be represented as an unbound data tree (array of slotDefinition structs, as used by the DILs). When frames come in from the desktop, there is currently no mechanism to take them from flattened stream and convert them to unbound data (we already convert them to bound data for transmission to the Newton). There are two solutions to this:
|
Problem |
Class data not correctly transmitted when sending frames from desktop back to Newton |
---|---|
Suggested Solution |
The code to do this is exactly the same as to handle the slot names, but just never got implemented (class name currently stubbed to null pointer). Copy the code to handle slot names and rename accordingly for class name. Should take 5 minutes to fix, but I'm too busy. |
Problem |
Get CDILs to use asynchronous threads. |
---|---|
Suggested Solution |
I successfully use the async stuff when creating a new connection, but not when transferring data. Might not be calling the idle routine enough. |
Problem |
Use the actual name of the machine for the Chooser name, instead of "Llamas Have More Fun." |
---|---|
Suggested Solution |
This should be fixed in the DILServer thread, I think. Of course, they do, but that's neither here nor there. |
Problem |
Support the 1.1 DILs. |
---|---|
Suggested Solution |
For some reason, the connection works fine with the new libraries, but not any of the data transfer. It's probably a timing problem with the information getting lost at the Newton because of the bug in the Newton Comm code that loses information when data comes in an an inputSpec has not been registered -- instead of buffering, it tosses the data. The timing with the 1.0 DILs is probably fine, but has been changed enough in 1.1 to screw things up. |
Problem |
Add more functionality to Global Soup, such as replacement of existing soup items. |
---|---|
Suggested Solution |
Not ever sure where to start with this one, as it's going to take a lot of work. |
Problem |
Allow serial connection if so desired. |
---|---|
Suggested Solution |
Instead of always forcing the Newton to be on AppleTalk, it should work if it is connected via the serial port. Desktop clients on the net can still talk to the server as normal. Possibly adding a check box or config dialog to let the user choose which they want. |
Problem |
The C++ stub is out of date |
---|---|
Suggested Solution |
Update it with the commands to match the Java stub |
Problem |
Problems with power-off after closing down the app |
---|---|
Suggested Solution |
DTS has given us a fix, implement it. |
Problem |
Save frames from desktop |
---|---|
Suggested Solution |
The code to do this is currently stubbed out. The code to do replacement and assignment of desktopIDs to a new frame does not exist but should be easy to write. |
Problem |
Opening a saved part freezes |
---|---|
Suggested Solution |
No clue. |
Problem |
Dragging CyberItem into document no longer works. |
---|---|
Suggested Solution |
Apple must have changed something in either Cyberdog 2.0 or OpenDoc 1.2 to the point that when you drag a cyberItem into a document, an empty broswer is embedded instead of the display part. Stepping through in debugger shows that my CyberItem's "open" routine never gets called. |
Problem |
ConnectTo panel needs to be overhauled |
---|---|
Suggested Solution |
See thesis for what it should look like. If done in PowerPlant, this might require getting around the odd incompatibilities with the view system in PP and OpenDoc, of which MetroWerks is ignorant. |
Problem |
Slots not saved correctly when dumped to storage unit. |
---|---|
Suggested Solution |
The only thing saved to the storage unit is the textual representation of the note, not the actual frame structure. This needs to be more faithfully represented. |
Problem |
Doesn't work with regular notes, only outlines & checklists. |
---|---|
Suggested Solution |
Should be easy, but I never looked into it. |
This page was created with Claris Home Page by Mike Pinkerton.