Ticket #3687 (reopened defect)

Opened 6 months ago

Last modified 38 hours ago

'hotlist' improperly stored in config

Reported by: mooffie Owned by: andrew_b
Priority: minor Milestone: 4.8.20
Component: mc-core Version: master
Keywords: Cc: egmont
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

The 'hotlist' file should be stored in data (~/.local/share), not config (~/.config).

Attachments

3687-Store-the-hotlist-file-in-data-dir-not-config-dir.patch (2.4 KB) - added by mooffie 6 months ago.

Change History

comment:1 Changed 3 months ago by andrew_b

  • Owner set to andrew_b
  • Status changed from new to accepted
  • Branch state changed from no branch to on review
  • Milestone changed from Future Releases to 4.8.19

Branch: 3687_hotlist_in_data_dir
changeset:21d69af20bcf92b5190b678982db25f4ff7bf41d

comment:2 Changed 3 months ago by andrew_b

  • Votes for changeset set to andrew_b
  • Branch state changed from on review to approved

comment:3 Changed 3 months ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset changed from andrew_b to committed-master
  • Resolution set to fixed
  • Branch state changed from approved to merged

comment:4 Changed 3 months ago by andrew_b

  • Status changed from testing to closed

comment:5 follow-up: ↓ 6 Changed 13 days ago by gv

  • Status changed from closed to reopened
  • Resolution fixed deleted

Really, move hotlist? Why???

The user choose that will be in that file not mc. It's not like the other files in .local/share/mc: filepos or history or others. If I remove .local/share/mc (and I do on logout) those two files will be re-created the first time mc is started again. Now I will lose _everything_ added to the hotlist file.

Please reconsider this.

comment:6 in reply to: ↑ 5 ; follow-up: ↓ 9 Changed 12 days ago by mooffie

Replying to gv:

Really, move hotlist? Why???


You didn't really explain why not. Try again.

The user choose that will be in that file not mc.


Right. Can you point us to a document explaining why this is not "data"?

If I remove .local/share/mc (and I do on logout) [...]


Are you the user who asked on the mailing-list how to have a "private profile"? If so: for the same reason you delete the history and filepos (supposedly they contain sensitive information) you also have to delete the hotlist.

comment:7 follow-up: ↓ 12 Changed 12 days ago by egmont

  • Cc egmont added

@mooffie: Just wondering, shouldn't panels.ini's [Dirs] section also be moved similarly?

comment:8 Changed 12 days ago by zaytsev

I guess he'd argue that it's not pre-shipped data, but rather configuration. To be honest, I'm confused now. The concept of pre-shipped data in .local/share doesn't make sense to me anyways. Probably really need to look up XDG & FHS...

comment:9 in reply to: ↑ 6 ; follow-up: ↓ 15 Changed 12 days ago by gv

Replying to mooffie:

You didn't really explain why not. Try again.

If a file can/will be edited by user is a _config_ file.

Are you the user who asked on the mailing-list how to have a "private profile"?

No.

If so: for the same reason you delete the history and filepos (supposedly they contain sensitive information) you also have to delete the hotlist.

history and filepos can be/are a privacy concern. hotlist, not so much.

comment:10 Changed 12 days ago by gv

  • Cc gabriel@… added

comment:11 Changed 12 days ago by egmont

Good ol' days when everything was under ~/.mc :)

comment:12 in reply to: ↑ 7 Changed 12 days ago by gv

Replying to egmont:

@mooffie: Just wondering, shouldn't panels.ini's [Dirs] section also be moved similarly?

100% no. I change a lot of settings in that file.

comment:13 follow-up: ↓ 14 Changed 12 days ago by egmont

"a lot of settings" - my question clearly addressed the "[Dirs]" section only, not the entire file, which has only two entries.

comment:14 in reply to: ↑ 13 Changed 12 days ago by gv

Replying to egmont:

"a lot of settings" - my question clearly addressed the "[Dirs]" section only, not the entire file, which has only two entries.

OK. Sorry.
Still, current_is_left is in that section. Some prefer the to have-it to the left. Some to the right. Is not a configuration option? Or you propose to move only other_dir? And some people will want to change that too.

