cover photo

Hubzilla Development

hubzilla@project.hubzilla.org

neue medienordnung plus
  
I suggest the Hubzilla article and card templates to change, so that the article and card headline are insert in title item. For example so:
<title>Here article or card headline</title>

#header #headline #titleItem #articleHeadline @Hubzilla Development+
Mario Vavti
  last edited: Mon, 21 May 2018 02:13:56 -0400  
!Hubzilla Development does anyone have an idea how to improve the tabs in /network to make more clear what they do? Maybe just the naming needs to be altered. The text should not be too long though due to vertical space restriction...
Mario Vavti
  
Ok. I was thinking because in english it says "Commented Order" and "Posted Order" while in german they are called "Neueste Kommentare" and "Neueste Beiträge". There is no mention of ordering in german...
phellmes
  
I was thinking because in english it says "Commented Order" and "Posted Order" while in german they are called "Neueste Kommentare" and "Neueste Beiträge". There is no mention of ordering in german...

That's a good hint into the right direction... just step back a little further and see the bigger picture and where confusion in general might come from:
The tabs are mixing all things together without any logic - the display mode, the sort order/mode and two filters.

1)
The "New" tab represents a special display mode where all activities are shown out-of-context (not threaded). The other mode would be the in-context mode (threaded) which is used on the other tabs now. So that's the first thing that could be separated. When out-of-context, sort order/mode (3) is fixed since you only have single activities.

2)
The "Personal" and "Starred" tabs represent filters. They use in-context display mode now but could also work in out-of-context mode. There might be more filters in the future as well, via core or plugins. That's the next thing to be separated. It should also be clear if and how filters can be combined (since there are more filters in the left menu).

3)
The last thing to be separated is the sort order/mode. It should be clear what is sorted (e.g. posts) and according to which criterion (e.g. latest comment on a post).

These are just some thoughts from my experience. I hope they can help a bit.
Filters might be the most complex change here on the long run since they should be merged with all the other filters into a consistent and easy-to-use filtering interface.
F-Droid
 from ActivityPub
@mario can you please stop direct messaging us? Thanks.

neue medienordnung plus
  
ist this symbol for "Only connections I specifically allow" so correct?

Image/photo

#PermissionsSymbol #specificallyAllow @Hubzilla Development+
Mario Vavti
  
Sigh... Since you obviously selected custom/expert mode as your channel permission role i would assume you know what you are doing...

You selected "Only connections i specifically allow" for your "Can view my channel stream and posts" limit. Hence if you try to make the ACL for a post public (by not attaching an ACL at all), we will not tell you it's public (because it's not public due to the limit you have set). Instead we will tell you that it is visible by whoever your limit allows. In fact you can never post anything public this way.

If you change your limit later, those posts will become public (since they are not limited anymore and don't have an ACL attached).

So, if you not sure what you are up to, please stick to one of the predefined roles and everything will be fine...
Mario Vavti
  
DIe Übersetzung vom 2. Absatz ist nicht ganz korrekt.

Öffentliche Beiträge haben keine ACL. Sie sind ja öffentlich...
Mario Vavti
  
Hence if you try to make the ACL for a post public (by not attaching an ACL at all), we will not tell you it's public (because it's not public due to the limit you have set).

Deshalb, wenn du die ACL für ein Post auf öffentlich stellst (in dem du keine ACL für diesen Post verwendest), sagt Hubzilla dir nicht das der Post öffentlich ist (weil der Post ja wegen dem eingestellten Limit nicht öffentlich ist).

Anatoly
  
!Hubzilla Development Hello all.

I tried create oauth2 application but nothing happened.
There were a lot of errors in logs that table 'oauth_clients' table was'n exist.
I checked that there are no failed updates and found the 1210 update where those tables should be added.
I had run scripts from this update manually and got next errors while adding new oauth app:
2018-05-20T11:37:58Z:LOG_ERR:hm3dd5luukav3njiku3fv1lord:dba_driver.php:459:db_logger: dba_pdo: ERROR: SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = '2') AS my
FROM oauth_clients
LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id
WHERE oauth_clients.user_id IN ('2',0);
SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: character varying = integer
LINE 4: WHERE oauth_clients.user_id IN ('2',0);
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
2018-05-20T11:38:07Z:LOG_ERR:hm3dd5luukav3njiku3fv1lord:dba_driver.php:459:db_logger: dba_pdo: ERROR: INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id)
VALUES ('acpub','e9935616e4443dde','','','','2');
SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied for relation oauth_clients
2018-05-20T11:38:07Z:LOG_ERR:hm3dd5luukav3njiku3fv1lord:dba_driver.php:459:db_logger: dba_pdo: ERROR: SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = '2') AS my
FROM oauth_clients
LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id
WHERE oauth_clients.user_id IN ('2',0);
SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: character varying = integer
LINE 4: WHERE oauth_clients.user_id IN ('2',0);
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
2018-05-20T11:38:11Z:LOG_ERR:hm3dd5luukav3njiku3fv1lord:dba_driver.php:459:db_logger: dba_pdo: ERROR: SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = '2') AS my
FROM oauth_clients
LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id
WHERE oauth_clients.user_id IN ('2',0);
SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: character varying = integer
LINE 4: WHERE oauth_clients.user_id IN ('2',0);
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.


