#development

1 messages · Page 155 of 1

indigo peak
#

you don’t ask a specific admin + you need projects for the role

tepid olive
#

my resume is filled to the brim buddy

indigo peak
tepid olive
#

you dont wanna know.

placid kraken
#

probably words

#

if i had to guess

tepid olive
#

words that start with E

indigo peak
tepid olive
#

and end with strogen

brazen timber
brazen timber
placid kraken
#

nono php in 2024 is actually good

indigo peak
tepid olive
#

php 8 >>>>>

placid kraken
#

ive seen it its literally just typescript but with $ everywhere

tepid olive
brazen timber
#

also who said typescript is good

tepid olive
#

inb4 api max char limit

tepid olive
brazen timber
#

get help

slim bramble
tepid olive
#

i mean just,

'You are a chatbot. Here's our previous messages: ........ You should not mention them again rather refer to them'

or something

placid kraken
tepid olive
#

javascript is ruined

slim bramble
#

TS is horrific

#

PHP is worse

#

a lot more

#

and JS is just weird

young meteor
#

imagine making such a shit language, that people make another language that compiles to that language, instead of actually using said language

slim bramble
#

fr

#

microsoft :

#

microsoft are the specialists

#

TS and C#

tepid olive
#

if you use JS frameworks just admit you suck at JS

sonic totem
#

How can I solve a duplicate symbols error

#

This is the most annoying thing ever

slim bramble
#

Wait

#

life or death question

#

Sw*ft or objc

sonic totem
#

ObjC/C

slim bramble
#

send your include

#

that causes issues

#

or simply

#

ctrl + f

#

find include

#

replace by "import"

sonic totem
#

I fixed it

placid kraken
tepid olive
#

tbf all ive seen is just horrors

placid kraken
#

although js frameworks do hide away a lot of the internals of whats going on

#

if you want to write good code you still need to know how the abstractions work

tepid olive
#

cant rely on frameworks to do the heavy lifting

#

still gotta know your shit

#

web development is cool but holy shit has everyone reinvented the wheel too many times

#

for no reason either, unnecessary fragmentation just creates some sort of power creep when it comes to fucking FRAMEWORKS

#

stick with vanilla JS and jquery yall at least you'll learn

placid kraken
#

sometimes i reimplement stock js methods from scratch to really get how they work

tepid olive
#

i fucking love php

placid kraken
#

ive written my own Map, Set, all the array methods like forEach, map, filter, reduce, etc

#

theyre not as fast as the stock implementation because im working in ts and not.. c++ or whatever their ones are written in

#

but they have the same functionality

tepid olive
placid kraken
#

lmao yea idk too much about php syntax

tepid olive
#

pretty syntaxically similar to js, gets pretty advanced and powerful the more you go

#

the docs are one of the best ive seen tbf

placid kraken
#

stuff like this is fun to write

function pipe<T extends unknown, U extends ((arg: T) => T)[]>(initialValue: T, ...functions: U) {
    let result = initialValue;

    for (const callback of functions) {
        result = callback(result);
    }

    return result;
}

pipe(
    3,
    x => x * 2,
    x => x + 1,
    x => x * 100
);
tepid olive
#

ion know what allat does

placid kraken
#

its a pipe function

hexed knot
#

Dude its 2024 whose using vanilla js

placid kraken
#

you pass in an initial value and then you get the result of the previous callback in the next callback

tepid olive
hexed knot
#

Have fun getting a job with that

#

Im sure youre well sought for

tepid olive
#

if your income is through a variant of javascript i actually feel bad for you

hexed knot
#

??

#

Thats what a web developer is?

#

Feel bad for them all you want but atleast theyre making money unlike you

placid kraken
tepid olive
#

web development is very much capable with vanilla php/js, dont use some shit frameworks to do the heavy lifting for you while you fail to understand the core fundamentals of it. if you actually know wtf is going on you can do it all yourself :3

hexed knot
#

Sure but thats not what employers are looking for

tepid olive
#

employers are looking for people who know their shit

#

if youre employed by the language you write in, wow

hexed knot
#

And their shit is not vanilla js

placid kraken
hexed knot
#

Nobody uses vanilla js

placid kraken
#

the last thing we need is ANOTHER framework

tepid olive
placid kraken
#

still another framework

#

youd be much better off learning the ins and outs of solid or svelte

#

i will not recommend react because react sucks

tepid olive
placid kraken
#

tbf christian is kinda right

hexed knot
#

Ok good talk

placid kraken
#

syntax for creating elements in vanilla js is absolutely horrible

tepid olive
#

jquery is all you need trust

#

everyone knows jquery

#

right

#

right???

placid kraken
#

i mean do what you like we wont stop you but dont expect help when your snippets are 50 of these