comment:15 in reply to: ↑ 9 Changed 12 days ago by mooffie

Replying to gv:

Replying to mooffie:

You didn't really explain why not. Try again.

If a file can/will be edited by user is a _config_ file.


Could you please link to some article explaining when to use ~/.config and when ~/.local/share?

comment:17 in reply to: ↑ 16 ; follow-up: ↓ 18 Changed 11 days ago by mooffie

I've read these two before.

Replying to zaytsev:

https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html


This one isn't helpful: it doesn't say much about the nature of the files within the two dirs.

https://ploum.net/207-modify-your-application-to-use-xdg-folders/


This one gives a very strong case for putting "hotlist" in data. Is this article reliable?

An aside: personally, as a user, I see all of MC's files --except ini and panels.ini-- as data. MC is a kind of application which exists for its configuration. The configuration is the data. So I'm confused too, because I don't see how to distinguish between the two.

Should we ask @ossi to chime in?

Last edited 11 days ago by mooffie (previous) (diff)

comment:18 in reply to: ↑ 17 Changed 11 days ago by gv

Replying to mooffie:

This one isn't helpful: it doesn't say much about the nature of the files within the two dirs.

Seems pretty clear to me:

$XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used.

$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.

comment:19 follow-ups: ↓ 20 ↓ 22 Changed 4 days ago by mooffie

User @gv was not able to articulate an explanation for why hotlist should be put in "config".

So we need outside opinion(s).

Let me restate the question: what sort of files are put in "config"? and what sort in "data"? (by "config" and "data" I refer to $XDG_CONFIG_HOME and $XDG_DATA_HOME.)

So, who should we turn to?

I think we should decide on this before 4.8.19 is out.

comment:20 in reply to: ↑ 19 ; follow-up: ↓ 23 Changed 4 days ago by gv

  • Cc gabriel@… removed

Replying to mooffie:

User @gv was not able to articulate an explanation for why hotlist should be put in "config".

Look, I waste too much time on this. Do whatever you want. I don't care anymore. On my systems I will revert the patch anyway.

comment:21 Changed 4 days ago by zaytsev

Look, I waste too much time on this. Do whatever you want. I don't care anymore. On my systems I will revert the patch anyway.

This was an honest question, and instead of explaining your line of thinking you choose to copy & paste the standard which has already been referenced above. It's good to know that you don't care though, because this means that if we don't come up with a reason to move the hotlist back to config, we can eventually close this as wontfix and nobody will object.

comment:22 in reply to: ↑ 19 Changed 4 days ago by egmont

Replying to mooffie:

what sort of files are put in "config"? and what sort in "data"?

After taking a quick glimpse at the docs, it's unfortunately pretty unclear to me.

I think we should decide on this before 4.8.19 is out.

IMO the worst is if we make a release with the change, and revert later.

