#development

1 messages Β· Page 114 of 1

radiant idol
#

capt machine better

visual meadow
#

its on waybac

#

its loading

#

the title does not show

#

that is

#

crazy

radiant idol
indigo peak
#

@radiant idol @visual meadow do you guys wanna give feedback on some new fiorewareℒ️

radiant idol
#

uh oh

visual meadow
#

yea

radiant idol
#

see but like

#

why do you remember that

indigo peak
#

he got the touch of the tism

radiant idol
#

L

#

your stupid twek is broken

#

even when i recompile it

cloud yacht
#

wow its almost like your trying to just make things work on systems they were not made to work on

radiant idol
#

yea idk whats going on

#

captware at it again

cloud yacht
#

I have a tweak that just works on like every iOS version I've tried

radiant idol
#

no its not that, your prefs are the thing thats broken

cloud yacht
#

TimeJump

radiant idol
cloud yacht
#
%hook SBFLockScreenDateView

        -(void)setDate:(NSDate *)date {
                if(enabled) {
                        NSDate *newDate = [NSDate dateWithTimeInterval:60*offset sinceDate:date];
                        %orig(newDate);
                } else {
                        %orig;
                }
        }

%end%```
#

yeah but it works on at least 10 iOS versions

radiant idol
#

libundirect

#

fr

placid kraken
#

lets play 8ball!

kind herald
radiant idol
#

fake news

cloud yacht
#

can we get some real news around here?

radiant idol
#

ok yea that captware is just broken

#

i give up :(

cloud yacht
#

just use rootless tweaks on rootless archs

radiant idol
kind herald
radiant idol
#

for rootless

#

lol

cloud yacht
#

ctrl + f / and see if theres soemthing that sound be patchesd

indigo peak
cloud yacht
#

maybe I do

primal perch
#

copied from scoop

#

and me

indigo peak
#

i made most of it without your help

kind herald
#

gameseagull on top

indigo peak
#

πŸ—£οΈπŸ—£οΈπŸ—£οΈ

kind herald
#

now ios 18 gameseagull eta

indigo peak
#

@placid kraken can you test some fiorewareℒ️

cloud yacht
#

I would test but I don't think I brought my iPad

primal perch
indigo peak
primal perch
radiant idol
#

evil procursus

#

wait

#

I deeply apologize capt

#

i was wrong

#

unfortunately it works

#

the tweak itself doesnt work but the prefs do work

#

smh

#

im not gonna ping him because i dont want him to get the satisfaction of being right

cloud yacht
#

@grave sparrow

radiant idol
#

you son of a

#

smh

#

bare;y

#

i forgor to change the postinst paths

cloud yacht
#

oh lol

radiant idol
#

yes

#

nevermind the patcher did somewhat work but uhhhhh

cloud yacht
radiant idol
cloud yacht
#

yeah I saw

#

but I was wondering how that worked

radiant idol
#

/var/mobile/var/jb/Library/Application var/jb/Support/Hazmat βœ…

cloud yacht
#

Application var, my favourite dir

radiant idol
#

looks like i have to fix my code

#

smh

native dune
#

libiosexec handles the shebangs

radiant idol
#

something bad here

indigo peak
#

yeah you wanna know whats bad about it

#

its in xcode and not vscode

native dune
#

true

radiant idol
#

thats vscode

#

just xcode theme

indigo peak
#

exactly my point

radiant idol
#

ok fair

#

now help me fix it

#

:(

cloud yacht
#

I should define paths as whatever the objc version of ['', 'var', 'mobile'].join('/') so your patcher doesn't work

radiant idol
#

you are horrible

cloud yacht
#

whats the point of even patching binaries?

radiant idol
#

wym

cloud yacht
#

like the chances of somethong not working is super high

radiant idol
#

wellllll

cloud yacht
#

and if its open source you can just recompile it

#

if its not and its not being updated, your probably shit out of luck

radiant idol
#

there's another patcher that uses *cough* symlinks *cough* and it works for most tweaks

cloud yacht
#

I guess it could be fun just to test if things work

radiant idol
cloud yacht
#

/User

radiant idol
#

uh

#

wait thats a good point

#

what would that become

#

I dont think they handle that lmfao

cloud yacht
#

webshade trolling patchers

radiant idol
#

/User
/var/
they have to be the same length

#

soooo

#

uh

cloud yacht
#

listen if for some insane reason you must have webshade on rootless, just compile it yourslef

radiant idol
#

real

native orbit
#

/////////X/Apps

cloud yacht
#

I should make a rootless to rootful patcher

#

(it would just be ln -s / /var/jb)

radiant idol
#

also its actually

#

//////XApps

#

get with the times smh

cloud yacht
#

//////TwitterApps

native dune
#

x apps

native orbit
#

new elon appstore

radiant idol
#

i think its supposed to be "XinaApps" or whatever

#

uhhhhh

#

hm

cloud yacht
#

we should just chainload a new kernal and use that to boot a new partion which is fully rw

#

oh thats why

#

I see

#

should consider \ as not a seperator

radiant idol
cloud yacht
#

idk use a regex?

radiant idol
#

i have the space there because orion has a piece of artwork there

#

with a bunch of spaces

cloud yacht
#

/(?<!\\)[ \n!#]/g

#

idk how to regex in objc

#

accounts for any \ before any of the characters

radiant idol
#

chatgpt said NSScanner

#

but i am not using NSScanner

#

never in my life

cloud yacht
#

Won't work for shell scripts that work like sh rm -rf "/Library/Application Support/dir"

radiant idol
#

why not

#

oh

#

no i still dont get it

cloud yacht
#

cause it just checks for a \ before the space

#

but the quotes make this all one

radiant idol
#

hm right

#

ok

cloud yacht
#

you could add different behaviour for shell scripts

#

and look for quotes

#

but in a whole binary, looking for quotes might be too slow

radiant idol
#

thanks to staturnz

cloud yacht
#

true

#

speaking of different arches wheats the difference between roothide and rootless

#

is it just the root path

radiant idol
#

captttttt

#

help

cloud yacht
#

just compile it from source

radiant idol
radiant idol
#
  • Emerald
  • Minotaur
  • dotto+
  • may i list more
cloud yacht
#

HAven't heard of any of those

radiant idol
#

theres no way

cloud yacht
#

also if they still work they are probably pretty simple so just reemake it

radiant idol
#

but for the end user

cloud yacht
#

meh who cares about the end user

radiant idol
cloud yacht
#

they aren't paying me

#

404 page

radiant idol
#

havoc tweakin'

cloud yacht
#

404 page

radiant idol
#

works fine on my end

#

does this load

cloud yacht
#

wow just use the ios notifcaiton center

radiant idol
#

Emerald

#
Dynastic Repo Archive

dotto+ DESIGNED BY MIRAC β€’ DEVELOPED BY CONOR With dotto+ your notification badges are replaced with minimalistic, unintrusive little dots. Customize your dots by choosing between one of 11 hand picked colors or choose your own custom color with the color picker! New in iOS 14: dotto+ now uses the...

native orbit
#

how manyh tweaks have worked now?

radiant idol
#

a fair bit

#

i know one that just wont work though

#

cough cough

cloud yacht
#

Webshade doesn't

radiant idol
#

cough cough

native orbit
#

orion and its 57 dylibs

radiant idol
radiant idol
#

im curious

cloud yacht
#

you could compile the tweak from soruce like a normal person

radiant idol
#

no

native orbit
#

idk that tweak is just an edge case that not worth digging into

radiant idol
#

ol

#

lol

#

fair enough

radiant idol
#

πŸ€“

cloud yacht
#

old tweaks
Minimum supported version is iOS 13

radiant idol
#

thats old by today's standards

cloud yacht
#

no its not

#

I'd consider maybe iOS 11 old

radiant idol
#

you're just trying to annoy me at this point

cloud yacht
#

nah

radiant idol
#

:(

cloud yacht
#

iOS 7 is for sure old

native orbit
#

ios 12 and below is legacy ngl

radiant idol
#

statur

cloud yacht
#

isn't iOS 12 the version like every iPhone supports

radiant idol
#

I request a little bit of logic help because i suck at objc

#

this is the thing that patches binary files

#

but uh

#

it has a stroke with paths that have a space

#

what to do

cloud yacht
#

regex

radiant idol
#

I refuse

cloud yacht
#

gimme the script

#

the bash script

radiant idol
#

ok

#
#!/bin/bash

su mobile -c 'mkdir -p /var/mobile/Library/Application\ Support/Hazmat'
cp -r /Library/Application\ Support/Hazmat/* /var/mobile/Library/Application\ Support/Hazmat

exit 0
cloud yacht
#

that should cover most bash scripts

#

well

#

that don't use quotes

radiant idol
#

i need ones that use quotes too

#

maximum support βœ…

cloud yacht
#

specifgically quotes with spaces

#

ok there

#

technically theres some jank bash stuff you can do this might screw up with but its rare enough you don't need to worry

#

actually

#

I can see an issue with this

radiant idol
#

we're talking about the iOS jailbreak community

cloud yacht
#

if you use quotes to have a ' in a path

radiant idol
#

"jank"applies everywhere

cloud yacht
#

ok well its more like jank you only need for some weird things

radiant idol
#

cursed

cloud yacht
#

it will mess up on that

radiant idol
#

fix it then

#

ez

cloud yacht
#

no

radiant idol
#

aw

cloud yacht
#

I will give you this though /(?:(?<=["'])\/.*?(?=['"])|\/.*?(?<!\\)[ \n'"])/g replace string /var/jb$0

faint stag
radiant idol
#

look up

cloud yacht
#

look down

faint stag
#

oh it's objc

#

but

radiant idol
#

but

#

what

hasty ruin
faint stag
#

like
is there even a method in nsstring

#

for this

radiant idol
#

wdym

#

to like

#

replace a string with another?

faint stag
#

no not the replace part

#

lol

radiant idol
#

oh

cloud yacht
#

wait maybe I can fix this case

hasty ruin
#

NSOOP

radiant idol
#

i see what you're saying

#
NSArray *strings = [controlScriptContents componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" \n!#"]];
#

but it cant recognize it if there are spaces in paths

faint stag
#

but honestly i always think of using regex when you need more advanced string manipulation

radiant idol
#

so thats annoying

faint stag
#

you can just escape spaces

#

tbh

radiant idol
#

well

#

the problem is

#

hold on

dreamy mason
#

scc dont scan .java files?

#

sadd

radiant idol
#

spaces everywhere

faint stag
#

no but
no paths are relative here

#

so just start at /

radiant idol
#

yes yes but that doesnt matter rn

#

the original Orion did usr/bin/chmod

#

so i just prepended var/jb/ to it

cloud yacht
radiant idol
#

ughhhhhhhh

#

fine

#

but I'm not happy about it

faint stag
#

if it works it works

radiant idol
#

symlinks work too

#

trolled

cloud yacht
slim bramble
cloud yacht
#

regex

radiant idol
#

he's on some regex

slim bramble
radiant idol
#

@cloud yacht

cloud yacht
radiant idol
slim bramble
cloud yacht
#

did it actually break anything?

#

no

visual meadow
#

any idea why NSBundle hook isnt working?

radiant idol
slim bramble
radiant idol
cloud yacht
#

lol

#

gimme the source

visual meadow
#

+ (NSString *)pathForResource:(NSString *)name ofType:(NSString *)ext {
    NSLog(@"test 1\n");
    if ([name isEqualToString:@"ping"] && [ext isEqualToString:@"caf"]) {
    NSLog(@"test2\n");
        return @"/path/to/new/ping.caf";
    }

    return %orig;
}```
#