var textBox1 = document.createElement("input");
textBox1.type = "text";
textBox1.placeholder = "Search with Google or enter Address";
textBox1.style.display = "block";
textBox1.style.margin = "10px auto";
textBox1.style.width = "80vw";
textBox1.style.color = '#aaa';
textBox1.style.placeholderColor = '#aaa';
textBox1.style.background = '#333';
textBox1.style.border = 'none';
textBox1.style.padding = '10px 10px';
textBox1.style.fontSize = '20px';
textBox1.style.borderRadius = '10px';
textBox1.style.boxShadow = '0 0 5px rgba(0, 0, 0, 0.5)';
textBox1.style.transition = 'background-color 0.3s ease';
textBox1.style.textAlign = 'center';
textBox1.style.outline = 'none';
``` (i hope noone still writes it like this, i pray)
tepid olive
#

make a class goddamn

#

css

tepid olive
# placid kraken tbf christian is kinda right

limiting yourself to whatever the 'meta' of programming is is pretty fucking dumb if you can do the same if not more with whatever you manage cook up yourself. i mean holy shit js/jquery been around for such a long time why would you just stick with the one framework thats being used for a year and being replaced by the next thing?
all your work GONE meanwhile you couldve been hackin away at making your own shit with the fact that you actually know whats happening. if a job wont hire you because you dont use RandomAssFramework simply go elsewhere

hexed knot
#

Jobs look for someone who can learn their tools

placid kraken
#

either way my point is that even if you use frameworks, to use them correctly you need to know how js works in general

import modules from './modules';
import { storages } from '@handlers/state';

const { React } = modules.common;

/**
 * @description Implements raw statefulness to a storage key-value pair.
 * @param {string} key - The key to access from the storage.
 * @param {storages} store - The store to get the value from with the key provided
 * @return {get, set} - Getting and setting the LocalStorage value statefully.
 * @example - const [query, setQuery] = useStorageValue<boolean>('someOption', 'preferences');
 */
export const useStorageValue = <T = any>(key: string, store: keyof typeof storages) => {
    const [value, setValue] = React.useState<T>(storages[store].get(key));

    React.useLayoutEffect(() => {
        storages[store].set(key, value);
    }, [value]);

    return [value, setValue] as const;
};
hexed knot
#

Employers dont adapt for you, you adapt for them

tepid olive
hexed knot
#

Then dont start learning js with frameworks?

placid kraken
#

the only people who are like this are the people who pursuit to program simply for the money only

#

and those people dont get very far because theyre lacking core skills

tepid olive
#

abysmal

placid kraken
#

this isnt my code i took it from a random project i found a few days ago

#

but yeah

tepid olive
#

does it NEED to be done with JS?

hexed knot
#

Its an example my brother

tepid olive
#

im aware

#

i dont get the point tho i very rarely see styling outside of class assignment

placid kraken
#

HOWEVER if your code is using constructs such as jsx (which most frameworks are these days)

export function Row({ label, sublabel, trailing, extra, centerTrailing = true, backgroundColor = '--palette-light-blue-20' }: RowProps) {
    return <>
        <div 
            style={commonStyles.merge(x => [
                x.flex, x.row, styles.common,
                {
                    justifyContent: 'space-between',
                    background: `var(${backgroundColor})`
                }
            ])}
        >
            <div style={{ marginBlock: '0.5em', flexGrow: 1, flexBasis: 0 }}>
                {typeof label === 'string' ? <TextWithMaths 
                    text={label}
                    element='h4'
                /> : label}
                {typeof sublabel === 'string' ? <TextWithMaths
                    text={sublabel} 
                    style={{ margin: 0, padding: 0 }}
                /> : sublabel}
            </div>
            <div style={centerTrailing ? commonStyles.merge(x => [x.flex, x.column, x.justify]) : {}}>
                {trailing}
            </div>
        </div>
        {extra && (<>
            <Dividers.Small />
            
            <div style={merge(x => [x.common, { background: `var(${backgroundColor})` }])}>
                {extra}
            </div>
        </>)}
    </>;
}
``` you can think about how your component is going to work a lot more abstractly, instead of being stuck to think down to the exact attributes that youre applying to a bunch of elements you can think of it as a tree
#

its a more structured and clean paradigm imo

#

yea this too ^^^

#

state management in vanilla js sucks and if you end up installing a reducer library youre essentially just making a framework lol

native dune
#

astro best framework

placid kraken
#

what does vue's syntax look like? is it just kinda xml?

#

i only like jsx because i can embed JS (like ternaries) inside of the return value and render things conditionally

indigo peak
#

@placid kraken how do I get enmity on jailbreak

#

enmity.app doesn’t exist anymore 💀

radiant idol
#

what is a /usr/lib/libobjc-trampolines.dylib

#

weird

placid kraken
#

ill ask eternal to host the apt repo on unbound.rip

#

oh that's not bad syntax

#

can you put js inside

#

i mean like, if you were to make an iifc to render a specific component like

return <div>
  {{(() => {
    return <h1>hello world</h1>
  })()}}
</div>
``` could you do it
#

fair enough i guess

tepid olive
hexed knot
#

I like vue and next js

placid kraken
#

does v-if work like the inside of an if expression? like can you put v-if="typeof someVariable === 'string' && !isExploding"????

indigo peak
tepid olive
placid kraken
tepid olive
#

ultimate brainrot

hexed knot
#

js

tepid olive
placid kraken
#

lol why whats wrong with it

tepid olive
#

yeah guys hes right we should all use obj-c

radiant idol
#

WHY IS IT INSIDE OF A STRING

#

?????

placid kraken
#

ok that part i agree with it feels a little icky but im sure you could get used to it

hexed knot
#

Because thats how it was implemented

placid kraken
#

its inside of a string because its a html attribute

#

and those are all strings

radiant idol
#

no

#

criminal

icy escarp
#

thats awesome tysm also love how you store the prefs by creating/deleting the file lol

placid kraken
#

you could always call eval on that string with the scope it should be called in and then get a boolean to pass into if()

#

which is what im assuming it does

radiant idol
acoustic imp
#

what did i just see

placid kraken
#

are there vsc plugins to get syntax highlighting in the attribute strings?

#

lmao i think this is a prime example of needing to know how js works internally

import { exfiltratedModules } from './data';
import exfiltrate from './exfiltrate';

import { CommonModules } from '@azalea/types';

export const common = new Proxy({}, {
    get(target, prop) {
        return new Proxy(target[prop] ?? {}, {
            get(_, moduleProp) {
                return target[prop]?.[moduleProp];
            }
        });
    }
}) as CommonModules;

// Load modules by exfiltrating them through Object.prototype
Object.entries(exfiltratedModules).forEach(([name, mdl]) => {
    exfiltrate(mdl.prop, mdl.filter)
        .then(res => Object.assign(common, { [name]: res }));
});

// Use common[mdl] on its own only if you are *100%* sure that the module exists when you `get` any properties.
// If you are loading early, use await lazyDefine(() => common[mdl]) to wait for the module to be found.
export default { exfiltrate, common };

you need to get the real global by exfiltrating it via setting a payload on Object.prototype so that when the object you want is created, it will have the props of the object in the exfiltration and you can get it (as its a client mod)

so therefore, in components, if you wanted to render something you would first have to dots const React = await lazyDefine( () => modules.common.React, r => typeof r.useContext === 'function' && typeof r.createElement === 'function' ); to get React and THEN you can consume, it instead of just```ts
import modules from '@core/modules';
const { React } = modules.common;


with the double proxy, it ensures that at runtime when components need to call React.createElement, it doesnt reference the React at the top of the file (which is undefined at the point of importing) but rather the React that is currently stored at that value in the modules.common object, so when you call React.createElement it dynamically gets the current value after exfiltration
#

and exfiltrate works like this

function exfiltrate(prop: string, filter?: ((self: any) => boolean) | null) {
    const protoKey = Symbol(prop);
    let reachedProto = false;

    return new Promise((res) => {
        Object.defineProperty(Object.prototype, prop, {
            configurable: true,
            enumerable: false,

            set(v) {
                if (this === Object.prototype) {
                    reachedProto = true;
                    Object.prototype[protoKey] = v;
                    return;
                }

                Object.defineProperty(this, prop, {
                    configurable: true,
                    writable: true,
                    enumerable: true,
                    value: v,
                });

                if (!filter || filter(this)) {
                    res(this);
                    if (!reachedProto) delete Object.prototype[prop];
                }
            },

            get() {
                return this[protoKey];
            },
        });
    });
};
#

