・起動時に通知のストリーミングにつながらない不具合を修正
+
ThinkingDeskラベル
++ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
/, "\n");
html = html.replace(/<\/p>/, "\n");
- console.log(html);
+ console.log("Copy it:\n"+html);
html = html.replace(//g, "$1");
html=$.strip_tags(html);
if(execCopy(html)){
@@ -505,7 +504,7 @@ function trans(tar,to){
}
$("#toot-this .additional").text("Loading...(Powered by Google Translate)");
var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to
- console.log(exec);
+ console.log("Try to translate from "+tar+" to "+to+" at "+exec);
fetch(exec, {
method: 'GET',
}).then(function(response) {
diff --git a/app/js/tl/dm.js b/app/js/tl/dm.js
index 657b0d3a..92bf4fe0 100644
--- a/app/js/tl/dm.js
+++ b/app/js/tl/dm.js
@@ -57,7 +57,6 @@ function dmmore(tlid){
}
//DMオブジェクトパーサー(トゥート)
function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) {
- console.log(obj);
var templete = '';
if(obj[0]){
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
diff --git a/app/js/tl/filter.js b/app/js/tl/filter.js
index e1030a08..319ddde6 100644
--- a/app/js/tl/filter.js
+++ b/app/js/tl/filter.js
@@ -114,7 +114,6 @@ function filter(){
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -127,7 +126,6 @@ function filter(){
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
if (json) {
var filters = "";
Object.keys(json).forEach(function(key) {
@@ -167,7 +165,6 @@ function makeNewFilter(){
if($("#conv_filter:checked").val()){
cont.push("thread");
}
- console.log(cont);
if(!cont.length){
$("#filtered-words").html('Error:'+lang.lang_filter_errordegree);
}
@@ -235,7 +232,6 @@ function filterEdit(id,acct_id){
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters/"+id
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -248,7 +244,6 @@ function filterEdit(id,acct_id){
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
if (json) {
var now = new Date() ;
now = now.getTime() ;
@@ -297,7 +292,6 @@ function getFilter(acct_id){
var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/filters"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -341,7 +335,6 @@ function filterUpdate(acct_id){
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
diff --git a/app/js/tl/list.js b/app/js/tl/list.js
index 109dee45..6e5eb977 100644
--- a/app/js/tl/list.js
+++ b/app/js/tl/list.js
@@ -40,7 +40,6 @@ function list(){
});
}else{
var start = "https://" + domain + "/api/v1/lists"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -75,7 +74,6 @@ function makeNewList(){
var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/lists"
- console.log(start)
var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -93,7 +91,6 @@ function makeNewList(){
}
}else{
var start = "https://" + domain + "/api/users/lists/create"
- console.log(start)
var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -119,7 +116,6 @@ function listUser(id,acct_id){
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/lists/"+id+"/accounts"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -149,7 +145,6 @@ function hisList(user,acct_id){
var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/lists"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -175,7 +170,6 @@ function hisList(user,acct_id){
}
});
var start = "https://" + domain + "/api/v1/accounts/"+user+"/lists"
- console.log(start)
fetch(start, {
method: 'GET',
headers: {
@@ -245,7 +239,6 @@ function listAdd(id,user,acct_id){
account_ids: [user]
}
}
- console.log(start)
var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -277,7 +270,6 @@ function listRemove(id,user,acct_id){
account_ids: [user]
}
}
- console.log(start)
var httpreq = new XMLHttpRequest();
httpreq.open(method, start, true);
httpreq.setRequestHeader('Content-Type', 'application/json');
diff --git a/app/js/tl/misskeyparse.js b/app/js/tl/misskeyparse.js
index 3a8c7040..e5fcc35c 100644
--- a/app/js/tl/misskeyparse.js
+++ b/app/js/tl/misskeyparse.js
@@ -857,7 +857,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
//オブジェクトパーサー(ユーザーデータ)
function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
- console.log(obj)
+ console.log(["Parse them ",obj])
if (popup > 0 || popup == -1) {
} else {
@@ -984,15 +984,14 @@ function connectMisskey(acct_id) {
localStorage.setItem("misskey_wss_" + acct_id, wsid);
misskeyws[wsid] = new WebSocket(start);
misskeyws[wsid].onopen = function (mess) {
- console.log(tlid + ":Connect Streaming API:"+domain);
- console.log(mess);
+ console.table({"tlid":tlid,"type":"Connect Streaming API","domain":domain,"message":[mess]})
misskeywsstate[wsid]=true
//$("#notice_icon_" + tlid).removeClass("red-text");
var send='{"type":"connect","body":{"channel":"main","id":"notf:'+acct_id+'"}}'
misskeyws[wsid].send(send)
}
misskeyws[wsid].onmessage = function (mess) {
- console.log(acct_id + ":Receive Streaming API:");
+ console.log([domain + ":Receive Streaming API:",data]);
var data=JSON.parse(mess.data)
var obj=data.body.body
@@ -1010,7 +1009,7 @@ function connectMisskey(acct_id) {
templete = misskeyUserparse([obj.body], 'notf', acct_id, 'notf', popup);
}
if(JSON.parse(mess.data).body.type=="reaction"){
- console.log("refresh")
+ console.log("reaction refresh")
reactRefresh(acct_id,obj.body.note.id)
}
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.body.id+"]").length){
@@ -1048,7 +1047,6 @@ function connectMisskey(acct_id) {
jQuery("time.timeago").timeago();
}else if (data.type == "noteUpdated") {
if(data.body.type=="reacted"){
- console.log(data.body.id)
reactRefresh(acct_id,data.body.id)
}else if(data.body.type=="deleted"){
$("#pub_"+data.body.id).hide();
@@ -1058,15 +1056,14 @@ function connectMisskey(acct_id) {
}
}
misskeyws[wsid].onerror = function (error) {
- console.error("Error closing");
+ console.error("Error closing "+tlid);
console.error(error);
misskeywsstate[wsid]=false
connectMisskey(acct_id)
return false;
};
misskeyws[wsid].onclose = function () {
- console.log("Closing");
- console.log(tlid);
+ console.warn("Closing "+tlid);
misskeywsstate[wsid]=false
connectMisskey(acct_id)
return false;
diff --git a/app/js/tl/mix.js b/app/js/tl/mix.js
index 7b2ea0e0..63126a0e 100644
--- a/app/js/tl/mix.js
+++ b/app/js/tl/mix.js
@@ -1,6 +1,5 @@
//Integrated TL
function mixtl(acct_id, tlid, type,delc,voice) {
- console.log(delc);
localStorage.removeItem("morelock")
localStorage.setItem("now", type);
todo("Integrated TL Loading...(Local)");
@@ -94,21 +93,18 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
websocketLocal[wslid] = new WebSocket(startLocal);
websocketHome[wshid].onopen = function(mess) {
localStorage.setItem("wssH_" + tlid, wshid);
- console.log(tlid + ":Connect Streaming API(Integrated:Home)");
- console.log(mess);
+ console.table({"tlid":tlid,"type":"Connect Streaming API(Integrated:Home)","domain":domain,"message":mess})
$("#notice_icon_" + tlid).removeClass("red-text");
}
websocketLocal[wslid].onopen = function(mess) {
localStorage.setItem("wssL_" + tlid, wslid);
- console.log(tlid + ":Connect Streaming API(Integrated:Local)");
- console.log(mess);
+ console.table({"tlid":tlid,"type":"Connect Streaming API(Integrated:Local)","domain":domain,"message":mess})
$("#notice_icon_" + tlid).removeClass("red-text");
}
websocketLocal[wslid].onmessage = function(mess) {
- console.log("Receive Streaming API:(Integrated:Local)");
+ console.log(["Receive Streaming API:(Integrated:Local)",obj]);
var obj = JSON.parse(JSON.parse(mess.data).payload);
- console.log(obj);
var type = JSON.parse(mess.data).event;
if (type == "delete") {
if(delc=="true"){
@@ -145,10 +141,8 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
}
}
websocketHome[wshid].onmessage = function(mess) {
- console.log("Receive Streaming API:(Integrated:Home)");
-
+ console.log(["Receive Streaming API:(Integrated:Home)",obj]);
var obj = JSON.parse(JSON.parse(mess.data).payload);
- console.log(obj);
var type = JSON.parse(mess.data).event;
if (type == "delete") {
if(del>10){
@@ -211,7 +205,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
}
};
websocketLocal[wslid].onclose = function() {
- console.log('WebSocketLocal Closing:' + tlid);
+ console.warn('WebSocketLocal Closing:' + tlid);
if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Closed');
@@ -224,8 +218,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
}
};
websocketHome[wshid].onerror = function(error) {
- console.error('WebSocketHome Error')
- console.error(error);
+ console.error(['WebSocketHome Error',error])
if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Error ' + error);
@@ -238,7 +231,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
}
};
websocketHome[wshid].onclose = function() {
- console.log('WebSocketHome Closing:' + tlid);
+ console.warn('WebSocketHome Closing:' + tlid);
if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Closed');
diff --git a/app/js/tl/notification.js b/app/js/tl/notification.js
index 0808ac90..55ee6390 100644
--- a/app/js/tl/notification.js
+++ b/app/js/tl/notification.js
@@ -147,7 +147,7 @@ function notfCommon(acct_id, tlid, sys) {
}
}
fetch(start, i).then(function(response) {
- console.log(response.headers.get('link'));
+ console.log("header to get param:"+response.headers.get('link'));
return response.json();
}).catch(function(error) {
todo(error);
@@ -218,25 +218,20 @@ function notfWS(misskey,acct_id,tlid,domain,at){
var start = wss + "/api/v1/streaming/?stream=user&access_token=" +
at;
- console.log(start);
var wsid = websocketNotf.length;
websocketNotf[acct_id] = new WebSocket(start);
- console.log(websocketNotf);
websocketNotf[acct_id].onopen = function(mess) {
- console.log("Connect Streaming API(Notf):");
- console.log(mess);
+ console.table({"acct_id":acct_id,"type":"Connect Streaming API(Notf)","domain":domain,"message":[mess]})
$("i[data-notf=" + acct_id +"]").removeClass("red-text");
}
websocketNotf[acct_id].onmessage = function(mess) {
- console.log("Receive Streaming API(Notf):"+acct_id);
+ console.log(["Receive Streaming API(Notf):"+acct_id+"("+domain+")",JSON.parse(JSON.parse(mess.data).payload)]);
var popup = localStorage.getItem("popup");
if (!popup) {
popup = 0;
}
- console.log(domain)
var obj = JSON.parse(JSON.parse(mess.data).payload);
- console.log(obj);
var type = JSON.parse(mess.data).event;
if (type == "notification") {
var templete="";
@@ -264,8 +259,7 @@ function notfWS(misskey,acct_id,tlid,domain,at){
}
//一定のスクロールで発火
function notfmore(tlid) {
- console.log(moreloading);
- console.log("kicked");
+ console.log({"status":"kicked","status":moreloading});
var multi = localStorage.getItem("column");
var obj = JSON.parse(multi);
var acct_id = obj[tlid].domain;
@@ -308,7 +302,7 @@ function notfmore(tlid) {
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response;
- console.log(json);
+ console.log(["More notifications on "+tlid,json]);
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
if(json[0]){
var templete="";
@@ -392,12 +386,10 @@ function notfCanceler(acct){
$(".notf-icon_" + acct).removeClass("red-text");
}
function allNotfRead(){
- console.log(localStorage.getItem("notf-fav_2"));
var multi = localStorage.getItem("multi");
if (multi) {
var obj = JSON.parse(multi);
Object.keys(obj).forEach(function(key) {
- console.log(key);
notfCanceler(key)
});
}
diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js
index b72cec21..3e481e07 100644
--- a/app/js/tl/parse.js
+++ b/app/js/tl/parse.js
@@ -3,7 +3,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var templete = '';
if(obj[0]){
if(tlid===1){
- console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
+
}
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
}
@@ -886,7 +886,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
var datetype = localStorage.getItem("datetype");
Object.keys(obj).forEach(function(key) {
var toot = obj[key];
- console.log(toot)
+ console.log(["Parsing",toot])
if(!toot.username){
var raw=toot;
toot=toot.account;
diff --git a/app/js/tl/poll.js b/app/js/tl/poll.js
index 8803a10c..041e06fe 100644
--- a/app/js/tl/poll.js
+++ b/app/js/tl/poll.js
@@ -25,13 +25,12 @@ function pollCalc(){
var days=$("#days_poll").val();
var hrs=$("#hours_poll").val();
var mins=$("#mins_poll").val();
- console.log(days*86400+hrs*3600+mins*60)
+ console.log("Poll calc:"+days*86400+hrs*3600+mins*60)
return days*86400+hrs*3600+mins*60;
}
//Vote
function voteSelMastodon(acct_id,id,to,mul){
- console.log('.vote_'+acct_id+'_'+id+'_'+to);
if($('.vote_'+acct_id+'_'+id+'_'+to).hasClass("sel")){
$('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","transparent")
$('.vote_'+acct_id+'_'+id+'_'+to).removeClass("sel");
@@ -95,7 +94,7 @@ function voteMastodonrefresh(acct_id,id){
httpreqd.onreadystatechange = function() {
if (httpreqd.readyState == 4) {
var json = httpreqd.response;
- console.log(json);
+ console.log(["Refresh vote",json]);
if(!json){
return false;
}
diff --git a/app/js/tl/speech.js b/app/js/tl/speech.js
index 87f9df11..d057c473 100644
--- a/app/js/tl/speech.js
+++ b/app/js/tl/speech.js
@@ -33,7 +33,6 @@ $repeat = setInterval(function() {
var obj = JSON.parse(voice);
if(obj[0]){
$synthes.text = obj[0];
- console.log($synthes);
speechSynthesis.speak($synthes);
obj.splice(0, 1);
var json = JSON.stringify(obj);
diff --git a/app/js/tl/src.js b/app/js/tl/src.js
index f788afe7..0cf98a60 100644
--- a/app/js/tl/src.js
+++ b/app/js/tl/src.js
@@ -31,7 +31,7 @@ function src(mode) {
}else{
var start = "https://" + domain + "/api/v1/search?q=" + q
}
- console.log(start)
+ console.log("Try to search at "+start)
fetch(start, {
method: 'GET',
headers: {
@@ -44,7 +44,7 @@ function src(mode) {
src("v1")
return false;
}).then(function(json) {
- console.log(json);
+ console.log(["Search",json]);
//ハッシュタグ
if (json.hashtags[0]) {
var tags = "";
@@ -83,14 +83,13 @@ function tsAdd(q){
var obj = JSON.parse(multi);
localStorage.setItem("card_" + obj.length,"true");
obj.push(add);
- console.log(obj);
var json = JSON.stringify(obj);
localStorage.setItem("column", json);
parseColumn();
}
function tootsearch(tlid,q){
var start = "https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=" + q
- console.log(start)
+ console.log("Toot srrach at "+start)
$("#notice_" + tlid).text("tootsearch("+q+")");
$("#notice_icon_" + tlid).text("search");
fetch(start, {
@@ -106,13 +105,10 @@ function tootsearch(tlid,q){
}).then(function(raw) {
var templete="";
var json=raw.hits.hits;
- console.log(json);
var max_id = raw["hits"].length;
for(var i=0;i
");
console.error(error);
}).then(function(json) {
- console.log(json);
if(!json[0]){
- console.log("No data");
+ console.warn("No suggestions(recommend) data");
templete=lang.lang_details_nodata+"("+lang.lang_hisdata_frcwarn+")
";
}else{
var templete = userparse(json,'',acct_id);
@@ -608,7 +607,6 @@ function showMat() {
var acct_id=$("#his-data").attr("use-acct");
full=full.split("@");
var start = "https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-filtered-api.cgi?"+full[1]+"+" + full[0];
- console.log(start);
fetch(start, {
method: 'GET',
headers: {
@@ -621,7 +619,6 @@ function showMat() {
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
var templete="";
Object.keys(json).forEach(function(key) {
var user = json[key];
diff --git a/app/js/userdata/prof-edit.js b/app/js/userdata/prof-edit.js
index 3b6d7bdf..cc8cbab0 100644
--- a/app/js/userdata/prof-edit.js
+++ b/app/js/userdata/prof-edit.js
@@ -30,7 +30,7 @@ function imgChange(imgfile, target) {
var acct_id = $('#his-data').attr("use-acct");
todo("アップロードしています")
if (!imgfile.files.length) {
- console.log("No Img");
+ console.warn("No Image to upload");
return;
}
var file = imgfile.files[0];
@@ -52,7 +52,6 @@ function imgChange(imgfile, target) {
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response;
- console.log(json);
$('#his-data').modal('close');
todc();
localStorage.removeItem("image");
diff --git a/app/js/userdata/showOnTL.js b/app/js/userdata/showOnTL.js
index f639d41e..f1e21884 100644
--- a/app/js/userdata/showOnTL.js
+++ b/app/js/userdata/showOnTL.js
@@ -19,7 +19,7 @@ function udgEx(user,acct_id){
if(acct_id=="main"){
acct_id = localStorage.getItem("main");
}
- console.log(user);
+ console.log("Get user data of "+user);
var domain = localStorage.getItem("domain_" + acct_id);
if(localStorage.getItem("mode_" + domain)=="misskey"){ return false; }
var at = localStorage.getItem("acct_"+ acct_id + "_at");
@@ -36,7 +36,6 @@ function udgEx(user,acct_id){
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
if(json.accounts){
var id=json.accounts[0].id;
udg(id,acct_id);
@@ -52,7 +51,6 @@ function udg(user, acct_id) {
reset();
if (!user) {
user = localStorage.getItem("user-id_"+acct_id);
- console.log(user);
}
todo("User Data Loading...");
var domain = localStorage.getItem("domain_" + acct_id);
@@ -62,7 +60,6 @@ function udg(user, acct_id) {
}
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/accounts/" + user;
- console.log(start);
fetch(start, {
method: 'GET',
headers: {
@@ -75,7 +72,6 @@ function udg(user, acct_id) {
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
//一つ前のユーザーデータ
if (!localStorage.getItem("history")){
$("#his-history-btn").prop("disabled",true);
@@ -128,7 +124,6 @@ function udg(user, acct_id) {
//var tags = '#$1';
//var mens = '@$1';
//note=note.replace(/#(\S+)/gi, tags)
- console.log(note)
//note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens)
$("#his-name").html(dis_name);
$("#his-acct").text(json.acct);
@@ -215,7 +210,6 @@ function misskeyUdg(user, acct_id) {
reset();
if (!user) {
user = localStorage.getItem("user-id_"+acct_id);
- console.log(user);
}
todo("User Data Loading...");
var domain = localStorage.getItem("domain_" + acct_id);
@@ -225,7 +219,6 @@ function misskeyUdg(user, acct_id) {
}
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/users/show";
- console.log(user);
fetch(start, {
method: 'POST',
headers: {
@@ -241,7 +234,6 @@ function misskeyUdg(user, acct_id) {
todo(error);
console.error(error);
}).then(function(json) {
- console.log(json);
//一つ前のユーザーデータ
if (!localStorage.getItem("history")){
$("#his-history-btn").prop("disabled",true);
@@ -340,7 +332,6 @@ function historyShow(){
function profShow(){
var acct_id = $("#post-acct-sel").val();
var user = localStorage.getItem("user-id_"+acct_id);
- console.log("user-id_"+acct_id+":"+user);
udg(user, acct_id)
hide();
}
diff --git a/app/view/en/index.html b/app/view/en/index.html
index 2a71a329..7453bc75 100644
--- a/app/view/en/index.html
+++ b/app/view/en/index.html
@@ -665,6 +665,10 @@
・フォローリクエストの許可/拒否ができるように。
・起動時に通知のストリーミングにつながらない不具合を修正
+ ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
・起動時に通知のストリーミングにつながらない不具合を修正
+ ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
・起動時に通知のストリーミングにつながらない不具合を修正
+ ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
・起動時に通知のストリーミングにつながらない不具合を修正
+ ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。