Also create a github issue: https://github.com/redmatrix/hubzilla/issues/1180
Anatoly
  
Yep. It works!
Mike Macgirvin
  
mindate was never implemented. I've just removed mindate since it didn't do anything and made the date query work exactly the same as the network webpage; which uses the parameters 'dbegin' (start date) and 'dend' (end date).
Anatoly
 
It works with the 'dataquery' and 'dataquery2' parameters. I didn't find 'dbegin' and 'dend', sorry.

OAuth1 or OAuth2 still don't work:

OAuth1:
Tried create a new token and got next error:

2018-05-21T12:07:55Z:LOG_INFO:jql2ihll3hl2rle0qmh4jed240:api.php:107:api_call: API call for : api/oauth/request_token
2018-05-21T12:07:55Z:LOG_INFO:jql2ihll3hl2rle0qmh4jed240:api.php:108:api_call: API parameters: Array
(
    [q] => /api/oauth/request_token
)

2018-05-21T12:07:55Z:LOG_ERR:jql2ihll3hl2rle0qmh4jed240:dba_driver.php:459:db_logger: dba_pdo: ERROR: INSERT INTO tokens (id, secret, client_id, auth_scope, expires) VALUES ('<<some chars>>','<<secret>>','<<client_id>>','request', 1526904775);
SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column "uid" violates not-null constraint
DETAIL:  Failing row contains (<<some chars>>, <<secret>>, <<client_id>>, 1526904775, request, null).


I double checked the database schema and found the table tokens should have the not null uid column.

OAuth2:
Created a new OAuth2 app with name "MyApp".
Open url: https://hub.plyuk.rocks/api/oauth/authorize?client_id=MyApp
I Had entered my login and password and got message "Invalid request. Unknown token."

neue medienordnung plus
  last edited: Sat, 19 May 2018 09:54:40 -0400  
Both cards - s.  Attachment - contains this code:

[list] 
[*] line 1
[*] line 2
[*] line 3
[/list]
Both hubs has the Hubzilla version 3.4. Why is the representation on hub.tschlotfeldt.de defective?

Image/photo

Visit also hub.tschlotfeldt.de/cards/mk-akademie/example-wrong-list or hub.libranet.de/cards/nmoplus/example-well-formed-list. What can hub.tschlotfeldt.de hubmin to do for debugging of list representation on this hub?

= Attachment =

@Hubzilla Development+ @Hubzilla Support Forum+ #ListRepresentation #ListDefective
neue medienordnung plus
  
@Mario Vavti
You might want to disable markdown in your posts if you intend to use bbcode...
Yes, when I disable markdown, then it eliminate the defective list representation. Can you send me one link, where I can get information about markdown in Hubzilla context. I findN't this information in Hubzilla help.

@Andrew Manning
I am consistently amused by your prolific use of tags, by the way. It seems extremely unlikely, for example, ...
Essential is, that with unique tags how #ListDefective I can quickly filter and find my posts :-).
Mario Vavti
 
Can you send me one link, where I can get information about markdown in Hubzilla context.

Not sure what you mean. Basically if you enable markdown, you can use markdown. Obviously bbcode will break in certain situations when doing so.
neue medienordnung plus
  
Not sure what you mean.

My fallacy. I forgot, that Markdown one autonomous language is ;-|.

M. Dent
 
Bits and pieces of this idea have been rolling around in my mind for a while... but with the recent Google Video reaching the light of day that indicates the big G has already thought about how to manipulate the populus, this becomes a bit more relevant and perhaps moving closer to a must have.

I think it would be not only interesting, but exceedingly useful, to create some sort of distributed search tool that is curated (either deliberately or automatically or some combination of the two) by the people in your connections list and perhaps somehow distributed among various hubs.

It could be passively "curated" by somehow indexing items that have been shared by your connections.  When a link is shared by a connection, the shared page is crawled and indexed and either the index meta-data is shared with each hub and/or user.  Another way would be some sort of knowledge domain token is passed as a pointer to the originating hub so that queries for that knowledge domain get passed to that hub and results are collated by the "querying" hub.  These are just prelimiary thoughts - and a million ideas are jumbled in my head about the HOW to do this in combination with maintaining privacy and data security.