its a promise that resolves if it ever finds the object with the specified key and filter

#

the result is grabbing the modules from a production website

#

not quite discord but yes a react project

#

that has always been where the react dispatcher lives

#

ive messed with it in the past

#

you can actually override the "stock" hooks like useState and stuff to force components to render outside of a react context

#

(bypassing the rule of hooks error)

#

the components wont actually render but you can get access to their pseudo-return value

#

you cant actually import that global in a bundling context in React either

#

you have to specifically import React from 'react'

#

and then you can ```ts
const ReactDispatcher = (React as any).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
const originals = keys.map(e => [e, ReactDispatcher[e]]);

#

you also wont have types because this isnt in the react typedef its internal

#

im sure vue has something like this

#

this is less of a global and more of a webpack module but i know what you mean

#

well my exfiltration method doesnt actually take advantage of webpack it would work for any framework

#

as long as you can import Vue from 'vue' or similar this should work

#

yeah makes sense

#

react leaves traces all over the place tbf

#

i wrote this

/**
 * Finds a React component (if any) by its HTMLNode through React fibers.
 * @param {HTMLNode} element
 * @param {number} traverseUp
 * @returns ReactElement | null
 */
const findReact = <T extends Element>(element: T | null, traverseUp = 0) => {
    if (!element) return null;

    const key = Object.keys(element).find(key => {
        return key.startsWith('__reactFiber$')
            || key.startsWith('__reactInternalInstance$')
            || key.startsWith('__reactContainer$');
    }) ?? '';

    const elementFiber = element[key];

    if (!elementFiber) return null;
    if (key.startsWith('__reactContainer$')) return elementFiber;

    if (elementFiber._currentElement) {
        let computedFiber = elementFiber._currentElement._owner;

        for (let i = 0; i < traverseUp; i++) {
            computedFiber = computedFiber._currentElement._owner;
        }

        return computedFiber._instance;
    }

    const getComputedFiber = fiber => {
        let parentFiber = fiber.return;

        while (parentFiber && typeof parentFiber.type === 'string') {
            parentFiber = parentFiber.return;
        }

        return parentFiber;
    };

    let computedFiber = getComputedFiber(elementFiber);

    for (let i = 0; i < traverseUp; i++) {
        computedFiber = getComputedFiber(computedFiber);
    }

    return computedFiber;
};

export default findReact;
#

which takes in a HTML node and accesses the internal react fibers through it

#

so you can get its state and component definition as long as its a component and not a pure node

#

which also means you can patch it :>

#

it gives you all of this stuff

#

..aka just the internals of the component lol

#

ah fair enough

tepid olive
#

UHMMM

placid kraken
#

is it __vue__ even for the root??

placid kraken
tepid olive
#

tf

#

oh it works now all of a sudden

#

that was weird

placid kraken
#

ah

#

interesting

#

vue 3 seems completely different internally to what i know about frameworks

lyric heron
icy escarp
#

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)updateAll, (CFStringRef)@"dev.no5up.cameracontrol.update", NULL, CFNotificationSuspensionBehaviorCoalesce) is sending me into safemode?

#

help appreciated

radiant idol
#

idk i might be stupid but

#
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)updateAll, CFSTR("dev.no5up.cameracontrol.update"), NULL, CFNotificationSuspensionBehaviorCoalesce)

try this

hasty ruin
#

yeah was gonna say that

radiant idol
#

also make sure updateAll is defined

hasty ruin
#

or at least a bridged cast to cfstringref

icy escarp
#

okay can updateall be a void func lol

hasty ruin
#

yeah thats fine

icy escarp
#

is it because im hooking CoreFoundation maybe

sacred cosmos
#

What are yall's dev environments like? Do you actually work on a mc, or use a virtual machine or smth?

slim bramble
#

Kali 💀

sacred cosmos
icy escarp
#

i was ususing debian but i just could not get stuff to work idk

slim bramble
sacred cosmos
#

I don't wanna commit something everytime I wanna build, especially if it has an error compiling

slate isle
#

is there a way to get udid from the command line or through a tweak?

slim bramble
slate isle
#

but i want it to be compatable with all the devices

slim bramble
#

Oh you want to make a tweak out of it

#

?

#

@slate isle

slate isle
faint stag
#

some are in uikitools-extra

#

i didn't know of this one was lol

faint stag
torn cloud
#

@sacred cosmos kvm exists intjstage

sacred cosmos
faint stag
#

you can just access it over the network if you're just using bridged networking for example
it requires some configuration, of course

#

and you should probably set that up so you can just ssh into the vm instead of using the terminal with no graphics accel

sacred cosmos
#

How can I make my dev folder accessible over the network?

#

Ive used ftp, but its not a great solution

faint stag
sacred cosmos
#

I'll try syncthing

#

messed around with it before

faint stag
acoustic imp
faint stag
acoustic imp
#

thats what i have

sacred cosmos
#

(arch linux btw)

#

lmao

#

get filtered

acoustic imp
#

ik smh

#

r u using OSX-KVM

sacred cosmos
#

yeah

acoustic imp
#

nice, i am to

#

just be carful tho

#

for me

torn cloud
acoustic imp
#

it curupts

#

sm

sacred cosmos
#

I'm using libvirt with it

#

just makes it a lot more streamlined for me

acoustic imp
#

i couldnt get it working agony

sacred cosmos
#

damn

acoustic imp
torn cloud
#

my mac is old

sacred cosmos
#

I have a 2008 macbook pro lmao

acoustic imp
#

i mean i got a 2011 mbp

#

so

sacred cosmos
#

should I try installing sonoma

acoustic imp
#

yes

#

core 2 duo?

sacred cosmos
#

yeah

acoustic imp
#

nice

torn cloud
#

2015 MacBook Pro 16gb ram i7 quad core

sacred cosmos
#

"shit"

torn cloud
acoustic imp
torn cloud
#

I’ll get it sorted for you

acoustic imp
#

ship the ssd 💯

torn cloud
sacred cosmos
#

Got a free ssd at microcenter and threw it into the 2008

torn cloud
#

i repair a lot of shit

#

i work at a shop

sacred cosmos
#

It's crazy how much of a difference an ssd makes

acoustic imp
torn cloud
acoustic imp
#

they dont have them there right

torn cloud
#

yh

#

it’s annoying

sacred cosmos
acoustic imp
#

ah

torn cloud
#

we have to ship everything so it costs a dozen

acoustic imp
#

rip

torn cloud
#

but tbf my shop already has like 100+ ssds lying around somewhere

#

and i get to use them if i need them

acoustic imp
#

dam

torn cloud
acoustic imp
#

yes

torn cloud
#

discounted price

acoustic imp
#

i have none 🥲

torn cloud
#

what state r u in

acoustic imp
#

Coneticut

torn cloud
#

?

acoustic imp
#

near nyc

torn cloud
#

ah

#

ok uh

torn cloud
#

£40 at the least

acoustic imp
#

its fine lol

sacred cosmos
#

Might as well buy a new one at that point

acoustic imp
#

i got bestbuys around me and amazon

torn cloud
#

with a paki inside

#

they’ll give you amazing price

acoustic imp
#

pakistanian ?

torn cloud
acoustic imp
#

ah

torn cloud
#

paki is a slur kind of

#

but i can say it

acoustic imp
#

oh mb

sacred cosmos
#

I got smb to work

acoustic imp
#

cool

#

u can also do make do THEOS_DEVICE_IP=urdeviceip

sacred cosmos
#

Though It wants some kind of domain

acoustic imp
#

and it will install

acoustic imp
#

@torn cloud do u have flex?

torn cloud
#

why?

acoustic imp
#

i need to see if sm exist on ios 14

torn cloud
acoustic imp
#

huh no

#

if a property exists on the music player

torn cloud
#

oh 💀

#

what does it stand for

acoustic imp
#

sm = some

#

smth = somthing

torn cloud
torn cloud
#

not that hard

acoustic imp
#

im USAian

torn cloud
#

fair enough

torn cloud
acoustic imp
#

im stupid i can use header files nvm

acoustic imp
#

we r small town

torn cloud
acoustic imp
#

😭

sacred cosmos
#

and yes, I have set a root password

acoustic imp
#

us have to go to like /var/jb/etc/ssh and find the ssh config file and find the thing thats like permit root login, and make sure its NOT commented out and is yes

sacred cosmos
#

k

indigo peak
acoustic imp
#

sum = the sum of two things

#

gota use context for sm

acoustic imp
#

yep that

sacred cosmos
#

Didn't do shit lmao

acoustic imp
#

now

hexed knot
#

Sm does not mean some

acoustic imp
#

killall ssh

#

and try again

sacred cosmos
#

I had it like that far long ago

indigo peak
indigo peak
#

just use total

#

do you also think mf means my friend

#

bf = before
bf = boyfriend
bf = breakfast

hexed knot
#

If someone says “sum like that” i think its pretty obvious they dont mean the answer to addition

sacred cosmos
#

Yeah, same issue after restarting sshd

acoustic imp
#

did u set root psw ?

sacred cosmos
#

Yeah

acoustic imp
#

u sure ?

sacred cosmos
#

literally is doesntmatter1234

#

yeah

acoustic imp
#

k

#

one sec

hexed knot
sacred cosmos
#

I saw something about the login keyring or smth not being updated

#

tried running what it wanted but didnt do anything

#

gave me an error

acoustic imp
#

@sacred cosmos did u chnage ssh_... or sshd_... ?

sacred cosmos
#

thats the daemon

#

for the server

acoustic imp
#

try doing ssh

sacred cosmos
#

no line about root logins

acoustic imp
#

mine looks like this

sacred cosmos
#

Ill try adding it manually ig

#

UNIX authentication refused fr

#

I'll just transfer them manually

acoustic imp
#

wrong psw

sacred cosmos
#

nuh uh

acoustic imp
sacred cosmos
#

Whats the command to change root password without needing root password

#

with sudo

acoustic imp
#

uhh

#

u cant

#

sudo passwd root

#

i think

faint lionBOT
#

Hey @sacred cosmos, have a look at this!

shellaccess

Changes to shell logins

When you jailbreak for the first time, using a rootless jailbreak, you will be asked to set a password for the mobile user.

This is because logging in as the root user directly is deprecated. You must use the sudo command to elevate permissions. This also applies for logging in over SSH.

  • Running sudo <command> will run your command as the root user when authenticated.
  • Running sudo -i will give you a shell with root-level permissions.

This does not mean you can write anywhere in the root filesystem.

If you'd like to change this password after it has been set on a rootless jailbreak, run passwd mobile in a terminal.

Rootful jailbreaks will keep the password as the default (alpine) for both accounts. If you'd like to change a specific one, run passwd <username>

Please see /tag sshsftp for instructions on how to SSH.

faint stag
#

man

acoustic imp
#

me ?

sacred cosmos
#

Could I theoretically overwrite the master.passwd file with a new crypt function?

faint stag
#

root login is deprecated (at least with a password)
just copy your keys instead

acoustic imp
#

works for me thishowitis

faint stag
#

besides that would be easier then typing your password every time

acoustic imp
#

keys dont work for me

#

never have

faint stag
#

skill issue

sacred cosmos
#

IT WORKED LMAO

#

THE CRYPT FUNCTION WORKED

acoustic imp
#

sudo passwd root would have worked to

sacred cosmos
#

It requires the old password

faint timber
acoustic imp
#

it requires the mobile useres password

sacred cosmos
#

It says old password

acoustic imp
#

still doesnt work

faint stag
#

key auth is enabled by default anyway

acoustic imp
faint stag
#

?

sacred cosmos
acoustic imp
sacred cosmos
#

all that for nothing lmao

acoustic imp
#

🙈

sacred cosmos
#

yeah, it works now

#

Thanks for the help!

acoustic imp
#

np

faint timber
#

PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

acoustic imp
#

# Function to set up passwordless SSH login from Mac to phone
setup_ssh() {
    # Generate SSH key if not already present
    if [ ! -f ~/.ssh/id_rsa ]; then
        ssh-keygen -t rsa
    fi

    # Copy public key to phone
    if ssh-copy-id "$phone_user@$phone_ip_address" &> /dev/null; then
        echo "SSH key copied successfully."
    else
        echo "Failed to copy SSH key. Manually copy the public key to your phone."
    fi

    # Ensure correct permissions
    ssh "$phone_user@$phone_ip_address" 'chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys'
}

# Main
read -p "Enter the username on your phone: " phone_user
read -p "Enter the IP address or hostname of your phone: " phone_ip_address

echo "Setting up passwordless SSH login from your Mac to your phone..."
setup_ssh

echo "Done."``` this is what chat got wrote and it works on my laptop so idk
faint stag
#

