Skip to content
  1. Jun 08, 2018
    • Jo-Philipp Wich's avatar
      treewide: switch firewall zone, network and iface lists to dropdown code · 74be6f39
      Jo-Philipp Wich authored
      
      
      Also switch the weekday and monthday lists in the firewall rule details to
      cbi dropdowns, vastly uncluttering the form.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      74be6f39
    • Jo-Philipp Wich's avatar
      luci-base: add markup, JS and CSS for new dropdown · 9d484907
      Jo-Philipp Wich authored
      
      
      This commit introduces the required code for a new, markup based dropdown
      widget which can be used as a styleable alternative to select boxes or
      radio/checkbox button groups.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      9d484907
    • Jo-Philipp Wich's avatar
      luci-base: support option aliases in luci.cbi · 4cca96ef
      Jo-Philipp Wich authored
      
      
      AbstractValue descendants may now specify a new optional property `alias`
      which refers to a uci option to read/write/remove that differs from the
      option name itself.
      
      This is mainly useful for widgets that are toggled based on dependencies,
      e.g. for alternating between SingleValue and MultiValue, but which are
      intented to write into the same uci option.
      
      Such a setup was previously possible already by overriding the .cfgvalue(),
      .write() and .remove() callbacks with custom implementations, but that
      required a lot of boiler plate code and was rather fragile.
      
      With the `alias` property, CBI now takes care of the details and tracks
      aliased fields within a section accordingly.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      4cca96ef
  2. Jun 06, 2018
  3. Jun 03, 2018
    • Jo-Philipp Wich's avatar
      luci-base: cbi: atomically reorder uci sections · 2d352a92
      Jo-Philipp Wich authored
      
      
      Since the switch to ubus uci operations we do not have a local application-
      side cursor cache anymore, instead uci operations happen synchronously in
      the rpcd backend server.
      
      This may cause cbi section reorder operations involving multiple elements
      to fail, because anonymous section hashes may change due to rehashing
      between consecutive ubus uci reorder calls.
      
      In order to avoid that problem, use the ubus uci batch reorder extension,
      which allows to pass a complete (or partial) list of section ids in the
      desired order in one call, bypassing the volatile section id problem.
      
      Fixes #1844.
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      2d352a92
  4. May 31, 2018
  5. May 30, 2018
  6. May 28, 2018
  7. May 27, 2018
  8. May 25, 2018
  9. May 23, 2018
  10. May 20, 2018
  11. May 19, 2018
  12. May 18, 2018
  13. May 15, 2018
  14. May 13, 2018
  15. May 07, 2018
  16. May 05, 2018
    • Jo-Philipp Wich's avatar
      luci-base: add transitional /etc/init.d/ucitrack · 9f796fad
      Jo-Philipp Wich authored
      
      
      Ship an /etc/init.d/ucitrack for spawning a virtual service with the sole
      purpose to track the configurations and dependencies formerly handled by
      luci-reload.
      
      Once all LuCI supported services ship with procd compatible init scripts,
      the uci track support can be dropped.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      9f796fad
    • Jo-Philipp Wich's avatar
      treewide: rework uci apply workflow · 8deb9495
      Jo-Philipp Wich authored
      
      
      Switch to rpcd based uci apply/rollback workflow which helps to avoid soft-
      bricking devices by requiring an explicit confirmation call after config
      apply.
      
      When a user now clicks "Save & Apply", LuCI first issues a call to uci apply
      which commits and reloads configuration, then goes into a polling countdown
      mode where it repeatedly attempts to call uci confirm.
      
      If the committed configuration is sane, the confirm call will go through and
      cancel rpcd's pending rollback timer.
      
      If the configuration change leads to a loss of connectivity (e.g. due to bad
      firewall rules or similar), the rollback mechanism will kick in after the
      timeout and revert configuration files and pending changes to the pre-apply
      state.
      
      In order to cover such rare cases where a lost of connectivity is expected
      and desired, the user is offered an "unchecked" apply option after timing
      out, which allows committing and applying the changes anyway, without the
      extra safety checks.
      
      As a consequence of this change, the luci-reload mechanism is now completely
      unsused since rpcd uses ubus config reload signals to reload affected
      services, which means that only procd-enabled services will receive proper
      reload treatment with the new workflow.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      8deb9495
    • Jo-Philipp Wich's avatar
      luci-base: enable uci session isolation · 7cca3139
      Jo-Philipp Wich authored
      
      
      Switch to per-session save directories to decouple LuCI configuration changes
      from system wide ones.
      
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      7cca3139
    • Jo-Philipp Wich's avatar
      luci-base: xhr.js: fix timeout setting with IE 11 · 34821b15
      Jo-Philipp Wich authored
      Internet Explorer 11 requires the timeout to be applied after the open()
      call, otherwise an invlaid state exception will be raised
      
      Fixes aa6c9715
      
       ("luci-base: extend xhr.js")
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      34821b15
    • Hannu Nyman's avatar
      luci-base: show wifi chip identification on overview · 4edc9256
      Hannu Nyman authored
      
      
      Show the correct wifi chip identification in case iwinfo
      recognises the chip.
      
      So far the wifidev.get_i18n function has practically always
      returned just "Generic", but use iwinfo.hardware_name to
      fetch the name.
      
      In case iwinfo returns the default "Generic MAC80211", there
      is a double 80211 in the final string, which is a cosmetic bug.
      
      Signed-off-by: default avatarHannu Nyman <hannu.nyman@iki.fi>
      4edc9256
  17. May 03, 2018
  18. May 02, 2018
  19. Apr 26, 2018