Ideally there would be a way to adjust results based either on some sort of reputation scale (able to be individualized by the one performing the query - perhaps somehow related to affinity - or maybe based on some other metric yet to be created) perhaps also including some sort of "evaluation" of the quality of the link by the person adding it.

Anyway - some random thoughts.  Anyone have others?
Andrew Manning
  
They're sharing a leaked Google video on YouTube? That is owned by Google. Really?
M. Dent
  
Yeah, I kind of liked the irony.... except I don't really think it's ironic.  I don't at all think this was an accidental leaking.  I think it was intentional.

I think it was released to see how much backlash there is, begin seeding the idea and desensitizing people to the thoughts...  it's insidious, but its the modern way to market such things so that people accept them without actually thinking about them.

The disclaimer, "thought expriment to provoke discussion..." gives it away, as does the term, "speculative design."  They aren't pursuing taking it down - though, as you note, they would certainly have the ability to do so.  Rather - they're probably tracking carefully who watches it as well as who watches the various commentaries about it that end up being made - all with a view to manipulating their own thought processes.

"Speculative design" is a bit more than a "thought experiment," it is, itself, a means to introduce uncomfortable topics in a way to manipulate the recipient to be accepting of things they otherwise wouldn't while avoiding the important eithical questions.  "Oh, we're just conducting a thought experiment," all the while, the material is designed to cause what would otherwise be uncomfortable to be more comfortable by making the unfamiliar more familiar.

I only skimmed it, but this article was interesting:


http://ellieharmon.com/wp-content/uploads/02-06-Auger_Design-Fictions.pdf

Andrew Manning
 
I've been using this little script when working with Hubzilla code in a development environment and thought someone else might find it useful. Personally I'm using a local virtual machine (hence the root@hub.localhost address), but this would work equally well on a remote server as long as you are interacting via SSH. You use your favorite code editing tools locally and then run the script to sync the changes to the hub and test the code iteration.

When you want to reset the database to a freshly installed state, without having to go through the hub setup process again in the browser, you use the -wipe option. You will need a local copy of the .htconfig.php file, and I recommend disabling email verification. That way, when you wipe the hub, all you have to do is register the "admin@example.com" address and immediately make your "admin" channel.


#!/bin/bash

SSHUSER="root"
SSHHOST="hub.localhost"
WEBROOT="/var/www/hub.localhost/"
WWWUSER="www-data"
SRCPATHCORE="/Users/andrew/git/zot/hubzilla/"
SRCPATHADDONS="/Users/andrew/git/zot/hubzilla-addons/"
HTCONFIG="/Users/andrew/Documents/Scripts/.htconfig.php"
ADDONREPO="official"
DB_NAME="hubzilla"
DB_USER="hubzilla"
DB_PASS="password"
MYSQL_ROOT_PASS="password"

OPTS="$1"
SYNCOPTS="-a --delete"
EXCLUDE=" --include=.htaccess --exclude=.DS_Store --exclude=.git* --exclude=.ht* --exclude=store/ --exclude=extend/ --exclude=addon/"

if [[ $OPTS == "-wipe" ]]; then
    echo "Delete the $WEBROOT{store,extend,addon} directories..."
    ssh $SSHUSER@$SSHHOST rm -rf $WEBROOT/store
    ssh $SSHUSER@$SSHHOST rm -rf $WEBROOT/extend
    ssh $SSHUSER@$SSHHOST rm -rf $WEBROOT/addon
fi

# Sync hubzilla core and addons

echo "Create required webroot folders if they do not exist..."
ssh $SSHUSER@$SSHHOST mkdir -p $WEBROOT/store/[data]/smarty3/
ssh $SSHUSER@$SSHHOST chmod -R ug+rw $WEBROOT/store/
ssh $SSHUSER@$SSHHOST mkdir -p $WEBROOT/extend/addon/$ADDONREPO/
ssh $SSHUSER@$SSHHOST mkdir -p $WEBROOT/addon/
echo "Sync hubzilla core..."
rsync $SYNCOPTS $EXCLUDE $SRCPATHCORE "$SSHUSER@$SSHHOST:$WEBROOT/"
echo "Sync hubzilla-addons..."
rsync $SYNCOPTS $EXCLUDE $SRCPATHADDONS "$SSHUSER@$SSHHOST:$WEBROOT/extend/addon/$ADDONREPO/"
echo "Update addon links..."
ssh $SSHUSER@$SSHHOST "cd $WEBROOT; util/update_addon_repo $ADDONREPO; "
ssh $SSHUSER@$SSHHOST "chown -R $WWWUSER:$WWWUSER $WEBROOT;"