why do you need chatgpt for that

#

it's one command

acoustic imp
#

bc i was second guessing my self

faint stag
#

also here's the windows (powershell) equivalent if anyone cares
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@host "cat >> .ssh/authorized_keys"

sacred cosmos
#

K this dev environment actually works really well

#

thanks to everyone that helped!

sonic totem
#

Anyone know which framework I need to link for MCMAppContainer?

faint stag
#

private ofc

sonic totem
#

I remember there being a public framework

#

But maybe I imagined it

faint stag
#

i think there's also an entitlement for that, if you need to use it with a binary

#

but you'd know that cause, trollstore lol

acoustic imp
#

is there an entitlement to like allow in-app purchases?

faint stag
#

i mean, in app purchases are done through storekit

#

idk how that works exactly tho

sonic totem
#

In this case I don't have arbitrary entitlements

#

I can manage without anyways the functions that uses MCM weren't essential

faint stag
acoustic imp
#

mobile game hax

faint stag
#

you're already hooking methods so you don't even need all that

#

lol

acoustic imp
#

but it doesnt work

faint stag
#

not mentioning names but it already works jailed

#

lmao

acoustic imp
#

now i cant open the apps choicy config

#

it crashes settings wth

vivid dew
#

good.

acoustic imp
#

Choicy crashing ?

