Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Start album viewer |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a28a0f2c633e6375dc4d20b1de38aa59 |
User & Date: | bernd 2019-12-02 22:24:28 |
Context
2019-12-02
| ||
23:31 | Work on album viewer check-in: b5c83311ad user: bernd tags: trunk | |
22:24 | Start album viewer check-in: a28a0f2c63 user: bernd tags: trunk | |
20:27 | Chat thumbnail handling considderably improved check-in: 096c09b945 user: bernd tags: trunk | |
Changes
Changes to classes.fs.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
cmd-class class field: silent-last# end-class msging-class cmd-class class{ msg $10 +field dummy $value: name$ \ group name $value: id$ $value: msg$ \ decrypted message field: peers[] field: keys[] field: log[] field: perms# \ pk -> permission map field: mode \ mode bits: 1 4 bits: otr# redate# lock# visible# |
| > |
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
cmd-class class field: silent-last# end-class msging-class cmd-class class{ msg $10 +field dummy $value: name$ \ group name $value: id$ \ id of current message $value: msg$ \ decrypted message 64value: timestamp \ timestamp of message field: peers[] field: keys[] field: log[] field: perms# \ pk -> permission map field: mode \ mode bits: 1 4 bits: otr# redate# lock# visible# |
Changes to gui.fs.
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
....
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
|
; wmsg-class is msg:.nobody : new-msg-par ( -- ) {{ }}p "msg-par" name! dup .subbox box[] drop box[] cbl >bl dup .subbox "msg-box" name! to msg-box to msg-par ; :noname { d: pk -- o } pk key| to msg:id$ pk [: .simple-id ." : " ;] $tmp notify-nick! pk key| pkc over str= { me? } pk enddate@ otr? { otr } pk key| last-bubble-pk $@ str= otr last-otr? = and pk startdate@ last-tick 64over to last-tick 64- delta-bubble 64< and IF ................................................................................ >r r@ i.w 2* r@ i.h 2* hash >swap glue*thumb r> }}thumb >r hash r@ .>rotate ELSE 128 128 glue*thumb dummy-thumb }}thumb >r r@ [n:h update-thumb ;] { w^ xt } xt cell hash key| fetch-finish# #! hash key| ?fetch THEN {{ glue*ll }}glue r> }}v 40%bv box[] ; :noname ( addr u type -- ) obj-red case 0 >r msg:image# of msg-box .childs[] $[]# ?dup-IF rdrop 1- msg-box .childs[] $[] @ dup .name$ "thumbnail" str= IF [: ." display image: " addr data $@ 85type cr ;] 2swap $make click[] drop EXIT THEN drop THEN [: ." img[" 85type ']' emit ;] $tmp }}text "image" name! endof msg:thumbnail# of ?thumb "thumbnail" name! endof msg:patch# of [: ." patch[" 85type ']' emit ;] $tmp }}text "patch" name! endof msg:snapshot# of [: ." snapshot[" 85type ']' emit ;] $tmp }}text "snapshot" name! endof |
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
....
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
|
; wmsg-class is msg:.nobody : new-msg-par ( -- ) {{ }}p "msg-par" name! dup .subbox box[] drop box[] cbl >bl dup .subbox "msg-box" name! to msg-box to msg-par ; :noname { d: pk -- o } pk key| to msg:id$ pk startdate@ to msg:timestamp pk [: .simple-id ." : " ;] $tmp notify-nick! pk key| pkc over str= { me? } pk enddate@ otr? { otr } pk key| last-bubble-pk $@ str= otr last-otr? = and pk startdate@ last-tick 64over to last-tick 64- delta-bubble 64< and IF ................................................................................ >r r@ i.w 2* r@ i.h 2* hash >swap glue*thumb r> }}thumb >r hash r@ .>rotate ELSE 128 128 glue*thumb dummy-thumb }}thumb >r r@ [n:h update-thumb ;] { w^ xt } xt cell hash key| fetch-finish# #! hash key| ?fetch THEN {{ glue*ll }}glue r> }}v 40%bv box[] ; hash: imgs# \ hash of tables of : .imgs ( -- ) imgs# [: dup $. ." :" cr cell+ $@ bounds ?DO I $@ over be-64@ .ticks space 1 64s /string 85type cr cell +LOOP ;] #map ; : +imgs ( addr$ -- ) [: { w^ string | ts[ 1 64s ] } msg:timestamp ts[ be-64! ts[ 1 64s type string $. ;] $tmp $make { w^ string } msg-group$ $@ imgs# #@ d0= IF string cell msg-group$ $@ imgs# #! ELSE string $@ last# cell+ $ins[] string $free THEN ; :noname ( addr u type -- ) obj-red case 0 >r msg:image# of msg-box .childs[] $[]# ?dup-IF rdrop 1- msg-box .childs[] $[] @ dup .name$ "thumbnail" str= IF [: ." display image: " addr data $@ 85type cr ;] 2swap $make dup +imgs click[] drop EXIT THEN drop THEN [: ." img[" 85type ']' emit ;] $tmp }}text "image" name! endof msg:thumbnail# of ?thumb "thumbnail" name! endof msg:patch# of [: ." patch[" 85type ']' emit ;] $tmp }}text "patch" name! endof msg:snapshot# of [: ." snapshot[" 85type ']' emit ;] $tmp }}text "snapshot" name! endof |
Changes to msg.fs.
794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 |
+zero16 nest$ 0 msg-group-o .msg:keys[] $[]@ encrypt$ ['] .encsign ']nestsig ; \ nest-sig for msg/msging classes ' message msging-class is start-req :noname quicksig( check-date )else( pk-sig? ) >r 2dup r> ; msging-class is nest-sig ' message msg-class is start-req :noname 2dup msg-dec?-sig? ; msg-class is nest-sig ' context-table is gen-table also }scope |
| |
794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 |
+zero16 nest$
0 msg-group-o .msg:keys[] $[]@ encrypt$
['] .encsign ']nestsig ;
\ nest-sig for msg/msging classes
' message msging-class is start-req
:noname check-date \ quicksig( check-date )else( pk-sig? )
>r 2dup r> ; msging-class is nest-sig
' message msg-class is start-req
:noname 2dup msg-dec?-sig? ; msg-class is nest-sig
' context-table is gen-table
also }scope
|