Code Monkey home page Code Monkey logo

Comments (7)

gorhill avatar gorhill commented on May 29, 2024

Works as expected.

You un-whitelist (graylisted) locally a globally whitelisted request, so that means two rules:

  • 1 for the global whitelist
  • 1 for the local graylist

Remember: all rules from broader scopes are seen by narrower scopes. Without the second rule, github.com collector-cdn.github.com would be dark green.

from umatrix.

gorhill avatar gorhill commented on May 29, 2024

Argh, wrong bug number, I meant to tag with #15.

from umatrix.

harshanvn avatar harshanvn commented on May 29, 2024

Not sure if i understood you correctly or if i explained correctly...

Step 1: Whitelist a local cell (so rule count will be 1)
Step 2: Whitelist the same in global cell (rule count increases to 2)

  • Experiment 1: If i save here, below 2 entries are inserted..
    • github.com collector-cdn.github.com script allow
    • * collector-cdn.github.com script allow

Step 3: revert step 1. Shouldn't rule count be 1 now?

  • Experiment 2: If i save here, below 2 entries are inserted to "Your rules"
    • * collector-cdn.github.com script allow
    • _github.com collector-cdn.github.com script _inherit**
  • Experiment 3: If only step2 performed, not step 1 and step3, below entry is saved..
    • * collector-cdn.github.com script allow

from umatrix.

gorhill avatar gorhill commented on May 29, 2024

Step 3: revert step 1. Shouldn't rule count be 1 now?

My answer is the same as here. I don't know how else to explain it more clearly.

I rather you explain to me how a cell in local scope can be graylisted without an explicit rule when the same cell is whitelisted in global scope.

from umatrix.

harshanvn avatar harshanvn commented on May 29, 2024

Ok. Can you tell me the meaning of inherit in the rule syntax. It was added when doing below steps..
rule count inconsistency 1

from umatrix.

gorhill avatar gorhill commented on May 29, 2024

Now you are bringing a different case, which requires a different explanation. You changed back the global rule to match the local one. Theoritically, the local one is not needed anymore. In practice though, uMatrix can't just go back a remove all the now apparently useless local overrides, because:

A user could quickly put back the global rule for whatever reason (removed by mistake, changed his mind, etc.), and in such case if uMatrix had removed all the apparently useless local rules, a user would silently lose the override in all local scopes where there is one.

inherit means the cell is graylisted and its block/allow state will be inherited from neighbouring cells just like in HTTPSB. inherit is the default when no block/allow rule are in action, but sometimes it has to be explicit to override a block/allow rule of the same cell in a broader scope.

I am trying to come up with a slight visual hint that a cell is explicitly graylisted -- there is currently none. I will be experimenting with some ideas of visual, as currently this can lead to confusion.

from umatrix.

gorhill avatar gorhill commented on May 29, 2024

Actually, I will also be renaming inherit to xy-inherit to reflect more accurately what it is about.

from umatrix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.