if [[ $OPTS == "-wipe" ]]; then
    echo "Delete the Hubzilla MySQL database..."
    ssh $SSHUSER@$SSHHOST  "mysql -uroot -p$MYSQL_ROOT_PASS -e \"DROP DATABASE $DB_NAME;\""
    # Create the Hubzilla MySQL database
    echo "Create the Hubzilla MySQL database..."
    Q1="CREATE DATABASE IF NOT EXISTS $DB_NAME;"
    Q2="GRANT ALL PRIVILEGES ON $DB_NAME.* TO $DB_USER@localhost IDENTIFIED BY \\\"$DB_PASS\\\";"
    Q3="FLUSH PRIVILEGES;"
    SQL="${Q1}${Q2}${Q3}"
    ssh $SSHUSER@$SSHHOST  "mysql -uroot -p$MYSQL_ROOT_PASS -e \"$SQL\""
    echo "Apply the database schema from install/schema_mysql.sql..."
    ssh $SSHUSER@$SSHHOST  "mysql -uroot -p$MYSQL_ROOT_PASS $DB_NAME < $WEBROOT/install/schema_mysql.sql"
fi
echo "Sync .htconfig.php file..."
rsync -a $HTCONFIG $SSHUSER@$SSHHOST:$WEBROOT

exit 0
M. Dent
 
Nice!  Thanks!
Einer von Vielen
  
Starred

Einer von Vielen
  
@Hubzilla Development+ #plugin #javascript

Tested

A plugin uses an own javascript file like addon/pluginXYview/js/pluginXY.js
And, inside pluginXS.js there is some jquery stuff like this (adds an event listener to an input field).

$(document).ready(function(){
    $(".myinputelement").keyup(function(){
        var box_title = $('.myinputelement').val();
        alert(box_title); // or something else
    });
})


Result

This has no effect at the moment.

Thoughts

If I look into the resulting page (Firefox: F12 > Inspector) I see the pluginXY is put into the /head/ of the page before jquery.
Most possible the pluginXY.js runs his ready(...) before jquery is loaded.
Additionally, the documentation of bootstrap advices that the javascript files are put behind the html content to make sure it is loaded after the html content.

Yes , I can put the event listener directly as attribute into the input using this style

<input type="text" onkeyup="myFunction()">

This worked fine but I would prefer to keep the html (or better pluginXY.tpl) clean from javascript.

Any thoughts on this? Is it or was it a question for anybody else?
Einer von Vielen
  last edited: Thu, 17 May 2018 07:27:15 -0400  
@Andrew Manning Thanks, yes I could do that. Hmm, I would prefer not to have it there in pluginXY.tpl. Ok, first I will try to put the

<script src="/addon/pluginXY/view/js/pluginXY.js"></script>


at the end of the page.

/update/ Hang on a minute, I did this. Hmm. ok it was late at night probably to late ;-)
Einer von Vielen
  last edited: Thu, 17 May 2018 14:19:48 -0400  
@Andrew Manning thanks.

I have put now

<script src="/addon/pluginXY/view/js/pluginXY.js"></script>


at the end of the pluginXY.tpl and removed

head_add_js('/addon/pluginXY/view/js/pluginXY.js');


from pluginXY.php.

offtopic
I copied something from your chess plugin many thanks! Now you pointed me to the rendevous plugin... Ooooh, there is some more to copy and learn from. Thanks for this amazing "examples". My task at the moment is more reading about bootstrap, the plugins, debugging hubzillas php  instead of getting something done by coding. Slow but exciting enough to miss a round on the motorbike in these wonderful days in springtime.
Einer von Vielen
  
... forgot this... yes, it works

Jens (public)
 
hi all at @Hubzilla Development @Hubzilla Support Forum

The most recent and relevant mentioning of theme development I could find is https://medium.com/we-distribute/the-do-everything-system-an-in-depth-review-of-hubzilla-3-0-692204177d4e which mentiones another page that dosn't exist anymore (https://deadsuperhero.com/help/en/DerivedTheme1)

This is an interesting read already but looking at the theme files I wonder what the different file types work, especially *.tpl files like this one https://github.com/DeadSuperHero/hubzilla-themes/blob/master/suckerberg/tpl/theme_settings.tpl

So, is there any further documentation out there? Did I miss something in the help?
Thanks!
muppeth
  
We are about to release our theme which is derived theme from redbasic. @Antilopa is going to update the wiki on how to create derived theme too (i suppose).

Will do it this week still I hope.
Jens (public)
  
Cool! looking forward to it ?

