Trash Unrequested ignores inf. maximum

Bugs that are actually features.
FearHAVOK
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Oct 25, 2024 1:25 am
Contact:

Trash Unrequested ignores inf. maximum

Post by FearHAVOK »

When using the Trash unrequested feature for personal logistics, the inf. maximum value is ignored.

For example, if you have 1000 inserters in your inventory and request between 500 and 1million inserters, when you check the box to trash unrequested all 1000 of the inserters will remain in your inventory. However if your request is between 500 and Inf. inserters, then every inserter over the minimum of 500 will be sent to the trash; in this case 500 inserters will be trashed.

In my mind, 1million inserters and Inf. inserters are functionally the same value and should be treated the same.
iloveidea
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Oct 25, 2024 7:23 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by iloveidea »

"buffer chest" and "requester chest" have a similar situation, and "speca platform" doesn't have this problem.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3016
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by boskid »

I am aware of this behavior because it was explicitly requested to work that way and so this a Not a bug.
rockwolf
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Nov 01, 2024 2:56 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by rockwolf »

So max inf. is essentially the same as setting min and max to the same value?
User avatar
_CodeGreen
Long Handed Inserter
Long Handed Inserter
Posts: 72
Joined: Sat Mar 05, 2022 11:30 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by _CodeGreen »

50-50 means you only want 50 in your inventory ever
50-inf means you want from 50 to infinity items, which translates to "at least 50 but don't trash excess"
Trash unrequested does not affect 50-50 because you're never having any items that aren't requested, but it does affect 50-inf.

There are three ways to use the trash unrequested checkbox right now: always off, always on, and quick toggling.
  • Always off: this means 50-inf will do what it normally does - request at least 50 of an item but don't auto trash the extra. This is fine and nobody wants this to change.
  • Always on: 50-inf will behave exactly the same as 50-50, never allowing you to have more than 50 of the requested item. There is now zero distinction between infinity and the min amount, which is dumb, because why would a finite number and infinity behave exactly the same? I'm requesting at least 50 items, not exactly 50. if I wanted exactly 50 items, I would have set up the request to do that explicitly.
  • Quick toggle (off - on - off again): In the event where someone does not want to always be trashing unrequested items, but wants to be able to treat the checkbox like a button to clean up the inventory, this is where the way it is right now sort of makes sense. I have at least 50 of this item, I press the magic "clean up inventory" button, and it trashes the excess. This is okay, but what if I want to keep those excess items and only trash the things I don't actually have any requests for? That's when you have to do the very large number workaround, which isn't great.
And that's where the core of this issue lies: there are two ways to interpret "at least", because one way is "at least 50 and don't trash excess automatically ever" or "at least 50 but trash excess specifically when I want". Both ways are useful, and there currently isn't a perfect way to specify which you actually want to happen - Right now the only solution is to deal with it being one way and use the large number workaround, but even that's not perfect. What if I want to trash excess only sometimes? For example, I want to hold 1000 steel to craft a silo temporarily and I previously had my request set to 100-inf because I normally want at least a stack, now I can't enable trash unrequested ever because it would otherwise be getting in the way (which would be useful for clearing more space for the other silo ingredients).

There's a difference between trash unrequested and trash excess, and I think a good potential solution would be to separate those concepts into two checkboxes. That's not going to happen though, so I guess we just have to live with it and edit requests all the time or shove stuff into the trash slots manually if we ever want to do one thing but not another. At the very least, a hidden setting in "The rest" would be nice, because there's no chance in hell something this specific is getting through the regular setting process.
My Mods | If you can't make it perfect, make it adjustable
Global Trust Inc.
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Nov 11, 2024 3:17 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by Global Trust Inc. »

i was about to report this as a bug to. In my case i request 0-inf. I dont want to have the item on me all time, but occasionally grab them out of a container.

Trash unrequested should only move any item above maximum to the trash slots
Last edited by Global Trust Inc. on Mon Nov 11, 2024 3:27 am, edited 1 time in total.
Quezler
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Fri Mar 25, 2016 6:37 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by Quezler »

+1
Taledo
Manual Inserter
Manual Inserter
Posts: 1
Joined: Thu Jun 22, 2017 6:53 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by Taledo »

Hi all,

Would it be possible for the Factorio Team to share more insight as to why having an item at +inf will still trash them if trash unrequested is set?

The issue at hand is that for some items you may want a minimum, but sometimes pick up more than the minimum because you know you'll need them (say walls when you go bring freedom to the natives).