faint stag
#

(i forgot what the prefs look like anyway)

naive kraken
acoustic imp
acoustic imp
#

?

acoustic imp
#

Oh, anything I can do ?

naive kraken
#

no

acoustic imp
#

So it’s just broke forever

naive kraken
#

it's probably one of your tweaks

#

where it crashes when parsing it's library or something

acoustic imp
#

Ok, so just disable all for prefs ?

#

That worked

faint stag
#

bru

#

why are you surprised it doesn't work

#

you know that the app can still check if a purchase was actually made right

#

like, with a server and all

lusty jacinth
#

For all supercell games

faint stag
radiant idol
#

?

#

oh

#

yes

faint stag
#

the joke

radiant idol
#

very

lean ermine
#

is share sheet springboard or something else

#

getting lag opening the sharesheet and not sure where to disable tweaks to

faint stag
placid kraken
#

try flora first i've had reports about it

#

im gonna fix it tomorrow hopefully

acoustic imp
#

Even in safe mode it’s slow asf

placid kraken
#

oh hm

#

maybe springboard then i remember that was what first caused it to take ages for me

lean ermine
lean ermine
#

annoying

#

devs fix plox

acoustic imp
#

They can’t do anything

placid kraken
#

oh so its not even a flora thing???

#

wtf

#

i havent investigated yet i thought it was because mine is also super slow

#

no no thats not what i mean

lean ermine
placid kraken
lean ermine
#

well lemme try uninstalling flora and see

acoustic imp
#

It’s jus dopa

placid kraken
#

i always fix bugs that appear, i thought it was a flora thing because mine is slow too but i guess not

acoustic imp
#

no it’s a JB bug

placid kraken
#

yep

lean ermine
#

sad

placid kraken
#