poVoq
 
I really like the WebDAV feature of Hubzilla, and am using it with my Nextcloud etc. However right now the web-interface for managing files in Hubzilla is rather basic. Understandably since there are more important core features, but a bit of a pity.

Looks like this webinterface could work well as a Hubzilla plugin though, as it already supports WebDAV and should be customizable to integrate well with Hubzilla?
See: https://github.com/mickael-kerjean/nuage

It also supports something called org-mode with looks like a rather neat way to organize notes (but is a bit like a markdown wiki): https://github.com/mickael-kerjean/nuage/wiki/Org-Mode

Anyone interested in this as well?
muppeth
  
Thought about it in terms of adding more space to hubzilla's personal storage via nextcloud.

In our case we offer users 4GB nextcloud storage with possibilities to upgrade. Doing the same for hubzilla would be a bit constly so i thoguht since both speak webdav and you can mount hubzilla share on nextcloud, maybe you could do the same but the otherway around. In that way you would have one entrypoint, and we could offer smaller hubzilla space since if needed that could be topped up from nextcloud. Bu tyeah I'm aware of complexity this adds (was just curious if its already implemented and I missed it).
Mike Macgirvin
  
A mechanism to plugin different storage backends is on the wish list. It has been specfified as a file system abstraction that is implementation neutral.
M. Dent
  
I just expanded a nextcloud server using S3 via YAS3FS.  When I get back to working on Hubzilla, one of the first things I'll be testing is an S3 backed filestore.  That way you wouldn't need to have different storage backends provided by Hubzilla directly, just use FUSE.

neue medienordnung plus
  
@Hubzilla Development+ Exist opportunity to define this channel permission limits via settings in Hubzilla confg files?

Image/photo

#channelPermissionLimits #HubzillaConfg #HubzillaPermissions
Hubzilla @ sasiflo
  
@neue medienordnung plus To give someone the right to view your posts means you have a connection with someone. When you publish a post it is send to this someone and from then on it is out of your control. The rights you wanted is propagated to the contact, but it isn't mere than an advisory. You cannot control what the contact is doing with it. The receiving channel may even redistribute your post to the public.

That was my understanding, hope it is somewhat correct.
Hubzilla @ sasiflo
  
@neue medienordnung plus That's the thing with posts (and articles I assume). Files and Fotos are a different thing, because they are served directly from your channel and not send to receivers. So you have always control over your Files and Fotos.
neue medienordnung plus
  
I plan the network, that contains exclusively content from my own channels, my own nomadic identities. I plan this network for quick search in my own tagged content and in tagged #bookmarks .

neue medienordnung plus
  
Steffen K9 ?Steffen K9 ? wrote the following post Sun, 13 May 2018 05:30:58 -0400

Can you as Sysadmin confirm, that Friendica-node induced less maintenance effort by comparsion to Hubzilla?

Hmm. That's tricky. I run Hubzilla on master branch (stable release) most of the time. So there is not much to do besides an update every couple of weeks or even months.
Friendica is running on develop branch (RC at the moment). And because the Friendica devs are very hardworking people <3 providing a lot of code updates, I "have to" pull new code on a daily basis.
I guess both were on the same level of maintenance efforts if I would run both instances on master (stable) branch.

#comparsionHubzillaFriendica #comparsionHubzillaToFriendica #comparsionHubzilla2Friendica #maintenanceEffort #HubzillaMaintenance #Hubzilla #FriendicaMaintenance  #Friendica @Hubzilla Development+ @Zot universe NEWS+
Andrew Manning
  
I'm wondering how stable is dev and if I should run it in production as a public hub.

I would not recommend doing that.
Mike Macgirvin
  