nothing prints

radiant idol
#
#!/bin/sh
usr/bin/chmod 4775 /usr/bin/orion_mobileldrestart
usr/bin/chmod 4775 /usr/bin/orion_rebootuserspace
usr/bin/chmod 4775 /usr/bin/orion_cpuinfo
usr/bin/uicache --path /Applications/OrionApp.app
echo "                                       "
echo "                    @––@-_             "
echo "                          '@_          "
echo "                          /  '@_       "
echo "  @                     /'      '@     "
echo "   \                  /'         @     "
echo "@   \           @––––@                 "
echo " '\  @         /      '\               "
echo "   '@__       /         '\             "
echo "       '––@––@_           @–––.___     "
echo "               '––.__    @        '–––@"
echo "                     '––@            / "
echo "                         '–_       /'  "
echo "                            '–_  /'    "
echo "                               '@      "
echo "                                       "
echo "    Thank you for installing Orion!    "
echo "                                       "
exit 0
visual meadow
cloud yacht
#

your're doing somthing wrong

radiant idol
cloud yacht
#

oh I guess it is somewhat wrong

#

but yours is wronger

radiant idol
#

regex bad

slim bramble
visual meadow
slim bramble
#

Regex cooking

radiant idol
#

not my code

cloud yacht
#

(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\\)[ \n'"])

radiant idol
#

im tryina patch the postinst

cloud yacht
#

fixed it

radiant idol
#

and failing miserably

ashen birch
#

regex is mid anyways

ashen birch
#

fr

cloud yacht
#

the artwork can burn in a hole

radiant idol
#

fix it

slim bramble
visual meadow
#

idk why they didnt do it in springboard

faint stag
cloud yacht
#

the artwork can have /var/jb in it

radiant idol
#

no

cloud yacht
#

wait do you have logic for which paths should or shouldn't be choosen?

visual meadow
#

any idea bru

radiant idol
cloud yacht
#

with a bit of code I could jsut get the path and you could chose to replace it

cloud yacht
visual meadow
#

damn

#

hella missclick

#

nope

radiant idol
#

i refuse to use regex if i dont have to

timid furnace
cloud yacht
#

^

faint stag
#

true

cloud yacht
#

all of them

radiant idol
#

but its an escaping sequence itself

#

\w

slim bramble
#

Are you sure the daemon is up and running ? @visual meadow

timid furnace
#

\w is processed by regex

cloud yacht
#

its a sequene for regex

radiant idol
#

oh

#

right

#

oops

#

mb

cloud yacht
#

i guess \n doesn't need to be double escaped

radiant idol
#
Error creating regex: Error Domain=NSCocoaErrorDomain Code=2048 "The value β€œ(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[
'"])” is invalid." UserInfo={NSInvalidValue=(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[
'"])}
#

uhhh

visual meadow
#

it is

#

and it is being injected

slim bramble
radiant idol
#

probably missed something wait

faint stag
visual meadow
#

NFMPlayCommands hook does work

#

i just

#

dont know how to change the path in that lol

cloud yacht
slim bramble
faint stag
#

lol

slim bramble
radiant idol
#

e

#
Error creating regex: Error Domain=NSCocoaErrorDomain Code=2048 "The value β€œ(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[ \n'"])” is invalid." UserInfo={NSInvalidValue=(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[ \n'"])}
cloud yacht
slim bramble
cloud yacht
#