ooooooooh opa !!!!!!!! (daily unnecessary opa ping #417)

faint stag
#

gotta go see what eksafemode does again

#

cause it can still be due to ellekit

acoustic imp
#

?

#

Oh

lean ermine
#

could be

placid kraken
acoustic imp
#

Yes

faint timber
#

chmod 0666 /var/jb/usr/lib/TweakInject

faint stag
#

then not inject anything else

lean ermine
#

disabling tweak injection through dopa settings gives the same behaviour after ldrestart

tepid olive
#

@native orbit I request some zig assistance

#
    note: while parsing /Users/sora/theos/vendor/lib/iphone/rootless/CydiaSubstrate.framework/CydiaSubstrate.tbd```
lean ermine
#

now opening sharesheet gives the same slow behaviour

faint stag
#

what are you using to build

tepid olive
#

It links the SDK's tbds fine

tepid olive
#

you did mean linker, right

faint stag
#

yeah

tepid olive
#

yeah so that

faint stag
tepid olive
#

oh

#

that might be it hold on

#

no nevermind

#

I mean

#

the SDK doesn't use rpath

slim bramble
tepid olive
#

wdym

slim bramble
faint stag
tepid olive
#

good call

#

lol

faint stag
#

so i mean, look at that if you want

restive ether
#

why would you even use this it’s archived anyways

slim bramble
#

That’s all I have to say

#

That is self explanatory

tepid olive
tepid olive
#

the zld I'm talking about

#

is zig's linker

faint stag
#

oh i cannot read today smh

acoustic imp
#

what the thing thats like layoutsubviewsifneeded ?

tepid olive
acoustic imp
#

or is it ifNeededLayoutSubviews ?

#

nvm

faint stag
#

it expects the file path in the tbd to be ending in .dylib

#

at least that's what it seems like

#

all of the ones in the sdk do

tepid olive
#

that can't be right because the SDK's tbds don't have install-name ending in .dylib

faint stag
#

i mean, i can just look at any random framework tbd and all i see are dylib

tepid olive
#
tbd-version:     4
targets:         [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
install-name:    '/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary'
exports:
  - targets:         [ armv7-ios, armv7s-ios ]
    symbols:         [ _ALAssetPropertyExternalUsageIntent ]
  - targets:         [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
    symbols:         [ _ALAssetLibraryDeletedAssetGroupsKey, _ALAssetLibraryInsertedAssetGroupsKey, 
                       _ALAssetLibraryUpdatedAssetGroupsKey, _ALAssetLibraryUpdatedAssetsKey, 
                       _ALAssetPropertyAssetURL, _ALAssetPropertyDate, _ALAssetPropertyDuration, 
                       _ALAssetPropertyEditorBundleID, _ALAssetPropertyLocation, 
                       _ALAssetPropertyOrientation, _ALAssetPropertyRepresentations, 
                       _ALAssetPropertyType, _ALAssetPropertyURLs, _ALAssetTypePhoto, 
                       _ALAssetTypeUnknown, _ALAssetTypeVideo, _ALAssetsGroupPropertyName, 
                       _ALAssetsGroupPropertyPersistentID, _ALAssetsGroupPropertyRepresentativeEndDate, 
                       _ALAssetsGroupPropertyRepresentativeLocationNames, _ALAssetsGroupPropertyRepresentativeStartDate, 
                       _ALAssetsGroupPropertyType, _ALAssetsGroupPropertyURL, _ALAssetsLibraryChangedNotification, 
                       _ALAssetsLibraryErrorDomain, _ALErrorInvalidProperty ]
    objc-classes:    [ ALAsset, ALAssetRepresentation, ALAssetsFilter, ALAssetsGroup, 
                       ALAssetsLibrary ]
...
#

random one

#
archs:           [ armv7, armv7s, arm64, arm64e ]
platform:        ios
install-name:    '@rpath/CydiaSubstrate.framework/CydiaSubstrate'
current-version: 0.0.0
compatibility-version: 0.0.0
exports:
  - archs:            [ armv7, armv7s, arm64, arm64e ]
    symbols:          [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
                        _MSGetImageByName, _MSHookClassPair, _MSHookFunction,
                        _MSHookMemory, _MSHookMessageEx, _MSImageAddress,
                        _MSMapImage ]
...
#

this one is substrate's

faint stag
tepid olive
faint stag
#

try that for example then

tepid olive
#

oh no

#

I'm not

#

but I am linking libSystem.tbd

#

lemme check that

faint stag
#

libsystem is a dylib, i know that for sure

tepid olive
#

that ends in .dylib

#

I'm also linking libObjc

#

that ends in .dylib

#

I'm also linking Foundation

#

that doesn't end in .dylib

faint stag
#

where is foundation again

#

the tbd i mean

tepid olive
#

/System/Library/Frameworks/Foundation.framework/Foundation.tbd or smthing like that

faint stag
tepid olive
#

oh

faint stag
#

it exists as libobjc.A.dylib

tepid olive
#

it compiles perfectly fine

faint stag
tepid olive
#

no

#

but neither am I using any ellekit symbols

#

/substrate

tepid olive
faint stag
#

i mean i'd assume a decent linker would just not try to link if it doesn't encounter any definitions to symbols

#

at least with this tbd stuff

lean ermine
#

is there a tweak that fixes that bug where your screen cant go past half brightness lol

indigo peak
#

can i take the disassembler from windows ida crack and put it on mac ida free

#

is that like

#

a thing

restive ether
lean ermine
restive ether
#

yeah

lean ermine
#

seems to be irrelevant to screen temps anecdotally, i haven't noticed any warm temps increasing brightness when it wont let me

#

usually it happens when my screen is already low brightness

#

i believe u tho

restive ether
#

that’s generally what it is in my experience

indigo peak
#

@grave sparrow i went to the gym today and me n my friend were talking about ios development and some dude came up to us and was like "you guys are ios software engineers? i work at spotify"

#

it was so cool

#

just in my home town

hasty ruin
#

🤓

tepid olive
#

this is logos: ```objc
#import <UIKit/UIKit.h>
#import <Preferences/PSSpecifier.h>
%hook PSUIPrefsListController
-(NSArray *)specifiers {
if(MSHookIvar<NSArray *>(self, "_specifiers")) return %orig;
NSArray *specs = %orig;
for(int i = 0; i < [specs count]; i++) {
PSSpecifier *spec = specs[i];
if([spec.identifier isEqualToString:@"PASSCODE"]) {
[spec setDetailControllerClass: NSClassFromString(@"PSUIPearlPasscodeController")];
break;
}
}
MSHookIvar<NSArray *>(self,"_specifiers") = [specs mutableCopy];
return specs;
}
%end

#

this is that same thing in zig: ```zig
const std = @import("std");
const objc = @import("zig-objc");
const helpers = @import("helpers.zig");
const substrate = @import("objc-c");
var ogviewdidload: *const fn (self: substrate.id) callconv(.C) void = undefined;
const __init: [*c]fn () callconv(.C) void linksection("__DATA,__mod_init_func") = &init;
const ogspecifiers: [*c]fn (substrate.id, substrate.SEL) callconv(.C) substrate.id = undefined;
export fn specifiers(selfraw: substrate.id, _cmd: substrate.SEL) callconv(.C) substrate.id {
const self = objc.Object.fromId(selfraw);
if (self.getInstanceVariable("_specifiers")) return ogspecifiers(selfraw, _cmd);
const specs = objc.Object.fromId(ogspecifiers(selfraw, _cmd));
for (0..@as(usize, specs.getProperty(c_long, "count"))) |i| {
const spec = specs.msgSend(objc.Object, "objectAtIndex:", .{@as(c_long, i)});
const identNS = spec.getProperty(objc.Object, "identifier");
const ident: [:0]const u8 = identNS.getProperty([:0]const u8, "UTF8String");
if (std.mem.eql([:0]const u8, ident, "PASSCODE")) {
spec.msgSend(void, "setDetailControllerClass:", .{objc.getClass("PSUIPearlPasscodeController")});
break;
}
}
self.setInstanceVariable("_specifiers", specs.msgSend(objc.Object, "mutableCopy", .{}));
return specs.value;
}
export fn init() callconv(.C) void {
substrate.MSHookMessageEx(objc.getClass("PSUIPrefsListController").?.value, objc.sel("specifiers").value, @ptrCast(&specifiers), @ptrCast(&ogspecifiers));
}

tepid olive
#

ok tbf it could be improved if I made a better library for objc in zig

slim bramble
tepid olive
#

make a functional good tweak in Zig

slim bramble
#

I’d rather write a tweak in assembly

tepid olive
#

have fun with that

lime pivot
#

bro has iOS gym buddies

acoustic imp
#

where can i get high-quality device cutouts?

tepid olive
#

now I need to figure out how to package it and see if it works

acoustic imp
placid kraken
acoustic imp
placid kraken
#

on each cutout

#

theyre very high res

faint stag
#

ok i'll have to admit that's easier lol

acoustic imp
#

@faint stag facebook has device cutouts wth

faint stag
#

ofc they do

acoustic imp
#

and what did u google?

#

bc when i tried it just came up with the IOS 16 object lift thing

faint stag
#

the keyword is "mockup"

placid kraken
#

^

faint stag
#

tbh some of the other stuff they have for design are pretty interesting

indigo peak
#

makes sense

#

Uhhhh hit shouldnt

graceful gate
#

Cursed code 💀

- (NSInteger)iosPlayerClientSharedConfigTransportControlsSeekForwardTime {
    NSArray *values = @[@"%orig", @10, @20, @30, @60];
    NSInteger seekTime = currentSeekTime();

    return (seekTime == 0) ? [values[0] integerValue] : [values[seekTime] integerValue];
}
hasty ruin
#

what the fuck

#

Also what’s the need for the ternary? Why not just return the latter in all cases

acoustic imp
#

@radiant idol what font does jade use for promo pics

radiant idol
#

SF Pro

acoustic imp
#

u got the font handy ?

#

like ttf file thing

radiant idol
#

n0

acoustic imp
#

fuc u apple

#

time to bust out the mac VM

#

why do i need to install it 😭

graceful gate
#

lol

acoustic imp
radiant idol
#

me on macos:

acoustic imp
#

right

#

jade inspired

#

@slim bramble hm

acoustic imp
radiant idol
#

ima just say that you're better at dev than design

native dune
#

yeahhhh

acoustic imp
#

1-10 how bad is it

hexed knot
#

I hope its not actually that pixelated

acoustic imp
#

its a ss

young meteor
#

will it work on my iphone 2g

restive ether
#

you need a better image then lol

tepid olive
#

I just need to link mobilesubstrate

#

And then it should work

hasty ruin
hexed knot
#

Hello developers

#

Does frida work on rootless

timid garden
#
  • notched iphone
  • non-notched iphone
  • ipad
#

is honestly enough to convery the message

hasty ruin
hexed knot
#

Like normal?

#

Same repo and everything

hasty ruin
#

Mhm

hexed knot
#

Ok thx

drifting heron
#

could an icloud backup possibly include appstore logins data or is that local?

#

only one way to find out ig

#

yeah rip

placid kraken
#

im sorry

queen ruin
#

You can’t use functions in a view like that

#

Well, a function is run after some trigger

#

What is your trigger

#

Then why do you have a view for that

#

You can just call the function directly when the messages is sent

#

View is only what you show on screen

#

Yeah

#

No need to use view to run functions

#

You technically could but it’s just a waste of power

indigo peak
#

looks good

radiant idol
#

rewrite in objc please

indigo peak
#

objc master race

hasty ruin
#

objc master race

torn cloud
#

objc master race

#

wait whose that dev who says objcfordeprevation

radiant idol
#

sw*ft sucks ‼️

tepid olive
#

What what’s wrong with zig

torn cloud
#

objc master race

tepid olive
#

Are we gonna be anti-zig now

radiant idol
#

show us some zig tweak code

#

lets see it

#

yea

tepid olive
#

It’s a smaller binary size than the smaller code though

indigo peak
torn cloud
#

imagine hating objc

tepid olive
#

It’s a smaller binary size than the objc logos version so

indigo peak
#

should I try to make a tweak in Java

radiant idol
#

no.

tepid olive
torn cloud
radiant idol
#

stop

torn cloud
#

please no

tepid olive
#

You need the JRE

indigo peak
indigo peak
#

idk what repo

#

but it does exist

tepid olive
#

You can do it in kotlin though, in fact kotlin directly supports objc

indigo peak
#

bc I hosted a Minecraft server on my phone before

tepid olive
#

Zig is different because it compiles to native code

#

It’s basically rust but better for compatibility because it’s directly compatible with C

tepid olive
radiant idol
#

smh

#

weirdo

tepid olive
#

Why

#

The binary output is almost 1 third of the same exact thing written in objc

torn cloud
#

can't get my server to work smh

lean ermine
#

modern iphones are easily capable of this lol

queen ruin
#

@indigo peak look at your dms pleeeaaaaase

indigo peak
#

will do

queen ruin
#

Yay

radiant idol
#

@indigo peak look at your dms pleeeaaaaase

indigo peak
radiant idol
#

its sunday

torn cloud
#

mashallah

indigo peak
radiant idol
#

yes

#

I have

indigo peak
#

W

radiant idol
#

yes

#

now if you'll excuse me i have to go yell at jb detection code

tepid olive
#

@faint stag so, remember that issue I was having

#

I fixed it

#

zig expects a format like:

#
--- !tapi-tbd
tbd-version:    4
targets:        [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name:    '@rpath/CydiaSubstrate.framework/CydiaSubstrate'
current-version: 0.0.0
compatibility-version: 0.0.0
exports:
  - targets:          [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
    symbols:          [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
                        _MSGetImageByName, _MSHookClassPair, _MSHookFunction,
                        _MSHookMemory, _MSHookMessageEx, _MSImageAddress,
                        _MSMapImage ]
...
#

basically targets instead of archs and platform

torn cloud
#

@granite frigate it's time troll

#

i'm actually gonna bootloop so hard

tepid olive
torn cloud
#
iPhone:~ root# cd /sbin
iPhone:/sbin root# chmod +x launchd_arm64
iPhone:/sbin root# ./launchd_arm64
zsh: killed     ./launchd_arm64

anyone know why the binary is getting killed as soon as i execute it?

#

wait nvm i forgot to scp the haxx binary over 😭

tepid olive
#

wait

#

do dylibs need to be signed with ldid to be able to be injected

torn cloud
tepid olive
#

oh lmao

#

that explains why it wasn't injecting ;-;

torn cloud
#

lol

tepid olive
#

ldid -S file should do the trick, right

torn cloud
#

yes

tepid olive
#

gotcha

#

still isn't injecting

torn cloud
#

i'm dumb

tepid olive
kind herald
torn cloud
#

last time i did that i bootlooped

kind herald
#

trolled

torn cloud
#

checkm8 device supremity

#

i just booted into a ramdisk and reverted changes

#

anyway i'm gonna try this tommorow if i'm still not ill

frail cedar
tepid olive
#
{ Filter = { Bundles = ( "com.apple.springboard", "com.apple.Preferences" ); }; }
frail cedar
#

that is not a plist

tepid olive
#

it's the same one theos uses wdym

frail cedar
#

that's not xml

radiant idol
#

that is xml

frail cedar
#

i've never seen it that way then

radiant idol
#

its NeXTSTEP style XML

frail cedar
#

oh

#

good xml then

#

why did apple switch to html style

radiant idol
#

idk

tepid olive
#

here's otool -L output

#
    @rpath/libmeniscus.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1971.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1971.0.0)
    /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 1690.5.4)
    @rpath/CydiaSubstrate.framework/CydiaSubstrate (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)```
frail cedar
#

look fine

tepid olive
#

can otool list sections

#

here's otool -l output

#

wait a minute

#

__DATA,__mod_init_func is missing wtf

#

well I have to manually link it into the section though

#

zig doesn't have __attribute__((constructor))

midnight pagoda
tepid olive
#

lovely

#
    if (self.getInstanceVariable("_specifiers").value != 0) return ogspecifiers(selfraw, _cmd);
                                                                   ~~~~~~~~~~~~^~~~~~~~~~~~~~~
#

I can work around it though

#
const ogspecifiers: *const fn (substrate.id, substrate.SEL) callconv(.C) substrate.id = @ptrCast(&stub);
#

this is definitely a good solution

#

okay I got the format to actually look right

#

with __mod_init_func

#

hopefully it works now

#

it still isn't injecting wtf

native orbit
#

@tepid olive check the first 8 bytes of __TEXT, sometimes zig will put random bytes there when targeting ios and idk why lol

native orbit
#

yeah so it just gets killed right away

#

you have to nop them out

midnight pagoda
tepid olive
#

the stub type doesn't matter

#

it shouldn't ever be called

tepid olive
#

those are the first 8 bytes

timid furnace
#

are they the first 8 bytes of __TEXT?

tepid olive
timid furnace
#

what offset?

tepid olive
#

oh wait wrong thing lmao

timid furnace
#

yea

tepid olive
#

I knew that looked like the macho magic

#
0000000000000830 a9be4ff4 a9017bfd 90000053 91024273 ```
acoustic imp
#

how do i show an alert after device was unlocked and on the HS?

native orbit
tepid olive
#

maybe

#

I mean should it be the start of the segment or section

#

__text or __TEXT

harsh junco
#

How do I build something that has Package.swift

bleak jolt
#

Hello, I am trying to build MitsuhaForever, but while building the ASSWatchdog subproject I get an error.

#

I also tried using dragon but the DragonMake file is completely wrong, it seems to be outdated

tepid olive
#

its looking for a file you dont have

bleak jolt
#

I tried that but had no luck, that seems like even more of a mess:SSS

#

I will persist

tepid olive
#

you do make install with libhooker?

bleak jolt
#

I tried make - but on linux the build fails entirely

timid furnace
#

uh

bleak jolt
#

I have not yet tried to build on mac

timid furnace
#

remove this

#

it will compile

bleak jolt
#

lol

timid furnace
#

or at least get past that error

bleak jolt
#

Then the linking fails, because it can't find the references to libhooker:/

timid furnace
#

remove the references to libhooker

#

don't really need it

#

just make it unconditionally use MSHookFunction

bleak jolt
#

You have a point

#

Thanks!!!

#

Didn't think of that

native orbit
tepid olive
#

soooo who broke theos install script

next wadi
#

use luz

#

ez

#

true...

acoustic imp
#

how do i tel whats causing a respring hang?

next wadi
#

console

indigo peak
next wadi
indigo peak
#

gm jaidan

#

hru

next wadi
#

how you doin

#

im good other than the sad news but yk

#

hbu

indigo peak
#

yeah same

acoustic imp
#

What’s this mean ?

next wadi
#

whatever you're injecting to ATDeviceMessageLink is crashing i think

acoustic imp
#

whats ATDeviceMessageLink?

acoustic imp
tepid olive
kind herald
#

"Build Ding rootless"

faint stag
#

lmao

tepid olive
#

bad script

faint stag
#

no, good script

tepid olive
faint stag
#

it checks if the command exits 0

#

it did not exit 0

tepid olive
faint stag
#

but at the same time brew will periodically update for you instead of just installing what you requested

tepid olive
#

so i need some jank ahh workaround

harsh junco
#

@snow python uhh could you please provide missing files from asteroid's source 🥺
cat .gitignore
`reversedWeather/
weatherassets/

Makefile

Sources/Asteroid14/validate
control
Asteroid14.plist`

tepid olive
#

bro

faint stag
#

brew probably has a flag to skip updating? idk

tepid olive
tepid olive
#

no i dont

#

id rather not touch anything considering it just broke over time

faint stag
#

just set HOMEBREW_NO_AUTO_UPDATE=1 in env

tepid olive
#

jank ahh workaround spotted

#

sigh

hasty ruin
#

send it in #jb so he can’t delete it

tepid olive
#

no

#

github actions: ruined

faint stag
tepid olive
#

errrrrm. no

tepid olive
kind herald
#

What

tepid olive
#

thought you were looking at dleovl/ding

kind herald
#

trolled

tepid olive
#

ripped the building yml from there

snow python
#

You should be able to build it with a minor tweak without any of those files

tepid olive
#

fuckin knew it

#

love you midnightchips

sacred cosmos
#

clyxos@virtualmac tweak % make -j4

Making all for tweak tweak…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64e)…
==> Linking tweak tweak (arm64e)…
ld: warning: -multiply_defined is obsolete
ld: warning: ignoring duplicate libraries: '-lc++'
ld: building for 'iOS', but linking in dylib (/Users/clyxos/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for 'iOS-simulator'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/iosdev/tweak/.theos/obj/debug/arm64e/tweak.dylib] Error 1
make[2]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/iosdev/tweak/.theos/obj/debug/arm64e/tweak.dylib] Error 2
make[1]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/Users/clyxos/theos/makefiles/master/rules.mk:152: tweak.all.tweak.variables] Error 2
clyxos@virtualmac tweak % Getting this error no matter what tweak I compile. Things compiled before I used xcode-select to change to the regular xcode app. Does anyone know a solution to this issue?

timid furnace
#

update theos

sacred cosmos
#

It's already up to date

timid furnace
#

cat $THEOS/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd

sacred cosmos
# timid furnace ```cat $THEOS/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd```

'clyxos@virtualmac tweak % cat $THEOS/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd

archs: [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
platform: ios
install-name: /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate
current-version: 0.0.0
compatibility-version: 0.0.0
exports:

  • archs: [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
    symbols: [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
    _MSGetImageByName, _MSHookClassPair, _MSHookFunction,
    _MSHookMemory, _MSHookMessageEx, _MSImageAddress,
    _MSMapImage ]
    ...
    clyxos@virtualmac tweak %
    '
timid furnace
#

it's not

#

update theos

sacred cosmos
#

yuh huh

timid furnace
#
git rev-parse HEAD
cd $THEOS/vendor/lib
git rev-parse HEAD```
#

should print two commit hashes

sacred cosmos
#

7c6621efb4d78378eef6ddd55d4b285072c309ee

113e0cd132df53649a6bbee2572b2d39fd2beaa1

kind herald
#

my ass thought those were havoc codes

timid furnace
sacred cosmos
timid furnace
#

git pls

#

y u do dis

#

ok

git submodule update --init --recursive
git status```
sacred cosmos
#

discords mad at me because my message is too long

#

oh yeah