Production/public sites should probably stay on master for a sense of stability - unless it is specifically a developer community. We push a new release every couple of months and the time creeps by before you know it. That said, there have been a number of changes recently which were specifically to address issues encountered in the disroot configuration, which is slightly atypical of our standard configurations. 'dev' will ways be less stable than master (it's the nature of the beast); but we sort of need some feedback on some of these fixes and ensure they are up to scratch before the next release. If anybody at disroot is interested in being involved in ongoing development, a dedicated dev/test site might be a workable option so you don't have to hack on your main site "live" and can also keep up to date with (and even participate in if desired) the latest developments.
muppeth
  
Yeah, I'll be setting up dev instance this week (probably weekend) just to be able to break things especially if we go live soon. We really want to start being more involved in development part fo the project as well, so having instance you can break is a must.

But as you pointed out some of (very crutial) for us changes are currently jailed in dev so a tiny 0.0.X release would be great, but I certainly dont want to put any preasure on you guys.

neue medienordnung plus
  last edited: Thu, 10 May 2018 23:51:36 -0400  
File Dialog-auf-Augenhoehe.pdf is published as "public" in the "public" folder. Chanel role and privacy is Mostly Public. But guests of nachbarn@hub.zilla.tech get the warning
Permission denied
for the URL https://hub.zilla.tech/cloud/nachbarn/Gespraech-Zwischen-Nachbarn/Dialog-auf-der-Augenhoehe.pdf [1]. What can I do thereby guests of channel nachbarn@hub.zilla.tech can view the URL [1] without registration?

Hubzilla version is 3.5.2


Image/photo



Image/photo



Image/photo

@Hubzilla Development+ #PermissionsDenied #DeniedPermissions #Nachbarn #DialogAufAugenhoehe #SitePolicy #MemebrPolicy #MemebrPolicies
Mike Macgirvin
  
What can I do thereby guests of channel nachbarn@hub.zilla.tech can view the URL [1] without registration?


Site policy always over-rides your member policies.

Visit admin/security and turn off "Block Public" at the top of the page.
Mike Macgirvin
  
Bug. #fixed
neue medienordnung plus
 
Because hub.libranet.de is yet down, here downresistant search-query https://project.hubzilla.org/search?tag=WiRnetwork with your #livehub as searchengine :-).

Thank you @Mike Macgirvin Macgirvin!

ivan zlax
  
!Hubzilla Development
Is there a way to exclude some content by tags from a public stream?
I want to exclude posts with NSFW tag from public stream.
Andrew Manning
  
You might want to try @Hubzilla Support Forum for a question like this. Don't know the answer myself, sorry.
Mike Macgirvin
  
Doesn't exist currently, but we've got connection filters with this kind of ability so it wouldn't be difficult to add. Mostly cut and paste.
ivan zlax
  
Ok, thanks, made issue with feature requst in github just now.

Andrew Manning
  
Long long ago some of us began restructuring the Help pages (a.k.a. "doco", a.k.a. "docs", a.k.a. "documentation"). I had actually made a lot of progress on changing the implementation of the table of contents and the language translation support before I stopped working on it. I picked it up again and want to share the structure to get some feedback.

The goal is to make contributing and maintaining content easy and flexible while still offering a navigable webpage with language translation support. To achieve this, the hierarchy of the /doc/ directory structure is what drives the structure of the Help pages. The root is /doc/help/, with translated content residing in /doc/help/$lang.

/doc/help/en/
/doc/help/de/
/doc/help/fr/

Each folder has a very simple toc.json file that defines the structure of the table of contents for that level of hierarchy. The dropdown side menu in the Help pages is generated dynamically by parsing all these toc.json files. This allows the table of contents to be flexible to rearrangement of content and addition/removal of files.

Language translations do not have to be complete to be automatically included in the language selector menu on a Help page. The loaded page will search the /doc/help/ hierarchy to discover what other language folders contain it and populate the selector menu accordingly.

Here's an example. When you visit /help you are taken to your browser default language version of the "start" page, in this example English:

Image/photo

You can see that the selector shows three languages available. I select German and the German page loads. In this example I don't actually have a German translation; I just copied the entire "en" folder to a "de" folder for demonstration purposes.

Image/photo

If I navigate to a "Features" section page, only English and German are listed as options:

Image/photo

This is because as you can see in the file structure, the French folder only has the "About" section translated:

Image/photo

If I visit the About section in French, you can see that the table of contents on the left panel is truncated, because there are no toc.json files for the other sections which are missing.

Image/photo

It seems to work pretty fluidly, and I feel that this should lower the barrier as low as it can reasonably be expected to get in order to encourage content contributions and language translations. Now I need to continue the less fun work of shifting existing content around and populating the new pages.

!Hubzilla Development
kris
  
I have one week of vacation now. Of course I have plenty of thing to do but I will give a try again to submit my translation again and continue the work. If you translate and don't see it on the stable version why continuing ?

Concerning the idea to separate developpment and documentation : that make sens. Documentation is juste writing text no code. Developpement is writing code.
Andrew Manning
  
If you translate and don't see it on the stable version why continuing ?

I'm not deleting content very much; I'm adding content and reorganizing mostly. If you contribute a translation, I should be able to integrate it into the new structure. There is not really an alternative, because I do not want people to stop translating stuff when they are able to do so just because the documentation is in flux. It will never be "complete". We can work together to use your contributions by modifying the English as necessary; this is a two-way street.
kris
  
This week I will find 'free' time. I could dive again in it and send what I did and if it works continue...

Mario Vavti
  last edited: Thu, 10 May 2018 02:18:01 -0400  
Some good news on activitypub: we have some sort of basic communication working with PeerTube v1.0.0-beta.3
I just received this message:
2018-05-09T18:21:01Z:LOG_INFO:99976c6af2f79909591b535f88bf3145:Mod_Inbox.php:29:post: inbox_activity: {
  "type":"Create",
  "id":"https://peertube.mastodon.host/videos/watch/40a309fe-ce12-479a-9fac-19d0ba23c4ba/activity",
  "actor":"https://peertube.mastodon.host/accounts/motesting",
  "object":{
    "type":"Video",
    "id":"https://peertube.mastodon.host/videos/watch/40a309fe-ce12-479a-9fac-19d0ba23c4ba",
    "name":"Urbie Green Trombone Masterclass",
    "duration":"PT1218S",
    "uuid":"40a309fe-ce12-479a-9fac-19d0ba23c4ba",
    "tag":[
      
    ],
    "views":0,
    "sensitive":false,
    "commentsEnabled":true,
    "published":"2018-05-09T18:19:37.486Z",
    "updated":"2018-05-09T18:21:01.481Z",
    "mediaType":"text/markdown",
    "content":null,
    "support":null,
    "icon":{
      "type":"Image",
      "url":"https://peertube.mastodon.host/static/thumbnails/40a309fe-ce12-479a-9fac-19d0ba23c4ba.jpg",
      "mediaType":"image/jpeg",
      "width":200,
      "height":110
    },
    "url":[
      {
        "type":"Link",
        "mimeType":"video/webm",
        "href":"https://peertube.mastodon.host/static/webseed/40a309fe-ce12-479a-9fac-19d0ba23c4ba-360.webm",
        "width":360,
        "size":49366342
      },
      {
        "type":"Link",
        "mimeType":"application/x-bittorrent",
        "href":"https://peertube.mastodon.host/static/torrents/40a309fe-ce12-479a-9fac-19d0ba23c4ba-360.torrent",
        "width":360
      },
      {
        "type":"Link",
        "mimeType":"application/x-bittorrent;x-scheme-handler/magnet",
        "href":"magnet:?xs=https%3A%2F%2Fpeertube.mastodon.host%2Fstatic%2Ftorrents%2F40a309fe-ce12-479a-9fac-19d0ba23c4ba-360.torrent&xt=urn:btih:1a2df4a2c59d5c42d6421ba4e71eb78d76987d70&dn=Urbie+Green+Trombone+Masterclass&tr=wss%3A%2F%2Fpeertube.mastodon.host%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.mastodon.host%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.mastodon.host%2Fstatic%2Fwebseed%2F40a309fe-ce12-479a-9fac-19d0ba23c4ba-360.webm",
        "width":360
      },
      {
        "type":"Link",
        "mimeType":"text/html",
        "href":"https://peertube.mastodon.host/videos/watch/40a309fe-ce12-479a-9fac-19d0ba23c4ba"
      }
    ],
    "attributedTo":[
      {
        "type":"Person",
        "id":"https://peertube.mastodon.host/accounts/motesting"
      },
      {
        "type":"Group",
        "id":"https://peertube.mastodon.host/video-channels/0ea56fe9-ff35-42d1-820f-dedc512ac3e8"
      }
    ],
    "to":[
      "https://www.w3.org/ns/activitystreams#Public"
    ],
    "cc":[
      "https://hub.somaton.com/inbox"
    ]
  },
  "to":[
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "cc":[
    "https://hub.somaton.com/inbox"
  ],
  "@context":[
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "RsaSignature2017":"https://w3id.org/security#RsaSignature2017",
      "Hashtag":"as:Hashtag",
      "uuid":"http://schema.org/identifier",
      "category":"http://schema.org/category",
      "licence":"http://schema.org/license",
      "sensitive":"as:sensitive",
      "language":"http://schema.org/inLanguage",
      "views":"http://schema.org/Number",
      "size":"http://schema.org/Number",
      "commentsEnabled":"http://schema.org/Boolean",
      "support":"http://schema.org/Text"
    },
    {
      "likes":{
        "@id":"as:likes",
        "@type":"@id"
      },
      "dislikes":{
        "@id":"as:dislikes",
        "@type":"@id"
      },
      "shares":{
        "@id":"as:shares",
        "@type":"@id"
      },
      "comments":{
        "@id":"as:comments",
        "@type":"@id"
      }
    }
  ],
  "signature":{
    "type":"RsaSignature2017",
    "created":"2018-05-09T18:21:01Z",
    "creator":"https://peertube.mastodon.host/accounts/motesting",
    "signatureValue":"eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..RbRoZK08jvtOLgTGLln2n2brmzfXtvwUki2p4rd0C7cbbSkHf-A4qLowrZjs8gDTn4QzU18DfcWfD442ipiNIl66zy6_8TqbXYHUSjuUyIgpkyHAi_PwPI1PHygpPxglKvtHDp_deM9uweQxuy4fyCtq29KUGvEnyzduUNdrl0FN0ruQNfnq9SHbGDpZmCUFutx4nSfx7Njw6PpdCmcFyfPx9_WN8eIJY-GoGz7-USG83nJH6Msrp05tTKOdjOsAizx5-2xx1WZiMuHPUapBz4kDFJzIER93Exk0QcBoQQKA1LEpbh5qfHzctcMceR5seKyO-aV7U9czZAoAt8IIiQ"
  }
}

!Hubzilla Development
Mario Vavti
  
embedded video player in the status

That is not yet implemented.

I'm running on the latest dev version of Hubzilla, followed my PeerTube channel, and even received a post from it.

PeerTube to Hubzilla works. As mentioned, i did not do much testing yet. I was not able to get a message from Hubzilla to PeerTube yet beyond following.
Mario Vavti
  
@Gargron this seems to be (at least to my knowledge) the only way we can send private messages to a subset of followers at the moment. I would appreciate, if we could send private messages to mastodon profiles without mentions (just via the "to" or "bto" addressing). That is not possible at the moment though. I opened an issue regarding this situation here: https://github.com/tootsuite/mastodon/issues/7394

@fileneed you are actually mentioned in the payload, you just don't see the mention in the body because we don't neccessarily want to expose the audience to all receivers (consider this like "bto" in email).
Mario Vavti
  
@Chocobozzz here is a link to an activity sent by Hubzilla which represents a comment: https://hub.somaton.com/cards/mario/107d93ae2da7c22f
Haakon Meland Eriksen (Els Mussols)
  
@Hubzilla Development+ I think there is an issue with the new local post cache, it remembers everything, even selection mistakes. Example:  you discover a typo and edit a post, but when you backspace too much or select too much and delete and then move away without saving to start over, even when you then choose Edit post, the browser recalls that in that mode you had a state - and the wrong one, the not saved change is displayed again. :-(
Beni Grind
  
A very ugly workaround could be to execute localStorage.clear() from the browser console.
Haakon Meland Eriksen (Els Mussols)
  
I do not know if it can be done on the phone in Firefox.

M. Dent
  
!Hubzilla Development

Looking through the docs, I'd like to make sure I understand the actual flow of events on a message.  If someone "in the know" could verify (and/or correct!) the following, I'd be appreciative...  

CONTEXT: Non-public message - privacy group "assigned"

1) Message is transmitted via HTTPS from sender web browser to sender hub
    * Effect:  message is encrypted in sender web browser and decrypted at sender hub - meaning it exists in plain text for processing on the sender's hub
2) Message is encrypted into ZOT packet (cxref:
Zot_Structures)
   * Effect: data encrypted, decryption key and initialization vector are encrypted with RECIPIENT public keys