If we have a clear answer soon (before the 4.8.19 release, which, as I see, you'd like to get out pretty soon) then sure let's go for it.

If, however, we need time on this (further opinions and research), I don't think it should delay the .19 release. I think in that case we should revert it for the time being to buy us some more time. It's not a big deal if the change doesn't appear in .19 but is delayed to .20 or .21 or so.

comment:23 in reply to: ↑ 20 ; follow-up: ↓ 26 Changed 3 days ago by mooffie

Replying to gv:

Replying to mooffie:

User @gv was not able to articulate an explanation for why hotlist should be put in "config".

Look, I waste too much time on this. Do whatever you want. I don't care anymore.


Let me summarize the incident:

  1. You came here making a claim ("If a file can/will be edited by user is a _config_ file").
  1. While your claim wasn't clear, we didn't reject it outright. I asked you, 3 times, for a source backing it up, or for a more substantial explanation.
  1. You failed to provide any source. You ignored my calls.
  1. You also wasn't able to educate us yourself about the difference between "config" and "data". We were waiting, and still are, for the lesson. Really.
  1. Just because "hotlist is config" makes your personal circumstances ("If I remove .local/share/mc ..") a tad more convenient doesn't mean it's correct.
  1. You used the following as your only methods of proof:
    • Feigning outrage ("Really?", "Why???").
    • Condescension ("Seems pretty clear to me").
    • Playing drama queen ("Now I will lose _everything_").
    • Using unconvincing subjective opinions as support ("hotlist, not so much.")
Last edited 3 days ago by mooffie (previous) (diff)

comment:24 Changed 3 days ago by mooffie

So, we need to decide if we revert it before 4.8.19.

@egmont is effectively in favor of reverting this, "to buy us some more time".

Surprisingly, I'm leaning toward reverting. Not because @gv managed to convince me of anything (the document @Yury linked to makes a strong case for "hotlist is data"; the only problem is deciding how "authoritative" that document is) but (1) because I don't have the definition of "config" vs "data" (per XDG's thinking) and (2) because 4.8.19 needs to come out. We can always re-commit it later.

So, @Yury, what do you think? @Andrew?

comment:25 Changed 2 days ago by zaytsev

The problem is, I don't have a strong opinion on this issue, and I share the feelings of Egmont that the standard is not particularly clear on that. I'm personally actually leaning towards saying it should be rather stored in 'config'. The rule of thumb that I would use, is to compare those with FHS layout, where config ~ /etc and data ~ /usr/share and cache ~ /var/cache . I feel like stuff configured via files or GUI should be in ~ /etc and stuff life history, file positions for editor, etc. should be in ~ /usr/share (although already here, the analogy starts breaking down).

Now the question is, does hotlist feel more like edit widget history, or like something configured via the GUI? It seems to me, that you feel more like it's an edit widget history, and thus say it's data, and I feel more like it's configuration even though it's done via GUI, and so it's ~ /etc. I actually configure hotlist every time on clean $HOME to include my favorite jump points (root, $HOME and few others), and then never change it afterwards.

I linked the article because it's the best one I've found which presents a strong opinion, lacking a strong opinion of my own. As to how authoritative is it, I think it's just another voice in the desert, and other people might have simply never bothered with writing a blog entry :-)

If you are leaning towards revert, even temporary I'm leaning towards agreeing ;-) because, as I said, I'm leaning toward saying hotlist is config in the first place. If this saves us another shit storm, the better. But I didn't protest when Andrew committed it, because my opinion is not strong. I can live with either decision, but I'd like to see a plausible argument behind it. I think the argument that I presented is plausible, but if I understood yours correctly it's plausible as well. Oh well, shall we toss a coin :-) ?

comment:26 in reply to: ↑ 23 Changed 2 days ago by zaytsev

Replying to mooffie:

Let me summarize the incident:

If I were you, I wouldn't bother (anymore), unless, of course, you take pleasure in it, or you have a particularly robust nervous system. As I was younger it wasn't that bad, and sometimes even fun, but in recent years I noticed that the negative communications are affecting me too much and I often can't get myself to do something I wanted to do, just because of some kind of internal resistance to coming back to the topic caused by past negative communications. I'd hate it if the same happened to you eventually, that's not going to be good for anyone. In the mean time, I figured that apparently the way to take least mental damage in the process is to simply shut yourself off after a certain threshold has been crossed, unless the matter is of vital importance. So, be careful to not to overstrain yourself. Peace.

comment:27 Changed 2 days ago by mooffie

(I'll do the revert on Sunday then. For lack of time (guests are coming) I can't write anything more right now, sorry, but you did write some good stuff ("I configure hotlist [...] and then never change it afterwards" -- I seldom change it either. "internal resistance to coming back [...] caused by past negative communications").)

comment:28 Changed 38 hours ago by zaytsev

Reverted: ab4fcb6d300f5905c3a48a7620d1c60abcc36e30 ; I hope you don't mind, I want to try building an RC now.

comment:29 Changed 38 hours ago by zaytsev

  • Votes for changeset committed-master deleted
  • Branch state changed from merged to no branch
  • Milestone changed from 4.8.19 to 4.8.20
Note: See TracTickets for help on using tickets.