Ok, it's time!
"Release_902" is the git tag for our official Version 902 release of the
Citadel system.
Easy Install has been updated, and I'm building source tarballs now.
Distribution maintainers, feel free to publish from this tag.
That's an interesting idea. I'm not sure if we could do that and still have
the REST API I have in mind, but it's worth thinking about.
We actually do have something like that embedded in the existing WebCit,
a handler that can make arbitrary calls to the Citadel server.
> The design I have in my head right now is to write the engine in C and
>the UI strictly in HTML and JavaScript. If done right, we can keep
>most (all?) of the HTML out of the server engine, and also avoid the
>need for a template engine.
these days, it seems the state of the
The new configdb-enabled build of Citadel seems to be running nicely on
Uncensored.
I'm cleaning up a few *very* minor things here and there, but it basically
is looking very good.
This means it's just about time to release a new version. Please consider
the code to be in hard freeze,
Ok, I think I'm ready to guinea pig test the new code on Uncensored. Possibly
as early as today.
I recall thinking at the time that the program flow was going to be quite
linear, similar to the text client, and the web server code would just work
around that by putting the flow of control back onto wherever we left off
after each HTTP transaction was submitted. In other words, I didn't have
Coding a web-UI layer in C was certainly a highly atypical design decision.
One of the reasons WebCit is spaghetti is because we all used it as a test bed to try out new programming techniques. I am vowing to stop doing that and I am going to request that everyone else do the same. From now on we agree on an *architecture* and we follow it.
Eh, commercial code is supposed to be boring, no fancy techniques, coded
near the lowest common denominator of what the typical programmer can
understand.
But I am not a professional developer so I am not bound by your lack of
requirements.
Take the fun out of a hobby project? My *commercial* projects sometimes look
like such a test bed. Don't tell anyone I said that...
There is one thing I want to make sure we stop doing, and that is using Citadel
as a test bed for new programming techniques we want to learn or try.
see some of the docs here:
https://docs.arangodb.com/HttpAqlQueryCursor/QueryResults.html
https://docs.arangodb.com/HttpAqlQuery/index.html
The cute thing is, that once you've got documentation like this, generating swagger.io yaml files can be used to automate questioning of the URLs.
ArangoDB does it like that:
/_db/databasename/_someothercall/parameter
This would prehibit creating of rooms with a leading underscore, but could be an easy way to achieve this:
/main_floor/some/sub/room/_msg/idhash/_attchID/filename.png
Tue Apr 19 2016 02:36:05 EDT from the_mgt @ Uncensored
Mon Apr 18 2016 10:30:57 EDTfrom IGnatius T Foobar @ Uncensored
By the way, I've made a decision to get rid of the decimal points in our version numbers. The next version after Citadel 9.01 will be Citadel 902, followed by 903 and
Mon Apr 18 2016 10:30:57 EDTfrom IGnatius T Foobar @ Uncensored
We might just have to build our own minimalist CSS framework if we want to avoid upstream abandonment, but it will have to be done carefully. And sure, we might be having this conversation again someday, but if it's 15-20
Also, to be clear, some of our new interfaces are for desktop. These will
also use knockout-js.
Thu Apr 14 2016 15:14:36 EDTfrom IGnatius T Foobar @ Uncensored
1. Must be well-establihed, well-supported, stable and LONG TERM VIABLE.
For the JS stuff, I think this is JQuery. That is well established and well supported, as it seems.
For the html/css stuff, I am not yet clear
I'm flexible on what framework we use, but the REQUIREMENTS are:
1. Must be well-establihed, well-supported, stable and LONG TERM VIABLE.
2. Must not require any runtime language other than JavaScript.
3. Flexible layout -- I want it to seamlessly reflow properly on small/mobile
devices.
I am totally in love with most of the above, in fact, I was trying to do that a long while, but fell flat on my face when I saw the state of the calendar rendering.
There is so much hardcoded and fugly HTML in there, I just stopped. Also, real life demanded that I finish my studies first. Now,
This type of thing is almost always a bad idea, but I'm thinking about it
anyway:
I'm giving some serious consideration to a complete rewrite of WebCit.
As some of you have observed, I've taken quite a break from Citadel because
of job and family commitments, and over the last couple
...and there it is. The whole "user photo" framework has been moved out
of the directory hierarchy and into the database.
Everything else sitting in the directory hierarchy is kind of random ...
system messages, SSL keys, that sort of thing. Need to figure out where they
are going to
User photos (pic, avatar, image, whatever) are now being stored in the
database.
So far I've completed the ingestion of legacy data into the new format, a
new command to retrieve a user's photo without requiring a pass through the
file-download chain, and the changes required in WebCit to
I had some time today so I was able to work on the next task of removing
all the external data directories. Profiles (bios) are now stored in the
user's config room as a MIME object. At the moment we are still using the
existing RBIO and EBIO commands, but in the future I will deprecate them
whoa, this is cool:
https://stackedit.io/editor
and, its apache licensed.
no, it seems its outputting them anyways. The macros turn off everything with 'LOG_DEBUG' by default.
Some of the changes lower precedence from INFO to DEBUG.
the macros also have another advantage the way they're implemented now: you can turn on and off single components at runtime.So you want
The thing is, I removed lprintf() because I didn't want Citadel to be saddled
with its own proprietary logging framework anymore, and now we have it again.
Isn't the way to remove verbosity simply to put the verbosity to LOG_DEBUG
and not log that if you want it quiet?
if you want your log flooded with everything, use
citserver -x all
which will remove all output.
Parts of these macros also add information about the current context to the log string. So, if you have more than one of these rss aggregation jobs running, and want to be able to differenciate
Iggy,
if you changed parts of the base64 sh* once more, please remember to check:
- base64 de/encoding for email attachments
- authentication in pop3/smtp/imap
- the xml export/importer...
directix brought us lots of pain with that patch :-(
since # 03cd7985fad9d51530f613304869f3b7960b9f81 removes the ability to mute rss syslog output I will revert it.
even if its debug, having steady noise on syslog is a bad thing to have - as you can read by more than one post in the support room.
well, if you're suffering from the NIH syndrome, we already have something that can serialize json, you only need to add the parser. Probably doable in some hundret lines of code.
Wed Jan 06 2016 21:56:12 EST from IGnatius T Foobar @ Uncensored
I doubt it would look anything like that if I were building it today. I would probably serialize it to XML.
so at least the parser doesn't have any chance to become fast? XML is s 90'ies.
in the modern world we use json
But, we already have an XML parser linked into the build. Adding more
dependencies
== bad bad bad.
I doubt it would look anything like that if I were building it today. I would probably serialize it to XML.
as long as you don't parse stuff by hand in each file again, i'm fine with that. ;-)
I'm reworking it anyway. All code that makes use of netconfigs now does CtdlGetNetCfgForRoom() followed by SaveRoomNetConfigFile() (if anything was changed) and then FreeRoomNetworkStruct(). It's a lot easier to follow this way, and I favor readability and maintainability over squeezing out
Considering uncensored: 300K /usr/local/citadel/netconfigs/
and outgesourced: 216K /etc/citadel/netconfigswhich both could be considered to have many netconfigs, and the available memory on a $35 pi, I don't think keeping both is much of a problem?
I've started working on moving the netconfigs records into the config database.
I see that there's a lot of caching of netconfigs in there now. Since we
now cache configdb records, every netconfig is now going to be in memory twice.
We will need to do something about that.
next missing is the tags handling.
another thing I plan is to have a separate html tree to simply view a blog. Should be easier to brew new layouts with such a reduced set of pages, which may eventually become used in regular webcit later on.
ok, I've added a form that uses some js magic to create such a tandem of a blog and a html edit room, plus sets up flags so they share files.
I've also put up a start page into that edit wiki that will demonstrate html syntax and adding the articles the user wants to compose in there.
Now next
fancy. stackoverflow can even do a visualized diff of markdown edits:
http://stackoverflow.com/posts/34196368/revisions
hm, have a look after that article:
http://www.linuxjournal.com/content/take-control-your-pc-uefi-secure-boot
they embedd a js irc client to freenode.. neat.
commit 8ca6b69ea93167ada31f0f157b7db0fd03bf019fAuthor: Wilfried Goesgens Date: Tue Nov 17 23:09:21 2015 +0100 Make the swap buffer content function publically available.diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h+void SwapBuffers(StrBuf *A,
thats fresh in libcitadel. you need to have the latest.
It wasn't exported before
That was from a clean build of the entire Citadel system.
Bug
CC ical_subst.c
paramhandling.c: In function 'ParseURLParams':
paramhandling.c:180:4: warning: format '%ld' expects argument of type 'long
int', but argument 6 has type 'unsigned int' [-Wformat=]
);
^
CC static.c
CC feed_generator.c
CC setup.c
LD: webcit
vcard_edit.o: In
Microsoft Lync (or as they call it now, "Skype for Business") is based on
SIP, not XMPP. But it still doesn't interoperate with anything else.
So basically every major provider is killing off their support of standard
clients because they want to keep you inside their walled garden.
are you shure that the chatting, screen sharing and all that stuff is done via SIP?
otoh, thats wbxml via udp, right?
vcard templating done - at least feature wise its similar to what was there before.
now maybe some goodies and - tada - startup configurable vcard fields, maybe finally images.
Wed Nov 18 2015 18:34:16 EST from IGnatius T Foobar @ Uncensored
While it's obvious that the global footprint of XMPP is now going to be a lot smaller, it's doubtful that the existing XMPP clients are going away, and our implementation of it is pretty much finished anyway. We certainly
A bit of Googling reveals that this is correct. Neither Google nor Fecesbook
allow XMPP anymore. Google didn't implement XMPP when they moved from Talk
to Hangouts, and Fecesbook in typical form simply decided they didn't want
you to access any part of their service without being logged into
FB and Google no longer allow third party XMPP clients to connect to their
services? That simultaneously sucks and blows.
http://www.heise.de/newsticker/meldung/FastMail-Google-und-Facebook-graben-XMPP-das-Wasser-ab-2922658.html
(well, the h-open offering is gone, so this is german only...)
XMPP on the way out. FB and Google discontinued their XMPP offerings last big big supporter Fastmail.fm stopped their
http://fedoramagazine.org/make-github-pages-blog-with-pelican/
nice thing. using markdown, as we can.
How did I miss that you (dothebart) did the heavy-lifting and merged configdb
into master? Evidently I am a moron.
I've been avoiding Citadel development because for some reason I thought
we still had that big task to tackle.
ok, pop3 client seems to work now.
when the migration also does its job (- transmitts network configs, doesn't loose messages...) i'd be in for a next release.
Some love to the 'i can't get email page':
http://www.citadelorg/doku.php/faq:troubleshooting:tracking_citadel
@harryc, there is a branch, check_messages; these tests may help you with your pdfs.
Yeesh.
I'm shuffling around trying to figure out how the new config system is going
to work, and I'm stuck with a bit of a catch-22.
There are some configuration items which need to be determined before we
can open the databases, but we want to use the databases to store
yes, Y not.
Having worked for a company that offered an email/imap/calendar/addressbook/syncml server based on c / iiop (corba) and Oracle SQL backend I can tell you a bit about that one isn't going to scale on that.
Working for ArangoDB now, I can tell you clustering isn't going to improve
My point here is that I don't want to discourage anyone's development ideas,
as long as they do not throw the Citadel system off track by destabilizing
or bloating it.
To scale current citadel systems - probably nginx imap reverse proxies, postfix / postscreen.
Heartbeat / HA has STONIS to make shure just one item is running on top of a drdb share.
XMPP / IMAP / whatever clients will reconnect.
You can run webcits on several hosts.
Once you're operating two or
Perhaps -- but pluggable DB's have been ok with us right from the beginning.
If he wants to write one that plugs into an off-host SQL database then why
not? The default configuration is still going to be Berkeley DB for the
foreseeable
future, but there are going to be people out there who
i've added a tiny section for using jshint to revalidate wclib.js friends:
http://www.citadel.org/doku.php/documentation:customize_webcit#usingjshintforjavascriptsyntaxchecking
could help saving precious time in searching errors.
Uncensored is updated to git master as of right now. Let's see how this goes.
ok, I like the shape of the stream transcoding now.
The interface seems sufficient so it doesn't need to be changed again after a release giving us new library version for no value.
we can now compress chunks, so we can READ one chunk, compress it, send it as http chunk to the browser, and
the only thing its able to - render markdown to html.
Its used to create markdown wiki rooms - for those who don't like html wiki (like me)
Wait a minute, adding dependencies has to be something we discuss before going
forward with it.
What are we doing with this library?
ok, hopefully after the next update uncensored rss should work fine again.
should we start out on another queasy install round?
we've got a new dependency:
http://www.pell.portland.or.us/~orc/Code/discount/
is the q(easy) install script somewhere in git?
hm, theoatmeal is so kind to tell us is time...
dc:date2015-01-11T11:36:55+01:00/dc:date
which doen't go well with checksumming a feed to see whether one already saw it...
the whole feed
I don't get it why its not identifying the single items properly... it doesn't provide a guid, so this should be a checksum over subject and link, which also don't seem to change...
i've enabled seen logging on uncensored, so maybe this tells us more...
hm, yes. I think that log output gives good pointers.
lets fix it.
ok, found fixed.
For your compfort, the room menu has a relative new point 'zap duplicates'
finally. been working on that for a while.
zlib compression with chunked encoding is working.
So if you download a file, webcit will only load one chunk from citserver, compress it, send it as http chunk, redo until finished.
oh, and in other news, another thing anoying me is gone, gotonext
hm, pretty uncool.
we afe c_baseroom on the config struct; its loaded from the config file, and put in there by the defaults.
However, its not exposed to the CONF interface, so if it gets broken, there is no other way than hexeditor to repair this?
if its not there, the _BASEROOM_ macro is
Updated
Hmm, why are message saves taking as long as they used to in the 1980's when
BBS ran on floppy disk?
oops, one more bug in the digest recipients fixed.
one more uncensored update please.
WHOA!
something which anoyed me for years fixed.
now the folder counters follow the current numbers.
Read a message, new decreases.
Delete/move a message new/total decreases.
Refresh message folder - numbers refreshed.
si.
Ok, uncensored is updated from git master as of this morning.
so.. uncensored has to be updated asap.
ok, another nasty bug caused by our new base64 encoder.
it adds linebreaks, which some places don't expect to.
this breaks...
- smtp auth
- imap auth
- list subscription
- webcit sieve editing
well, these cases don't gain as much from the improved speed (it was 10 times afair) but now they
Does this explain all of the people who are complaining that they can't
subscribe
or unsubscribe to the Citadel Support list?
It locked up on me. Fun, but nogo :-)
hm, maybe finally a successor to tinymce?
http://coolwanglu.github.io/vim.js/experimental/vim.html
;-)
hm, fail. some xmpp was committed which shouldn't, and smtp job finalisation doesn't work - be shure to delete all entries in the smtp queue room before shutting down.
hm, funny #b11aa21e7968de3591f30d7af1ba561fab7bc53f - I had valgrind crash on me when locking the user... after shuffeling stuff a little bit around it wouldn't crash no more...
That's actually a bug that's plagued us for many years, isn't it?
Wed Oct 29 2014 07:28:22 EDT from IGnatius T Foobar @ Uncensored
That's actually a bug that's plagued us for many years, isn't it?
well, its probably been around since I added the flood protection for aide messages.
in all other cases the code should be slow enough ;-)
However, it seems
Sun Sep 07 2014 05:04:42 EDT from Freakdog @ Dog Pound BBS II
Wed Sep 03 2014 09:23:26 AM EDT from dothebart @ Uncensored
Wed Sep 03 2014 07:51:50 EDT from Freakdog @ Dog Pound BBS II
Tue Sep 02 2014 05:20:32 PM EDT from dothebart @ Uncensored
I don't have any troubles with
ok, it seems as if I found two possible problems for the networker.
its possible with authentication - however you probably won't get a modified environment without any further exploit - As we don't add i.e. the useragent to the environment ;-)
Thanks!
I don't see the wiki module being a problem, because it doesn't send any
user-supplied
arguments to the shell. The wiki module generates its own temporary file
names and uses those.
Dothebart, with or without auth?
hm, so the wiki module and the serv_migrate is vulnerable to shell shock? (as they use system() / popen())
I wouldn't count the migrate as that much of a risk, but the wiki for shure.
ok, I had something here which was different to the smtp stack which I changed. It seemed as if it would continue to run after an abort state should have terminated it.
Wed Sep 03 2014 09:23:26 AM EDT from dothebart @ Uncensored
Wed Sep 03 2014 07:51:50 EDT from Freakdog @ Dog Pound BBS II
Tue Sep 02 2014 05:20:32 PM EDT from dothebart @ Uncensored
I don't have any troubles with spool files, probably due to the single coredness of my server.
If
Tue Sep 02 2014 05:20:32 PM EDT from dothebart @ Uncensored
I don't have any troubles with spool files, probably due to the single coredness of my server.
If you have, you will have to provide more information so that we can fix this.WFM YMMV ;-)
Hmm...I'm running my Citadel in a
201 - 300 of 2001 matches
Mail list logo