From 37ab0ced6fa4abaece3aa8a948c4f12b56bae99c Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Tue, 11 Nov 2025 19:11:09 +0100 Subject: [PATCH] added singlemode tag feature --- manyfold/root/hook.d/experience_updated/1000-scan-dir.sh | 6 ++++-- .../hook.d/experience_updated/300-package_janusxr.rb | 2 +- .../root/hook.d/experience_updated/300-package_mml.rb | 2 +- manyfold/usr/src/app/app/components/model_card.rb | 9 ++++++--- .../usr/src/app/app/views/models/_tags_info.html.erb | 9 +++++++++ manyfold/usr/src/app/app/views/models/show.html.erb | 6 +++--- manyfold/usr/src/app/config/initializers/xrforge.rb | 1 - 7 files changed, 24 insertions(+), 11 deletions(-) diff --git a/manyfold/root/hook.d/experience_updated/1000-scan-dir.sh b/manyfold/root/hook.d/experience_updated/1000-scan-dir.sh index 89bd61d..2136f8c 100755 --- a/manyfold/root/hook.d/experience_updated/1000-scan-dir.sh +++ b/manyfold/root/hook.d/experience_updated/1000-scan-dir.sh @@ -1,5 +1,7 @@ #!/bin/sh -cd "$(dirname $1)" +dir="$(dirname $1)" +cd "$dir" echo "[v] scan (new) files of model" id="$(basename "$dir" | sed 's/\#//g')" -echo "Model.find(id).add_new_files_later()" | /usr/src/app/bin/rails console +cd /usr/src/app +echo "Model.find($id).add_new_files_later()" | /usr/src/app/bin/rails console diff --git a/manyfold/root/hook.d/experience_updated/300-package_janusxr.rb b/manyfold/root/hook.d/experience_updated/300-package_janusxr.rb index 2adc350..98c29b7 100755 --- a/manyfold/root/hook.d/experience_updated/300-package_janusxr.rb +++ b/manyfold/root/hook.d/experience_updated/300-package_janusxr.rb @@ -99,7 +99,7 @@ begin # tag it! if ! data['keywords'].include?('janusxr') data['keywords'].push('janusxr') - File.write(file_path, JSON.pretty_generate(data) ) + File.write("datapackage.json", JSON.pretty_generate(data) ) end rescue Errno::ENOENT diff --git a/manyfold/root/hook.d/experience_updated/300-package_mml.rb b/manyfold/root/hook.d/experience_updated/300-package_mml.rb index e9d2a35..b220507 100755 --- a/manyfold/root/hook.d/experience_updated/300-package_mml.rb +++ b/manyfold/root/hook.d/experience_updated/300-package_mml.rb @@ -74,7 +74,7 @@ begin # tag it! if ! data['keywords'].include?('mml') data['keywords'].push('mml') - File.write(file_path, JSON.pretty_generate(data) ) + File.write("datapackage.json", JSON.pretty_generate(data) ) end rescue Errno::ENOENT diff --git a/manyfold/usr/src/app/app/components/model_card.rb b/manyfold/usr/src/app/app/components/model_card.rb index 94a13e9..fad29e4 100644 --- a/manyfold/usr/src/app/app/components/model_card.rb +++ b/manyfold/usr/src/app/app/components/model_card.rb @@ -108,9 +108,12 @@ class Components::ModelCard < Components::Base div class: "col" do #open_button #whitespace - a alt: "start a meeting at this location", href: ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/janusxr.html", target: "_blank", class: "btn btn-secondary btn-sm" do - i class: "bi bi-telephone" - end + if ! @model.tags.where(name: "singleuser" ).any? + a alt: "start a meeting at this location", href: ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/janusxr.html", target: "_blank", class: "btn btn-secondary btn-sm" do + i class: "bi bi-telephone" + img src: "/assets/janusxr.svg", style: "width: 16px; margin-left: 7px; transform: translate(0px,-2px);" + end + end whitespace status_badges @model end diff --git a/manyfold/usr/src/app/app/views/models/_tags_info.html.erb b/manyfold/usr/src/app/app/views/models/_tags_info.html.erb index 93ad7d2..5731212 100644 --- a/manyfold/usr/src/app/app/views/models/_tags_info.html.erb +++ b/manyfold/usr/src/app/app/views/models/_tags_info.html.erb @@ -29,4 +29,13 @@ Metaverse Markup Language (MML) is an open markup language used to define experiences. + + + singleuser + + + This disables multiuser mode (the button).
+ Set this tag for experiences (meditation, personal productivity space) which are better off without multiple users. + + diff --git a/manyfold/usr/src/app/app/views/models/show.html.erb b/manyfold/usr/src/app/app/views/models/show.html.erb index 9f0c960..65e21b5 100644 --- a/manyfold/usr/src/app/app/views/models/show.html.erb +++ b/manyfold/usr/src/app/app/views/models/show.html.erb @@ -85,7 +85,7 @@ <% if @model.tags.where(name: "janusxr" ).any? %> - + <% @@ -161,7 +161,7 @@ This is the build log of XR Forge.
When you add files, they are processed, validated (for XR Fragment compliance).
- <% render 'models/tags_info' %> + <%= render 'models/tags_info' %>
@@ -238,7 +238,7 @@
  - <% render 'models/tags_info' %> + <%= render 'models/tags_info' %>
diff --git a/manyfold/usr/src/app/config/initializers/xrforge.rb b/manyfold/usr/src/app/config/initializers/xrforge.rb index dbe37d2..e060d90 100644 --- a/manyfold/usr/src/app/config/initializers/xrforge.rb +++ b/manyfold/usr/src/app/config/initializers/xrforge.rb @@ -2,7 +2,6 @@ # why: the database-write are sometimes chatty/duplicated. # therefore it ratelimits and prevents processing unchanged files. -require 'pp' require 'digest' Rails.application.config.to_prepare do