Currently, the workaround for this is to request 400–9999 walls (or any value big enough that it is the same from inf). Works but a bit cumbersome.

Cheers
feng
Inserter
Inserter
Posts: 35
Joined: Sat Jun 25, 2016 1:17 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by feng »

boskid wrote: Fri Oct 25, 2024 9:03 am I am aware of this behavior because it was explicitly requested to work that way and so this a Not a bug.
Wanted to report that too. What is the point to set something from 100-infinity if the behaviour is NOT the expected 'keep 100 to infinity items in inventory before sending to trash'? Some explanation would help please as the change just feels weird now and is absolutely not intuitive.
IsaacOscar
Fast Inserter
Fast Inserter
Posts: 152
Joined: Sat Nov 09, 2024 2:36 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by IsaacOscar »

One case wheee chosing 1-infinity and 1-1 can behave differently is if your robotos have a carry size bonus, in which case 1-infinity could cause the robotos to give you 4 of the item, but 1-1 will force them to give you 1.

Other than that, is there any difference between 1-1 and 1-infinity?

Also bear in mind a maximum of infinity is the default value, and having trash unreqyested remove extra makes sense as a default.

On a slightly unrelated note, it would make sense to have infinity be a valid minimum option (equavalent to the maximum capacity of the container).
feng
Inserter
Inserter
Posts: 35
Joined: Sat Jun 25, 2016 1:17 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by feng »

IsaacOscar wrote: Wed Nov 13, 2024 7:18 pm Also bear in mind a maximum of infinity is the default value, and having trash unreqyested remove extra makes sense as a default.
yes, it makes sense that unrequested items get removed to trash as default, but I would prefer that maximum count would just adjust to minimum count as default then... so, you set to request 100 items? Then default setting should be 100-100 and not 100-infinity and behave like 100-100 :?
computeraddict
Fast Inserter
Fast Inserter
Posts: 209
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by computeraddict »

Taledo wrote: Tue Nov 12, 2024 7:48 pm Hi all,

Would it be possible for the Factorio Team to share more insight as to why having an item at +inf will still trash them if trash unrequested is set?

The issue at hand is that for some items you may want a minimum, but sometimes pick up more than the minimum because you know you'll need them (say walls when you go bring freedom to the natives).

Currently, the workaround for this is to request 400–9999 walls (or any value big enough that it is the same from inf). Works but a bit cumbersome.

Cheers
I'm not the Factorio team, but "trash unrequested" not overriding "to inf" would make it almost useless. 99% of my use for it is "set max to min on all requests".
nzer
Inserter
Inserter
Posts: 42
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by nzer »

computeraddict wrote: Thu Nov 14, 2024 12:07 am I'm not the Factorio team, but "trash unrequested" not overriding "to inf" would make it almost useless. 99% of my use for it is "set max to min on all requests".
It doesn't make any sense for that use case to be satisfied by Trash Unrequested. If I create a request for an item, it is not unrequested, period. The bounds of the request shouldn't matter.

If there's a desire for a "trash all above min" button, just add a "trash all above min" button.

Edit: In fact, if Trash Unrequested was changed to not override inf you would still be able to satisfy your use case by disabling and re-enabling logistics groups. If you enable Trash Unrequested and then disable the group, everything will be trashed. Then when you reenable the group items will be pulled out of your trash slots until min is reached.
computeraddict
Fast Inserter
Fast Inserter
Posts: 209
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by computeraddict »

nzer wrote: Tue Nov 19, 2024 8:19 pm
computeraddict wrote: Thu Nov 14, 2024 12:07 am I'm not the Factorio team, but "trash unrequested" not overriding "to inf" would make it almost useless. 99% of my use for it is "set max to min on all requests".
It doesn't make any sense for that use case to be satisfied by Trash Unrequested. If I create a request for an item, it is not unrequested, period. The bounds of the request shouldn't matter.

If there's a desire for a "trash all above min" button, just add a "trash all above min" button.
It trashes what I didn't request. I only set one value. If for some reason I don't want the inventory to be allowed to jam with something while using the option designed to keep inventories from becoming jammed with things, I can set an upper bound of 2^32-1 for the item I want to jam the inventory with.
nzer
Inserter
Inserter
Posts: 42
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by nzer »