3) ZOT packet(s) distributed to recipient hubs

What I'm not clear on is when/how the data gets decrypted - I infer that it is stored in the database in the format received and decrypted on the hub prior to being sent to the recipient's web browser over SSL (the reverse of the sending process) - is this correct?

Also - what is the possibility of moving the creation of the ZOT packet (and the decryption of the ZOT packet) to the browser rather than happening on the hub itself?  It would certainly make the hub more efficient by removing the encryption/decryption processing.

What I'm mentally toying with is something like the way a blockchain based fully distributed wallet works - the private key stays local to the user and never gets stored centrally.  Obviously - lose your key - lose access to your data... but I'm not sure that's too great a price to pay... after all, with crypto wallets - lose your key, lose your $$$!

What would the biggest hurdles be to such a change in the location of the encryption/decryption processing?
Stephan Maus
  
!Hubzilla Development Support Forum

Hubzillians!
In Mastodon, an answer (by @Waitman Gobble ) to one of my Hubzilla-postings appears as if it had been written by me.

Original Thread:
https://hub.zilla.tech/display/1b51d671ef3853fbcdfb37e08532dcc6e37bfcfa1a1ae4b8fdb66df5cef08e20@hub.zilla.tech?f=&zid=ouroboros%40social.stephanmaus.de

Mastodon-Thread:
Image/photo

Isn’t that strange?
Mike Macgirvin
  
This is a known issue and should be fixed in 3.4. although I don't believe it is a Hubzilla bug. We just stopped sending stuff to Mastodon that we knew was likely to be problematic on their side. We also haven't been able to reliably reproduce it.
Stephan Maus
  
Thanks to all of you who fix the whole Fediverse!