what a useful error message

visual meadow
cloud yacht
#

you might need to escape the "

radiant idol
#

i did

indigo peak
#

nanoleash?

visual meadow
cloud yacht
#

or your regex doesn't support a feature I'm using

visual meadow
#

framework

radiant idol
#

I feel like I escaped everything

visual meadow
indigo peak
visual meadow
#

ok

#

ok buddy

#

i see how it is

#

lol

indigo peak
#

I’m gonna decomp

#

and see what I get

#

Bc I got an idea

cloud yacht
#

let me read the docs real quick

slim bramble
#

What did bro do ?

radiant idol
#

typical capt

timid furnace
#

good

#

capt is alive

#

how do i do atomics

cloud yacht
radiant idol
#

oh my goodness

slim bramble
# visual meadow

+(id)pathForResource:(id)arg0 ofType:(id)arg1 inDirectory:(id)arg2 ; that’s from dumped headers on iOS 16.0 maybe try to add the 2 args idk

radiant idol
#

\\\\\\\\

cloud yacht
#

wait why is there so many there

radiant idol
cloud yacht
#

ok uhh

radiant idol
#

this regex got out of hand

cloud yacht
#

(?:(?<=["'])\\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\\w])\\/.*?(?<!\\\\)[ '"])

#

sorry I think I accidenly double escaped it

native orbit
cloud yacht
#

What's your replace string?

radiant idol
#

statur help

#

im losing my mind

native orbit
#

😭

cloud yacht
#

Show code

radiant idol
#

and wilson is trying to convince me to use reg*x

#

I'm trying to make it automatic

radiant idol
#

and this is how it was like before

cloud yacht
#

Ok I'm on phone gimme a sec I'm 90% sure your doing replace wrong

#

But honestly you might be better off writing a bash lexer

radiant idol
#

nooooo

#

is there genuinely no way to do this simply

#

ok maybe regex may be a good solution

cloud yacht
radiant idol
#

i wanna try doing it without regex though

#

because regex is hard to read

cloud yacht
#

Ok but if your using regex use it properly

radiant idol
#

@cloud yacht this works

#

but it is also quite cursed

visual meadow
#

thank @indigo peak for hook and thank me for preference πŸ™

cloud yacht
#

Make it a Rick roll

primal perch
#

thank @indigo peak for hook and thank me for preference πŸ™

native dune
#

thank @fiore for hook and thank me for preference πŸ™

radiant idol
#

thank @fiore for hook and thank me

cloud yacht
#

thank @fiore for hook and thank me for preference πŸ™

visual meadow
#

Made toggle now

#

thank @fiore for hook and thank me for preference πŸ™

granite frigate
#

can I do this for .caml files

visual meadow
#

Use this for caml

visual meadow
#

Similar to thos

#

This

#

For springboard at least

granite frigate
#

ok so i have to hook whatever provides cc modules

visual meadow
#

Probably springboard

#

Idk

radiant idol
#

I can get you in contact with him but no guarantees lol

granite frigate
#

im not trying to replace it w lottie trol

radiant idol
#

ah ok

#

L to u then

granite frigate
#

its what uhh [[plampycc]] does i think

radiant idol
#

thats gonna take a while

granite frigate
#

from sugiuta

#

i should ask him how he replaced it

granite frigate
native orbit
#

what background should i use i cant decide hm

velvet path
primal perch
#

yeah 1

radiant idol
#

1

native dune
#

so the status bar doesnt look funny

brazen timber
#

looks weird

native orbit
#

it do

cloud yacht
#

I like the second one but it does seem kinda tauriney

frail cedar
granite frigate
#

need,,,

native orbit
#

objc uikit 🀝

hasty ruin
#

objc uikit 🀝

primal perch
#

real

#

objc uikit 🀝

radiant idol
#

objc uikit 🀝

primal perch
#

real

hasty ruin
faint timber
#

When I was a kid I thought he was the entire state of Alabama

hasty ruin
kind herald
hasty ruin
kind herald
#

dancing rune jumpscare

hasty ruin
#

πŸ”₯

#

runexus

fiery seal
#

If the same method is hooked twice by two different tweaks, who gets first dibs?

hasty ruin
#

whichever hooks it first

#

assuming each tweak hooks the method straight away upon loading, it'll be whichever is injected first

#

tweak dylibs are injected in alphabetical order

#

which is why you sometimes see tweaks like choicy are prefixed with a space

#

so they get priority when determining order

fiery seal
#

Thanks

hasty ruin
cloud yacht
#

nexune

faint stag
faint timber
#

@grave sparrow

graceful gate
placid kraken
#

this channel is causing my music to pause what the fuck

#

the rune gifs

placid kraken
#

why does theos want me to get a full xcode install

#

it compiles and runs fine with just xcode clt

#

maybe my tweaks just arent complex enough to need the full capibilities of xcode

#

lol

torn oriole
#

Here comes kirb to inform me that my reply is wrong troll

lime pivot
#

(I gave up)

torn oriole
#

Tro

lime pivot
#

I feel like it could be something like (^|\s|['"])/(Applications|Library|etc|usr|var) because like, the path prefixes are known and predictable

#

after manually replacing /private/(etc|var) to just /$1, and /User to /var/mobile

#

nobody should be using that /User symlink anyway

radiant idol
#

The blacklist is evergrowing

harsh junco
#

Apple uses whitelist and thus blacklist

fringe rain
#

🀫

primal perch
#

fr

visual meadow
#

Bro was late to class

harsh junco
#

Capt face reveal

kindred portal
#

I want to port some Linux code to bootstrapped iOS 16.6, and I’ve been trying to work out how to do it but everything seems to tell me different and slightly contradictory things
Is there a guide or anything that anyone with experience knows is actually good and works? I want to use either the iOS device or Arch to develop
I do have an OSX VM but it’s not very stable and it’s very slow so it’s a last resort

harsh junco
hasty ruin
#

Chat hes ugly

kindred portal
kindred portal
visual meadow
#

On my way.

slim bramble
#

Oh god Java hater detected

visual meadow
#

I dont like it either lol

slim bramble
#

Y’all never got to test the true beauty of java 😭

hasty ruin
#

yeah because i can’t fit it on my screen

slim bramble
ashen birch
#

did you know those big ass samsung odyssey ultrawide monitors were made by java devs so that they could fit 1/4th of their class names on their display

slim bramble
#

Average is 10

primal perch
#

fr

pearl sail
brazen timber
#

the coolest thing abt java is hotspot

#

the language is balls

indigo peak
#

so i have this hook:

- (UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location {
    UIContextMenuConfiguration* config = %orig;
    UIContextMenuActionProvider actionProvider = config.actionProvider;
    config.actionProvider = ^UIMenu *(NSArray<UIMenuElement *> *suggestedActions) {
            UIMenu *menu = actionProvider(suggestedActions);
            NSMutableArray *actions = [menu.children mutableCopy];
            [actions insertObject:lockAction atIndex:actions.count - 1];

            return [menu menuByReplacingChildren:actions];
    };

    return config;
}
``` and the custom `lockAction` gets inserted in its own section like this:
#

how would i make it so the lockAction gets inserted with all the other actions and not in its own section

hasty ruin
#

Tbh I think it looks better like that

primal perch
#

fr

hasty ruin
#

Because it separates stock actions from custom ones

primal perch
#

no idea try this

- (UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location {
    UIContextMenuConfiguration* config = %orig;
    UIContextMenuActionProvider actionProvider = config.actionProvider;
    config.actionProvider = ^UIMenu *(NSArray<UIMenuElement *> *suggestedActions) {
            NSMutableArray *actions = [suggestedActions mutableCopy];
            [actions insertObject:lockAction atIndex:actions.count - 1];
            return actionProvider(actions);
    };

    return config;
}```
timid furnace
#

is there a way to disable the notification center swipedown

#

i have a UIWindow on top of the home screen but the swipedown still works

#

which is annoying

wind ravine
#

my java class is over and now im onto c

#

im so happy

indigo peak
hasty ruin
#

Yes

indigo peak
#

I thought it would be better to be with everything else

native orbit
#

yeah it look nice

indigo peak
#

Like to be more seamless

hasty ruin
#

bug turned feature fr

indigo peak
#

Less work for me I guess

hasty ruin
indigo peak
#

Fr

radiant idol
hasty ruin
ashen birch
#

fr unironically looks better separated

indigo peak
#

alr guess im keeping it

#

@ashen birch @hasty ruin @primal perch @radiant idol would it look better if it said "Lock Chat" or "Lock"

native orbit
#

lock chat 100%

ashen birch
#

lock chat but maybe chat not capitalized

hasty ruin
#

Lock Conversation hm

indigo peak
#

because following the iMessage naming convention, it should be "Lock" because "Pin"
but following the Notes naming convention (where i got the idea for the tweak from) it should be "Lock Chat" because "Pin Note"

indigo peak
hasty ruin
indigo peak
#

because at a different point it says conversation locked

hasty ruin
#

Real

native orbit
#

this for imsg?

indigo peak
#

yeah

#

thats what it looks like in Notes

#

its capitalized for both

native orbit
#

they do it like titles where basic words are lowercase like "and" or "the"

indigo peak
#

yeah so if i were to make it Lock Conversation it would be double capitalized

native orbit
#

yuh

hasty ruin
#

yuh

indigo peak
#

yuh

native orbit
#

yuh

native dune
#

yuh

indigo peak
#

i gotta redo some of the tweak code

#

its shit lmfao

primal perch
#

some

#

?

indigo peak
#

well some of its good

#

the other some is not

#

this is a legit hook that i have

#
%hook CKConversation
%property (nonatomic, assign) bool was3DTouched;
%end
#

like why

hasty ruin
indigo peak
hasty ruin
#

Couple weeks ago I had to catch an exception, parse the error message to get a class name, then re-run the function with that string as a parameter

indigo peak
hasty ruin
hasty ruin
#

works perfectly

primal perch
#

mfs payingfor that

#

😭

hasty ruin
ashen birch
#

i just gotta slap β€œin python” to the end of im the first one to do x

radiant idol
#

Or actually

#

Lock Conversation is better yeah

hasty ruin
#

Restrict Access to Message Conversation

indigo peak
#

@radiant idol @hasty ruin

#

which icon looks better

#

top right or next to name

hasty ruin
#

Actual top right

indigo peak
#

I meant left

#

but that’s where incoming messages go

native orbit
#

worlds most cursed NSString to C string

NSString *joe = @"joe";
printf("fr: %s\n", (const char*)(*(uint64_t*)((uint64_t)joe+0x10)));
primal perch
#

find god

placid kraken
#

whats a more standardised way to hide/show a group of cells based on whether a key is enabled or disabled

(instead of overriding setPreferenceValue, checking if the key is the one you want, check if the value is true or false, and hide the cells accordingly, because i think that would work but its quite bad there has to be a more streamline way surely)

native orbit
# primal perch find god

what about C string to NSString

NSLog(@"fr: %@", (NSString *)((void *)(uint64_t *[]){(uint64_t)NSClassFromString(@"__NSCFConstantString"),0x7c8,"joe",3}));
radiant idol
ocean raptor
radiant idol
#

that is so cursed

native orbit
ocean raptor
#

objc_getClass seems like cheating too

placid kraken
#

hear me out

#

nvm

#

how do i make a dropdown pref

#

do i need to make a custom cell

#

i couldnt find it in any docs

indigo peak
#

what’s your end goal @placid kraken

faint stag
#

since when

indigo peak
#

i think

faint stag
#

well ofc it is

placid kraken
#

@indigo peak

faint stag
#

but you'd have to implement it yourself

indigo peak
#

everything is possible if you beloeve

faint stag
#

problem is

#

how is that any better than a link cell

indigo peak
#

ok @placid kraken make a toggle at the bottom of all the prefs, for advanced mode

#

and then if its enabled

#

you show the advanced settings

timid furnace
#

just make it a link cell

indigo peak
timid furnace
#

and advanced settings override the basic

faint stag
#

actually

placid kraken
#

yea well i can do it like that but using a toggle cell feels cheap

faint stag
#

what's that cell called with the options

#

that was added in ios 14

timid furnace
#

horizontal?

indigo peak
#

the segment cell?

faint stag
#

yeah

#

use that

placid kraken
#

i could use that tbh

indigo peak
#

@faint stag this?

placid kraken
#

yea

#

that

#

however a dropdown would be much sleeker imo

#

like

#

the native dropdown

#

from (im assuming) ios 14+?

faint stag
#

and what does that look like

#

i don't remember

indigo peak
#

wheree does that occur

placid kraken
#

lemme find 1 sec

indigo peak
#

bc most settings (stock) use pslinkcell

#

and go to a new page

#

with X options

faint stag
# indigo peak

yeah it makes sense to just use this
then just make more/different prefs appear depending on what's chosen

placid kraken
#

yea lol i wanna essentially make that but i want a dropdown instead of a segmented control

indigo peak
#

@placid kraken whats gonna be actually in the drop down

timid furnace
#

dropdown does not really fit with ios ux

indigo peak
#

^

placid kraken
indigo peak
#

bruh

#

use segment

placid kraken
indigo peak
#

easier

#

and looks more native

placid kraken
#

THEYRE BOTH NATIVE

#

hang on

indigo peak
timid furnace
#

and thats not ipads

radiant idol
placid kraken
#

😭

cloud yacht
indigo peak
#

thats not a dropdown

#

πŸ’€

placid kraken
#

YES IT IS

#

AKJBDAWJK

timid furnace
#

thats a popover

indigo peak
#

popopver

faint stag
indigo peak
#

as a UIControlView

faint stag
#

real

indigo peak
#

@placid kraken just use segment or a toggle

#

no need for that

#

at all

#

if its only 2 options

radiant idol
indigo peak
#

dont give rosie ideas

#

πŸ’€

placid kraken
timid furnace
#

stop enabling them

radiant idol
indigo peak
#

you have basic and advanced

#

whats the third option

#

πŸ’€

faint stag
cloud yacht
#

stock

placid kraken
indigo peak
#

anything more

#

booty

placid kraken
#

i just like how it looks

#

lmfao

indigo peak
#

but thats not a filter

faint stag
indigo peak
#

true

radiant idol
#

@placid kraken take a look at my - (void)initTopMenu; in BoldersRebornListControllers.mm

indigo peak
#

stop

#

use segment

radiant idol
#

no

placid kraken
# indigo peak but thats not a filter

its technically filtering cells but sure

if its set to Simple/Basic itll show 2 color picker cells if its set to Advanced itll hide those cells and show the PSLinkCells

cloud yacht
placid kraken
#

ok but however,

radiant idol
#

your prefs suck wilson

#

you cant be talkin'

#

kek

cloud yacht
#

yeah but they are usable

placid kraken
#

i have no arguments other than i like the dropdown

#

or popover whatever its called

indigo peak
#

bro wrote a whole essay in his tweak

#

frfr

radiant idol
#

mine are also very usable

indigo peak
#

mine arent

#

bc i dont update my tweaks

placid kraken
#

mine are

cloud yacht
#

the popover requires 2 clicks to work

placid kraken
#

i hope

radiant idol
#

well you're fiore

faint stag
indigo peak
#

great observation

cloud yacht
timid furnace
#

anyways do yall know how the notification center swipedown is implemented

#

i need to disable it

placid kraken
#

nightwind do you know if lgu allows for passing a system icon to trailing of a cell if you use a HBListController instead of a PSListController

timid furnace
placid kraken
#

i tried it earlier but it didnt seem to work

indigo peak
#

lgu

placid kraken
#

but that mightve been me defining the actual property wrong

indigo peak
#

lgoo

#

goo

timid furnace
#

HBListController should be a subclass

placid kraken
#

it is

faint stag
placid kraken
#

im inheriting it in my list controller which sets the specifiers

timid furnace
#

basically trying to fix this

faint stag
#

(it's at home)

placid kraken
# radiant idol should work

ok then i must be doing it wrong

NSDictionary *iconDictionary = @{
    @"name": @"paintpalette.fill",
    @"scale": @"small"
};

[specifier setProperty:[GcColorPickerCell class] forKey:@"cellClass"];
[specifier setProperty:hexColor forKey:@"fallback"];
[specifier setProperty:@1 forKey:@"style"];
[specifier setProperty:parsedName forKey:@"label"];
[specifier setProperty:BUNDLE_ID forKey:@"defaults"];
[specifier setProperty:iconDictionary forKey:@"iconImageSystem"];
[specifier setProperty:name forKey:@"key"];
cloud yacht
#

My tweaks aren't fancy because 90% of the defintion of them is reading plist

radiant idol
#

@hollow laurel get your butt here

#

help rosie

placid kraken
#

Guac

cloud yacht
#

no way its the libgcuniversal guy

faint stag
indigo peak
#

i love when serotonin makes my phone just not be able to be turned on

timid furnace
#

i don't think you're supposed to pass a dict to that

placid kraken
#

it works for the cells that i define in a plist

#

but these specifiers are dynamic so i cant

timid furnace
#

well yes because that's a plist

placid kraken
placid kraken
timid furnace
#

why would you pass a UIColor

placid kraken
#

UIImage*

timid furnace
#

it's an image

#

yea

#

pass that

placid kraken
#

brain not working today

#

sorry

cloud yacht
#

someone should make some library that makes settings plists like a simple json that does a bucnh of the stuff you need to share like notifcation path and whatnot simply

placid kraken
#

its already simple enough

timid furnace
cloud yacht
indigo peak
placid kraken
#

im just doing stuff thats more advanced than your typical tweak prefs lol

timid furnace
#

arguably i could just leave it like this but idk

cloud yacht
placid kraken
indigo peak
#

its not 1 to 1 json

indigo peak
#

but its better than xml

indigo peak
timid furnace
#

that is old-style plist

indigo peak
#

still better than xml

timid furnace
#

it is specifically called old-style plist

cloud yacht
#

oh bruh thats much better

radiant idol
#

why did they change to xml

#

stupid

placid kraken
timid furnace
indigo peak
cloud yacht
#

swithces to xml. Doesn't even use xml properties

placid kraken
faint stag
#

the 3rd type

indigo peak
timid furnace
#

openstep plist should rightly be killed

placid kraken
#

no???

faint stag
cloud yacht
#

iirc yaml is a superset of json

timid furnace
#

yes

placid kraken
#

sorry i was thinking of toml

#

lol

faint stag
placid kraken
timid furnace
#

plutil > plistutil

placid kraken
#

i love plutil

faint stag
#

oh wait -convert is plutil

#

fogor

cloud yacht
#

I used some slow anchient looking chinese website to convert from json to xml and back for webshade iirc

placid kraken
cloud yacht
#

xml is fine but plist xml is so bad

placid kraken
#

..whats the difference

faint stag
placid kraken
#

i think theyre similar

acoustic imp
cloud yacht
#

plists don't actually use xml properly and its just super verbose <key>key</key><value>value</value> when they could easily use xml props

acoustic imp
#

is there like some method anyone knows to call ?

placid kraken
#

however

#

would you rather write it like that

#
- (PSSpecifier *)generateSpecifierWithName:(NSString *)name parsedName:(NSString *)parsedName hexColor:(NSString *)hexColor {
    PSSpecifier *specifier = [PSSpecifier preferenceSpecifierNamed:parsedName
                                                            target:self
                                                                set:@selector(setPreferenceValue:specifier:)
                                                                get:@selector(readPreferenceValue:)
                                                             detail:nil
                                                               cell:PSLinkCell
                                                               edit:nil];

    NSDictionary *iconDictionary = @{
        @"name": @"paintpalette.fill",
        @"scale": @"small"
    };

    [specifier setProperty:[GcColorPickerCell class] forKey:@"cellClass"];
    [specifier setProperty:hexColor forKey:@"fallback"];
    [specifier setProperty:@1 forKey:@"style"];
    [specifier setProperty:parsedName forKey:@"label"];
    [specifier setProperty:BUNDLE_ID forKey:@"defaults"];
    [specifier setProperty:iconDictionary forKey:@"iconImageSystem"];
    [specifier setProperty:name forKey:@"key"];

    return specifier;
}
``` or define it with code
#

lmfao

cloud yacht
#

honeslty the code doesn't seem that bad, but then its like I have a massive chunk of data in my code when it makes sense to use some kind of format designed for storing data

placid kraken
brazen timber
acoustic imp
indigo peak
cloud yacht
#

wait could I use some objc method to read the json and just pass that to the preference thing>

acoustic imp
timid furnace
#

nsjsonserialization

acoustic imp
#

didnt work

timid furnace
#

have fun

placid kraken
#

nsjson

#

exists

#

however

#

you cant guarantee compatibility

indigo peak
placid kraken
#
+ (id) parseJSON:(NSData*)data {
    NSError *error = nil;

    id object = [NSJSONSerialization
        JSONObjectWithData:data
        options:0
        error:&error
    ];

    if (error) {
        @throw error;
    }

    return object;
}
timid furnace
#

@throw error;

#

what the fuck is wrong with you

timid furnace
#

no that's not an excuse

acoustic imp
indigo peak
#

you can use it on windows

cloud yacht
#

frida can be used on linux

timid furnace
indigo peak
#

oh i saw

radiant idol
#

I'd use @throw

indigo peak
#

i pretended i didnt see

radiant idol
#

why not

timid furnace
#

you never use throw

indigo peak
timid furnace
#

even apple says not to use throw

radiant idol
#

why

indigo peak
radiant idol
#

I mean I dont even do exceptions much but still

cloud yacht
acoustic imp
#
radiant idol
#

whats wrong with @throw

placid kraken
#

wtf do you do instead

#
if (error) NSLog(@"oh no i failed: %@", error);
```?
#

do you return a placeholder value?

#

what do you do in the case of an exception

timid furnace
#

NSError

timid furnace
#

i need to find the page

primal perch
#

@hasty ruin @grave sparrow gm

placid kraken
#

if its so bad why is it in the language

#

its like goto

#

if it sucks so much why does it exist

cloud yacht
#

probably legacy reasonsℒ️

primal perch
#

usually to not break legacy shit yeah

acoustic imp
#

is there a frida rootless?

primal perch
#

thats why windows is.... windows

placid kraken
#

no warning or anything i guess

primal perch
timid furnace
#

exceptions are basically for unrecoverable stuff

placid kraken
#

all i know is that @throw gives an NSException * that you need to handle in @catch lol

timid furnace
#

in objc

primal perch
#

i mean obv u cant write to /System or some shit but i was able to debug some processes

#

i hate that meowbrek is actually good

#

furry ass name

timid furnace
#

cope

placid kraken
cloud yacht
#

go

placid kraken
#

you throw an exception and catch it in your impl

placid kraken
#

because youre forced to handle all exceptions

#

as much as you have a million if (err != nil)

cloud yacht
#

js erorr handling is annoying

primal perch
#

go mfs be like

#

bro its so
if err != nil

good

placid kraken
#

only if its a promise

cloud yacht
#
try {
  smth()
} catch (e) {
  console.log('Lol error');
}
placid kraken
#

a promise can resolve or reject

#

but you dont know if the promise ever rejects

cloud yacht
#

A function can return or throw

placid kraken
#

yes but you arent told

cloud yacht
#

anything can throw an error just expect it to

primal perch
#

go keyboard

placid kraken
#

for example in swift you can annotate with throws Erroror whatever idk the syntax

primal perch
#

@old geyser

placid kraken
#

rust has Option and Result

#

to show that an error can throw

cloud yacht
#

I mean ts has erorrs iirc

placid kraken
#

it cant protect against exceptions thrown by a promise or something like that

#

in js/ts you arent ever told that you need to handle an exception until you actually get the exception or the docs say the function can throw

#

its annoying

#

LMAO

#

LAJBDKWJABDAW

#

I CANT WITH THIS

acoustic imp
#

@indigo peak what do i do on frida so see what methods r called. installed it on my phone and pip installed it on my pc

#

im confused on what i do to like get everything conected

#

nvm

#

is it a bad idea to use lightning to USBc ?

placid kraken
#

@radiant idol this thing you sent me is actually also useful for making a respring button on the top right when in subpages to select colors

lifesaver tysm

acoustic imp
#

now what do i do to find the method, everyting is like conected

radiant idol
#

show me how it looks once you get it working :)

placid kraken
#

sureee

radiant idol
#

object

#

oriented

#

programming

acoustic imp
#

what

radiant idol
#

OOP

#

learn

#

it