computeraddict wrote: Tue Nov 19, 2024 8:32 pmIt trashes what I didn't request. I only set one value.
No, you didn't. You created a request with max of infinity, and requests with a max of infinity shouldn't have special behavior that doesn't make sense just because you happen to find that behavior more useful than what should logically happen. Like, if the value was called "N/A" or "None" I would agree with you, but it's not. It's infinity.

So maybe that's the answer here. The max field should support "None" or empty as a possible value, and perhaps even use that as the default, but it should also properly support infinity, and infinity should be what you get if you drag the slider all the way to the right.
User avatar
V453000
Factorio Staff
Factorio Staff
Posts: 274
Joined: Fri Sep 04, 2015 5:51 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by V453000 »

The intended/expected functionality is that you can use one logistic section across the player, landing pad, and space platform hub.

Space platform hub does not have trash unrequested in large part because how the requests change between planets or when something is requested as construction material.

Lets say you request 50,inf of speed module 2.

In the personal inventory, you want to keep it clean. Setting max for every item gets really annoying really quickly, so it's automatically treated this way.

If you did need to set a specific max, like 50,50 of speed module 2, it would mean that space platform hubs which share this section would keep trashing these modules whenever a rocket has over-delivered them to the hub which happens all the time by design. Losing rocket efficiency randomly this way would be really problematic.

I guess the behaviour you want works basically as you've described is if you do 50,1mil. it's just inverse that you need to pick these manually instead of that being the default behavior.

In my view it's much, much better to learn to turn off trash unrequested when you're picking up some unrequested items (or extra amounts of items) from chests manually.

I have learned to turn off trash unrequested occassionally and I'd say it works great.
nzer
Inserter
Inserter
Posts: 42
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by nzer »

V453000 wrote: Tue Nov 19, 2024 8:58 pm ...
If this is the intended behavior, then the value is not named correctly. It currently behaves as if no maximum is set on the request, which is not the same as setting a max of infinity. It should be renamed to "none," or "n/a," or something similar, and then "inf" could be reimplemented in a way that is actually correct.

I also don't have any idea why you would ever want to share a logistic group across the player, the landing pad, and a space platform hub, personally, so designing the system around that use case seems wrong to me. But that's neither here nor there.
computeraddict
Fast Inserter
Fast Inserter
Posts: 209
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by computeraddict »

nzer wrote: Tue Nov 19, 2024 8:39 pm
computeraddict wrote: Tue Nov 19, 2024 8:32 pmIt trashes what I didn't request. I only set one value.
No, you didn't. You created a request with max of infinity, and requests with a max of infinity shouldn't have special behavior that doesn't make sense just because you happen to find that behavior more useful than what should logically happen. Like, if the value was called "N/A" or "None" I would agree with you, but it's not. It's infinity.

So maybe that's the answer here. The max field should support "None" or empty as a possible value, and perhaps even use that as the default, but it should also properly support infinity, and infinity should be what you get if you drag the slider all the way to the right.
You can set a maximum of 2^32-1 and get an effective infinity, or just mash 9 5-6 times /shrug
nzer
Inserter
Inserter
Posts: 42
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by nzer »

computeraddict wrote: Tue Nov 19, 2024 9:40 pmYou can set a maximum of 2^32-1 and get an effective infinity, or just mash 9 5-6 times /shrug
Okay, and? Being able to work around them with an ugly kludge doesn't mean obviously wrong things shouldn't be fixed.
computeraddict
Fast Inserter
Fast Inserter
Posts: 209
Joined: Sat Oct 07, 2023 6:44 am
Contact:

Re: Trash Unrequested ignores inf. maximum

Post by computeraddict »

nzer wrote: Tue Nov 19, 2024 9:51 pm
computeraddict wrote: Tue Nov 19, 2024 9:40 pmYou can set a maximum of 2^32-1 and get an effective infinity, or just mash 9 5-6 times /shrug
Okay, and? Being able to work around them with an ugly kludge doesn't mean obviously wrong things shouldn't be fixed.
Why is it obviously wrong? I still don't know what the use case is for "I want a full inventory of A while having at most X of B and Y of C". Meanwhile the use case for "I want exactly certain values of A, B, C, D, E, F, G, H, and nothing else without configuring a max for every single thing I want some of" is hilariously common.

If anything there's a case to be made for ignoring the maximum altogether, because the maximum isn't a delivery request, it's a trash request. But that would be silly. Maybe we can just change the button to say "auto trash anything over the minimum request and finite maximum", but that'd be a mouthful.
Locked

Return to “Not a bug”