Compare commits

...

2 Commits

Author SHA1 Message Date
9c8b922069 build: Use all the tricks to make release smaller on all the platforms.
Some checks failed
Build Tilde Friends / Build-All (push) Failing after 2m15s
2024-12-24 14:47:33 -05:00
d4b421421d ssb: prettier. 2024-12-24 14:22:24 -05:00
8 changed files with 49 additions and 32 deletions

View File

@ -208,11 +208,12 @@ $(ANDROID_TARGETS): CFLAGS += \
-Wno-unknown-warning-option -Wno-unknown-warning-option
$(ANDROID_TARGETS): LDFLAGS += --sysroot $(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC $(ANDROID_TARGETS): LDFLAGS += --sysroot $(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC
$(DEBUG_TARGETS): CFLAGS += -DDEBUG -Og $(DEBUG_TARGETS): CFLAGS += -DDEBUG -Og
$(DEBUG_TARGETS): LDFLAGS += -Og
$(RELEASE_TARGETS): CFLAGS += \ $(RELEASE_TARGETS): CFLAGS += \
-DNDEBUG \ -DNDEBUG \
-flto -flto \
$(NONANDROID_RELEASE_TARGETS): CFLAGS += -O3 -Oz
$(ANDROID_RELEASE_TARGETS): CFLAGS += -Oz $(RELEASE_TARGETS): LDFLAGS += -Oz
$(WINDOWS_TARGETS): CC = x86_64-w64-mingw32-gcc-win32 $(WINDOWS_TARGETS): CC = x86_64-w64-mingw32-gcc-win32
$(WINDOWS_TARGETS): AS = $(CC) $(WINDOWS_TARGETS): AS = $(CC)
$(WINDOWS_TARGETS): CFLAGS += \ $(WINDOWS_TARGETS): CFLAGS += \

View File

@ -121,7 +121,7 @@ class TfElement extends LitElement {
} }
next_channel(delta) { next_channel(delta) {
let channel_names = ['', '@', '🔐', ...this.channels.map(x => '#' + x)]; let channel_names = ['', '@', '🔐', ...this.channels.map((x) => '#' + x)];
let index = channel_names.indexOf(this.hash.substring(1)); let index = channel_names.indexOf(this.hash.substring(1));
index = index != -1 ? index + delta : 0; index = index != -1 ? index + delta : 0;
tfrpc.rpc.setHash( tfrpc.rpc.setHash(
@ -217,7 +217,7 @@ class TfElement extends LitElement {
let new_cache = JSON.stringify(cache); let new_cache = JSON.stringify(cache);
if (new_cache !== original_cache) { if (new_cache !== original_cache) {
let start_time = new Date(); let start_time = new Date();
tfrpc.rpc.databaseSet('about', new_cache).then(function() { tfrpc.rpc.databaseSet('about', new_cache).then(function () {
console.log('saving about took', (new Date() - start_time) / 1000); console.log('saving about took', (new Date() - start_time) / 1000);
}); });
} }
@ -543,11 +543,13 @@ class TfElement extends LitElement {
)} )}
</div> </div>
`; `;
let contents = !this.loaded || this.loading let contents =
!this.loaded || this.loading
? html`<div ? html`<div
class="w3-display-middle w3-panel w3-theme-l5 w3-card-4 w3-padding-large w3-round-xlarge w3-xlarge" class="w3-display-middle w3-panel w3-theme-l5 w3-card-4 w3-padding-large w3-round-xlarge w3-xlarge"
> >
<span class="w3-spin" style="display: inline-block">🦀</span> Loading... <span class="w3-spin" style="display: inline-block">🦀</span>
Loading...
</div>` </div>`
: this.render_tab(); : this.render_tab();
return html` return html`

View File

@ -202,18 +202,20 @@ class TfComposeElement extends LitElement {
channel: this.channel, channel: this.channel,
}; };
if (this.root || this.branch) { if (this.root || this.branch) {
message.root = this.new_thread ? this.branch ?? this.root : this.root; message.root = this.new_thread ? (this.branch ?? this.root) : this.root;
message.branch = this.branch; message.branch = this.branch;
} }
let reply = Object.fromEntries((await tfrpc.rpc.query( let reply = Object.fromEntries(
(
await tfrpc.rpc.query(
` `
SELECT messages.id, messages.author FROM messages SELECT messages.id, messages.author FROM messages
JOIN json_each(?) AS refs ON messages.id = refs.value JOIN json_each(?) AS refs ON messages.id = refs.value
`, `,
[JSON.stringify([this.root, this.branch])])).map(row => [ [JSON.stringify([this.root, this.branch])]
row.id, )
row.author, ).map((row) => [row.id, row.author])
])); );
if (Object.keys(reply).length) { if (Object.keys(reply).length) {
message.reply = reply; message.reply = reply;
} }
@ -485,9 +487,13 @@ class TfComposeElement extends LitElement {
render_new_thread() { render_new_thread() {
let self = this; let self = this;
if (this.root !== undefined && this.branch !== undefined && this.root != this.branch) { if (
this.root !== undefined &&
this.branch !== undefined &&
this.root != this.branch
) {
return html` return html`
<input type="checkbox" class="w3-check w3-theme-d1" id="new_thread" @change=${() => self.new_thread = !self.new_thread} ?checked=${self.new_thread}></input> <input type="checkbox" class="w3-check w3-theme-d1" id="new_thread" @change=${() => (self.new_thread = !self.new_thread)} ?checked=${self.new_thread}></input>
<label for="new_thread">New Thread</label> <label for="new_thread">New Thread</label>
`; `;
} }
@ -586,8 +592,7 @@ class TfComposeElement extends LitElement {
${Object.values(draft.mentions || {}).map((x) => ${Object.values(draft.mentions || {}).map((x) =>
self.render_mention(x) self.render_mention(x)
)} )}
${this.render_attach_app()} ${this.render_attach_app()} ${this.render_content_warning()}
${this.render_content_warning()}
${this.render_new_thread()} ${this.render_new_thread()}
<button class="w3-button w3-theme-d1" id="submit" @click=${this.submit}> <button class="w3-button w3-theme-d1" id="submit" @click=${this.submit}>
Submit Submit

View File

@ -216,13 +216,18 @@ class TfTabNewsElement extends LitElement {
style=${this.hash == '#🔐' ? 'font-weight: bold' : undefined} style=${this.hash == '#🔐' ? 'font-weight: bold' : undefined}
>🔐private ${this.unread_status('🔐')}</a >🔐private ${this.unread_status('🔐')}</a
> >
${Object.keys(this.drafts).sort().map(x => html` ${Object.keys(this.drafts)
.sort()
.map(
(x) => html`
<a <a
href=${'#' + encodeURIComponent(x)} href=${'#' + encodeURIComponent(x)}
class="w3-bar-item w3-button" class="w3-bar-item w3-button"
style="text-wrap: nowrap; text-overflow: ellipsis">📝 ${this.drafts[x]?.text ?? x}</a style="text-wrap: nowrap; text-overflow: ellipsis"
>📝 ${this.drafts[x]?.text ?? x}</a
> >
`)} `
)}
${this.channels.map( ${this.channels.map(
(x) => html` (x) => html`
<a <a

View File

@ -73,8 +73,10 @@ build_the_thing() {
no-whirlpool no-whirlpool
no-weak-ssl-ciphers no-weak-ssl-ciphers
no-zlib no-zlib
-Os -Oz
-DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_SMALL_FOOTPRINT
-ffunction-sections
-fdata-sections
-flto" -flto"
pwd pwd
echo "./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS" && \ echo "./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS" && \

View File

@ -29,14 +29,14 @@ do
case $build_target in case $build_target in
ios64-xcrun) ios64-xcrun)
TRIBLE="arm64-darwin-ios" TRIBLE="arm64-darwin-ios"
OPTIONS="--static -static -ffunction-sections -fdata-sections -fPIC -Wno-macro-redefined -miphoneos-version-min=9.0" OPTIONS="--static -static -Oz -ffunction-sections -fdata-sections -fPIC -Wno-macro-redefined -miphoneos-version-min=9.0"
DESTDIR="/tmp/$BUILD_DIR/arm64-ios" DESTDIR="/tmp/$BUILD_DIR/arm64-ios"
SSL_TARGET="ios64-xcrun" SSL_TARGET="ios64-xcrun"
CC=clang CC=clang
;; ;;
iossimulator-xcrun) iossimulator-xcrun)
TRIBLE="x86_64-darwin-ios" TRIBLE="x86_64-darwin-ios"
OPTIONS="--static -static -ffunction-sections -fdata-sections -fPIC -Wno-macro-redefined" OPTIONS="--static -static -Oz -ffunction-sections -fdata-sections -fPIC -Wno-macro-redefined"
DESTDIR="/tmp/$BUILD_DIR/x86_64-iossim" DESTDIR="/tmp/$BUILD_DIR/x86_64-iossim"
SSL_TARGET="iossimulator-xcrun" SSL_TARGET="iossimulator-xcrun"
CC=clang CC=clang

View File

@ -69,8 +69,10 @@ no-uplink
no-whirlpool no-whirlpool
no-weak-ssl-ciphers no-weak-ssl-ciphers
no-zlib no-zlib
-Os -Oz
-DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_SMALL_FOOTPRINT
-ffunction-sections
-fdata-sections
-flto" -flto"
pwd pwd
echo "./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS" && \ echo "./Configure $SSL_TARGET $OPTIONS $GLOBAL_OPTIONS" && \

View File

@ -56,7 +56,7 @@ build_the_thing() {
no-uplink no-uplink
no-weak-ssl-ciphers no-weak-ssl-ciphers
no-zlib no-zlib
-Os -Oz
-ffunction-sections -ffunction-sections
-fdata-sections -fdata-sections
-flto -flto