1

I am getting a DNU error when clicking the 'browse' button on the Seaside Control Panel.

To reproduce: Top menu->Apps->Seaside Control Panel -> Browse -> throws a Dictionary DNU #collectWithIndex:

The Debugger shows its occurring in the PluggableTreeMorph, so its a GUI issue.

I am running Squeak5.1-16548-64bit.image

Package installation is as follows:

 Installer gemsource
  project: 'metacello';
  addPackage: 'ConfigurationOfMetacello';
  install.

"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project 
  version: #'previewBootstrap') load.

"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
  configuration: 'MetacelloPreview';
  version: #stable;
  repository: 'github://Metacello/metacello:configuration';
  load.

"Now load latest version of Metacello"
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  get.
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  load.


   Metacello new
        configuration: 'Seaside3';
        repository: 
    'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
        version: #stable;
        load: 'OneClick'.

(ConfigurationOfGrease project version: #stable) load

Suggestions much appreciated.

thx

gettimothy
  • 19
  • 1
  • 4
  • 1
    You'll have to make a change to the code yourself to make it work at the moment, if you don't want to wait for the fix. – Max Leske Jan 06 '18 at 18:07

2 Answers2

1

Congratulations, you've found a bug ;) There's been a change on the Squeak side which we didn't know about. I've opened an issue here: https://github.com/SeasideSt/Seaside/issues/982.

Max Leske
  • 5,007
  • 6
  • 42
  • 54
  • Thanks. From the Link **The issue appears to be a mismatch between expected type (sequenceable collection) and provided type (dictionary) (changed on the Squeak side in 2016).** Would it help if I fixed this ? Or do you have a working idea of what/where the change should be? – gettimothy Jan 07 '18 at 05:29
  • The change isn't hard to make. You're more than welcome to open a pull request on github with a fix. Just be warned that it's a bit tricky to get the setup right with Git, FileTree (external file format) etc. – Max Leske Jan 07 '18 at 10:06
  • I think I have found where the Dictionary needs to be changed . I am not sure what to change it too (I tried an OrderedCollection of Associations to no avail) ` WARequestHandler->handlersOfDispatcher: aWADispatcher` I can keep digging,but maybe somebody knows off-hand what sort of SequencableCollection should be returned.. If not, let me know and I will keep debugging it. – gettimothy Jan 27 '18 at 10:20
  • `OrderedCollection` of `Associations` is correct, IIRC. But I'd have to go check what kind of types that the keys and values of the associations need to be. – Max Leske Jan 29 '18 at 09:10
1

What appears to work for me, in a newly installed seaside 3 on squeak 5.1 is

WARequestHandlerBrowser>>#handlersOfDispatcher:
handlersOfDispatcher: aWADispatcher

    ^ aWADispatcher isDispatcher
        ifTrue: [ | list |
            list := OrderedCollection new.
            aWADispatcher handlers keysAndValuesDo: [:key :value |
                list add: value].
            list]
        ifFalse: [#()]
Stephen Rauch
  • 47,830
  • 31
  • 106
  • 135