Coder Social home page Coder Social logo

dynamix's People

Contributors

bergware avatar dmacias72 avatar eschultz avatar gfjardim avatar jonpanozzo avatar limetech avatar squidly271 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dynamix's Issues

real time parity info update

Question: if parity sync/check is running, is the info in the Array Operations tab and the status in the footer supposed to update? (It's not updating - have to hit Refresh to see updated status.) Just curious.

Expanded Shares page

Expand the Shares page:

  • rename ShareList.page to ShareListUser.page
  • create ShareListDisk.page

This makes the Shares page have two tabs:
“Disk Shares” and
“User Shares”

Slight change to the AFP/SMB/NFS/Export colums:

  • get rid of Export column
  • Under each protocol, if the share is exported as Public, display “Public”; if Secure, display “Secure”; if Private, display “Private”; if not exported at all, display a dash “-“.
  • To handle SMB exported but hidden, just put an asterisk, e.g., “Public*”, or maybe italics.
  • To handle AFP exported as time-mache, meh probably don’t need anything, but could also add asterisk or italics.
  • We could eventually replace words “-“, “Public”, “Secure”, “Private” with appropriate icons.

This way, we display same columns for both disk shares and user shares.

Eventually also add a Global Share Settings item called “Use disk id for comment”. If set to Yes, then the “Comment” field for disk shares, which is just a Samba config var, is set to the disk id string.

plugin check base os version

Something to ponder: there needs to be a way for a plugin file to specify the minimum "base os" version the plugin is compatible with.

For example, say we release unRaid base os version 6.0-beta14 which includes dynamix webGui code that's tagged maybe "2015-02-20". Once someone installs -beta14, when they go to plugin page and check for updates, it will show no updates available (correct).

But if someone is running say -beta12, when they go to plugin page and check for updates, it will say there is both a dynamix update available and an unRaid Server OS update available.

The problem is that if the dynamix update should not be shown in this case because it's "incompatible" with the -beta12 release they are running.

Need to fix this...

Move now button shows up even if "use cache" is set to no.

See post here: http://lime-technology.com/forum/index.php?topic=36527.msg341416.msg#341416

Essentially if someone has the "use cache" function disabled, but they have a cache drive, that means they do not want the mover to be invoked.

I think johnodon from our forums isn't saying the mover is kicking in automatically in this situation, but it is disturbing him that he's getting the "move now" option from the array operation page. An accidental click there could do something undesirable.

Thoughts?

Scheduled parity check not started after reboot

In the original webGui plugin I had this piece of code to add the parity check to the cron job

Create cron entry (if active)

entry=$(grep '^cron=' $cfg | cut -d'"' -f2)
if [ -n "$entry" ]; then
cron=/tmp/parity.tmp
crontab -l | grep -vi 'Scheduled Parity Check' | grep -v '/root/mdcmd check' > $cron
echo '# Scheduled Parity Check' >> $cron
echo "$entry" | cut -d"'" -f2 >> $cron
crontab $cron
rm -f $cron
fi

This ensures that the job is added upon reboot or re-installation. I guess we need some replacement solution to make it work in the new situation.

Revise background smartctl calling

The current implementation of emhttp does polling and storing of the smart attrbiutes of the disks at regular intervals in the background, by calling smartctl -A.

This approach has a performance impact when doing parity operations (and possibly when accessing files during normal operation).

Some ideas:

  • Lower the poll frequency (e.g. every X minutes, though this requires adjustment to notifications too)
  • A more distributed way of calling the individual disks.
  • A back-off mechanism when a parity operation is in progress
  • A back-off mechanism for active drives (read/write in progress)

Zend OPcache for PHP acceleration

For your consideration. I installed Zend OPcache and things look a bit snappier to my eye :)

php -v
PHP 5.4.34 (cli) (built: Nov 8 2014 00:31:18)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

Update for rc.local

I propose to add the following to rc.local

# Needed by dynamix
if [ -x /etc/rc.d/rc.cpuload ]; then
  echo "Starting cpuload daemon: /etc/rc.d/rc.cpuload"
  /etc/rc.d/rc.cpuload start
fi
--------------------------------
# Copy monitor.ini file
if [ -s /boot/config/plugins/dynamix/monitor.ini ]; then
  cp /boot/config/plugins/dynamix/monitor.ini /var/local/emhttp
  chmod -x /var/local/emhttp/monitor.ini
fi

# Copy custom banner
if [ -s /boot/config/plugins/dynamix/banner.png ]; then
  cp /boot/config/plugins/dynamix/banner.png /usr/local/emhttp/webGui/images
  chmod -x /usr/local/emhttp/webGui/images/banner.png
fi
--------------------------------
# Initialize notifications
# /usr/local/sbin/notify init - not needed, please remove
/usr/local/sbin/notify smtp-init

This allows stored threshold values for notifications to be restored upon system reboot
and load a custom banner upon system reboot

The notify init command is not needed and can be taken out.

Notifications page needs to be more configurable and needs better help documentation

There are two major features lacking from the current notifications system:

1) A way to configure what events should trigger a notification based on:

  1. Disk Temp (any single disk reaches "X" temp)
  2. CPU Temp (if available)
  3. Disk Spin Up (any one disk loud)
  4. Disk Spin Down (any one disk quiet)
  5. Array Spun Down (all disks quiet)
  6. APCUPSd Alert of Power Outage (if available)
  7. APCUPSd Alert of Imminent Shutdown (< X minutes configurable)
  8. System Powering Down (configurable for all powerdowns or only automated powerdowns)
  9. System Rebooting (configurable for all reboots or only automated reboots)
  10. Disk Failure (any single disk in array or cache)
  11. Disk Errors (SMART data errors; Tom M has some good input here I think)
  12. Other Hardware Errors (just generalizing now)

I am not sure of the degree of difficulty in getting any of these implemented, so my recommendation is we take the approach of easiest to implement first, then we can review the list again, see if there are any "must haves" for 6.0, and move on from there. Some of these could be moved to 6.1 if we needed.

2) Documentation on what specifically triggers a notification.

The only help documentation present right now is on the SMTP Settings tab. We need to add help documentation to the Notification Settings and Archived Settings tab to explain each setting. I will volunteer to do the actual writing, but first we need to define the events, their triggers, and what configuration options we want to put in there.

You have uncommitted form changes

This has been long time on my to-address list. Normally I run with this setting off because it's just too annoying, but had occasion to set up a new server and remembered why: if your window is sized such that the 'apply' button happens to fall underneath this notice, you can't click it until the notice disappears - very very annoying.

My suggestion: get rid of that shadow-notice-whatever-its-called... instead how about this: have the 'Apply' button disabled until/unless someone changes a field in the corresponding form - at which point the button become enabled. This is how windows dialogs work & what most people would be used to.

sticky header and help

Something the pre-dynamix webGui had was a "sticky header" and a Help button that automatically turned off when you navigated to another page.

The idea behind the sticky header was to permit you to click that Help button no matter where you are scrolled in the page. For a long page this is nice because currently you have to scoll to the top, click Help, then scroll back (and try to find) where you were. A powerful feature I wanted in the Help system was that you could click it anytime easily to display the help text.

I think we should consider restoring this functionality.

Log button issue

Clicking 'Log' button when Log window already open causes new window to open and just sit there with no content. Instead, focus should just go to already existing log window. (This is how it used to work.)

Remove "notify init" from rc.local

On system start-up the command "notify init" is not required. It will try to chmod files which don't exist at that point in time.

Starting with only "notify smtp-init" is sufficient to have the notifications system initialized.

Dashboard enahancement

Soon there is going to be a "dynamix.domain.manager" webGui built-in which will be similar to existing dynamix.xen.manager with ability to manage either KVM or Xen virtual machines, depending on user boot selection.

The idea with virtual machines, whether designed to run under KVM or Xen, is that each will be represented by an icon, in similar manner as Docker containers. Clicking the icon will bring up controls for the VM similar to Docker container controls.

From a user perspective, these Icons simply represent "Apps" they have running on their unRaid server, and this is exactly the concept we are trying to implement.

Therefore, what I'd like to see is a section at the top of the Dashboard called "Apps" which lists all the Docker containers and Virtual Machines installed by the user. It's not necessary to separate them out by type (ie, container vs vm), but maybe the type is displayed when user clicks an icon to bring up the drop-down menu.

Also.......... one more thing to try and get onto the Dashboard: Move the "Array Operations" there (and at same time we can rename "Main" to "Devices"). This should let user stop/start array and spinup/down all devices, etc.

With these changes, the Dashboard will provide all the critical status and control operations.

Comments?

Duration and exit code of last parity check in $var

At the moment I scan the syslog file to find duration and exit code of the last parity check, which is subsequently displayed on the Array Operation page, this is an inefficient approach - specially when the syslog file is big.

A better solution would be that duration and exit code are stored in $var. In conjunction with variable 'sbSynced'. These values can then be read instantly like all other values.

Bonus question: what parity check exit codes exist ?

Duplicate generated NTP server entries in /etc/ntp.conf

At the bottom of /etc/ntp.conf you'll notice duplicate generated server blocks:

# Generated entries follow:
server pool.ntp.org iburst
# Generated entries follow:
server pool.ntp.org iburst

In the web ui, changing the NTP server 1 from pool.ntp.org to say 10.0.0.1 will update the bottom of /etc/ntp.conf to:

# Generated entries follow:
server pool.ntp.org iburst
# Generated entries follow:
server 10.0.0.1 iburst

apcups is buggy

I notice a number of problems... If no one else is working on it, I'm going to start fixing...

ShareEdit.page bugs

First, on ShareEdit.page – the Included/Excluded drop down select functionality is broken: no matter what is checked, it results in only the last item being selected. Also I'm a little concerned on use of the word "All" as both a field value and in the dropdown (all) to select all the boxes. Reasons is that you almost always want to leave these fields blank (meaning all/none). But if a user thinks they need to fill this out, they would pick (all) from the drop-down, resulting in their current set of disks being assigned to the mask. This would work, but later (maybe months later), say they add a new data disk. What will happen is their files will not expand into this disk because the new disk is not selected in the include mask. This particular "bug" cost me several hours once during email support until I realized user was using dynamix plugin. I'm not sure if same behavior exists because of aforementioned bug however.

Second, the dropdown for Split level has nonsensical wording. A better selection list would be:

$split = array(
"" => "Permit any directory to be split",
"0" => "Manual: do not automatically split directories",
"1" => "Automatically split top directory as necessary",
"2" => "Automatically split top two directory levels as necessary",
"3" => "Automatically split top three directory levels as necessary",
"4" => "Automatically split top four directory levels as necessary");

Not sure how far to take this beyond 4, probably no one would set beyond 4 but maybe we should add a couple more to be safe.

Lastly, the images appear in the lower-left corner, is that where they are supposed to be? But IMHO they add to the confusion and should be omitted for now until we can come up with better ones.

Edit: forgot to add...
In this code block:

if ($var['shareUserInclude']) {
  $myDisks = explode(',',$var['shareUserInclude']);
} else {
  $myDisks = array();
  foreach ($disks as $disk) $myDisks[] = $disk['name'];
}

if ($var['shareUserExclude']) {
  $exclude = explode(',',$var['shareUserExclude']);
  foreach ($exclude as $disk) {
    $index = array_search($disk,$myDisks);
    if ($index !== false) array_splice($myDisks,$index,1);
  }
}

The use of $var['shareUserInclude'] and $var['shareUserExclude'], indeed all $var elements of the form "shareXXX" is invalid - that is, they are not guarenteed to be valid on a page refresh for the share being displayed. Instead you have to look at $share['include'] and $share['exclude'].

Install Plugin browse local file system

On the Install Plugin page (tab) there are two ways to select the plg file: by pasting a URL into a text box and by navigating the server file system.

It seems to me there is no value in navigating the server file system. Instead it should be a control that lets you navigate the file system of the computer running the browser. For example, it should let me navigate to the 'Download' folder on my local windows PC, select a plg file, and then upload that to the /boot/config/plugins folder on the server. Make sense?

Fan speeds in dashboard

Can we have fan speeds in dashboard?

I know this code works alright:

<?
exec("sensors -u | grep -Po 'fan[0-9]*_input: \K[0-9]*'", $fans);
if (count($fans)):
    echo "<tr class='view1'><td rowspan='".count($fans)."'>Fan speed</td>";
    for ($c=0; $c<count($fans); $c+=1):
        if ($c) echo "<tr class='view1'>";
        echo "<td colspan='1'>FAN". strval($c+1) ."</td><td colspan='2' class='blue'>". $fans[$c] ." RPM</td></tr>";
    endfor;
endif;
?>

Sorry for not push it right, it's year's end and things got messy.

Happy new year!

Typo in dynamix plugin description

As identified by a community member. Navigate to the plugins page and look at the description for Dynamix:

The Dynamix webGui is the latest interation of the unRAID OS System Management Utility.

Should be written as "iteration".

Request: add controls for port changing and start/stop under ftp

A user has requested us to modify our ftp settings page to make this service more configurable. Initially it'd be ideal if we could change the service port(s) as well as start and stop the ftp service altogether. Thoughts on how difficult this would be to implement?

Events triggered on power failed/power restored

Would it be possible to generate events triggered by power failed/power restored, as detected/reported by apcupsd?

I have a process, impkemented as a plugin (pop mail fetcher), which I would prefer not to be launched if a shutdown is imminent. Waiting for the events triggered by the actual shutdown is leaving it too late, and the plugin has to issue a kill -9 to ensure the process stops before the the array is stopped.

I'm sure that there will be other plugins which could benefit from being warned as soon as the power failure is detected.

/usr/local/sbin/plugin creates file even if the URL doesn't exist

Hi LT,

The function download of /usr/local/sbin/plugin script creates the file $name even if a 404 error is returned by the remote server. This is due to a bug in wget.

Example: wget https://raw.githubusercontent.com/limetech/dynamix/master/logging.ht -O /tmp/a

It will create a /tmp/a even it not existing.

I coded a replacement using curl:

function download($URL, $name, &$error) {
if ($file = popen("curl -fL# -o '${name}' '$URL' 2>&1", 'r')) {
echo "plugin: downloading: $name ...\r";
$level = -1;
while (!feof($file)) {
if (preg_match("/\d+/", stream_get_line($file,1024,"%"), $matches)) {
$percentage = $matches[0];
if ($percentage > $level) {
echo "plugin: downloading: $name ... $percentage%\r";
$level = $percentage;
}
}
}
$retval = pclose($file);
if ($retval == 0) {
echo "plugin: downloading: $name ... done\n";
return true;
} else {
$error = "wget: $URL failed";
echo "$error \n";
return false;
}
} else {
$error = "wget: $URL failed";
echo "$error";
return false;
}
}

Best regards.

Some formatting/coloring changes

In this image we see the Registration page in the 'black' theme. Notice that text block starting with "Your server..." needs to have a little left and right margin. This effect is also seen in the file browser - that text butts right up against the left and right window and it would look better with a little margin.

Also notice the links are in blue and fairly easy to distinquish.

capture

Here is the same page in the 'white' theme. Notice the links are very hard to distinguish. I've noticed this on other pages too. Can we do something to make these stand out better, eg., brighter blue?

capture

Unplugged drives not removed from unRAID Vars when array is started

To recreate this issue, perform the following steps:

  1. Assign a cache device in unRAID and start the array.
  2. Stop the array and unplug power/SATA from the device.
  3. Start the array.

The expected behavior would be to detect the removed device and to start the array without a cache device assigned OR to prompt the user that the array cannot be started with the current disk configuration.

The actual behavior is that the array starts, still shows the old device assigned, but as "unformatted" and reports a massive amount of writes under that column. I haven't tried "formatting" but would assume that would cause an error.

The workaround for this is to manually deassign the cache device from the cache slot in the webGui before starting the array.

Proposed solution:

Normally when someone wants to hotplug add or remove a device while the array is stopped, the trick is to click the "refresh" button built into the webGui under array status to rescan the SATA ports for new devices and detect the device removal/addition. When this step is performed after removing a device from a cache slot, the device is removed from being assigned to the slot automatically. As such, I propose that when "start" is clicked, a mandatory "refresh" be applied first to ensure that all devices assigned to slots under the "devices" tab (old Main tab) are actually present and accounted for.

Disk status symbols

Since the introduction of the new status symbols no real reactions/feedback was given until now.

See this post http://lime-technology.com/forum/index.php?topic=40209

I have made a proposal to introduce yet another shape and associate the yellow status with a diamond shape, but before doing anything further or participate in the discussion I like to hear your view, at the end of the day this is something LT has to support, and you guys have the final verdict here.

Change Main to Devices

Change top level "Main" to "Devices". This is logically how it should appear, but lots of forum posts and documentation refers to "Main". Hmmm.. comments welcome.

SmtpSettings.page needs improvement.

If someone wants to take a stab at these improvements, I'd be most grateful:

  1. The "Test" button. First, this button should be "greyed out" any time user changes one of the field values but before they click Apply. The way it is now, someone could fill out the various fields, click 'Test' and then be baffled why it doesn't work - it's because none of the settings have been applied yet!
  2. The email test function itself, implemented by include/SMTPtest.php could use some work: it returns "success" if ssmtp merely executes. I added an exit status to 'notify' command. If 'notify add -t' is invoked then command exit status will be 0 if php mail() function returns true, returns 1 if function returns false. This can be used to tell at least if mail() tried to work and should be incorporated in test result.
  3. I'd like to see a "Default" button in the left hand column next to 'Apply', similar to how it works for DisplaySettings. But with a wrinkle: I'd like to see perhaps a dropdown that lets user choose from the popular email servers out there. So if someone is using gmail, they select "default settings for gmail" and most of the fields get filled in. They only have to enter their login/password. This just makes it easier on users. Here is a very exhaustive list, I don't think we need more than a handful:
    https://www.arclab.com/en/amlc/list-of-smtp-and-pop3-servers-mailserver-list.html
    Of course we only care about smtp, not pop3.

When array stopped in Xen mode, Xen tab displays redundant warning messages

In beta 11h, when array stopped and you click on the Xen tab, you get two of the same warning messages. One is formatted / worded slightly different than the other and doesn't remain consistent with the warning messages on the other tabs. The wording that contains the word "started" in bold should remain and the other should be removed.

Notifications challenges

Based on feedback from the forum I did some further investigation in the notifications system not working properly after a reboot. There are two conditions which prevent notifications to start working:

  1. The archive folder by default is set to /tmp/notifications which is not created after a reboot. This is only done when the webGui is opened and issues a "notify init" command.
  2. The monitor script reads the files disks.ini and var.ini, these files however do not exist until the webGui is opened a first time and emhttp kicks in.

There might also be a race condition when the archive folder is moved to a disk or share, it might be that the disk or share is not available yet or not available anymore.

Currently rc.local does a "notify smtp-init", it can do a "notify init" as well, this would overcome point 1, but maybe there are better solutions ?

Not sure how to tackle point 2, or is there a way to force the creation of all the .ini files ?

The race condition may or may not be an issue (I suppose when it happens it simply does not store the notifications and they are lost).

Thoughts ?

Users page needs work

I'd like the icons on the Users page to be same size as other icons in the system: 48x48. The text underneath the icon should be the user name and the user description should display in a rollover.

The default icon for a user is ok to be current silhouette. But I'd like to see the code look for a custom icon in /boot/config/plugins/dynamix/users/.png. This way users can copy their own custom user image/avatar to that directory on the flash to customize the look.

In a later release we will add capability for 'groups', and I'm thinking we'd end up having a div on the Users page for each defined group.

Move "Mover Settings" to "Scheduler" page

Tom and I had discussed this a while back and I think it's coming to the time for us to do this. Essentially what needs to happen is the mover settings at present are located on the Global Share Settings page. This needs to be relocated to the Scheduler page as it makes much more sense to keep all scheduled events (such as the mover) grouped together.

'yellow-xxx' icon

bergware - wondering if you can find yellow-on icon where the icon itself stands out a bit more. Maybe just a slightly more 'orange' look to it. Even though color says "yellow" it really should be more orange. The naming of the color was after traffic lights where people commonly call the middle, or warning signal "yellow" when it's really amber/orange.

Notification box empty on Docker page

When a notification exists it is properly displayed on all pages except the Docker page.

It becomes an empty white/transparent box without any text.

SMART self-test not working on OCZ SSD as cache device

This is extremely odd as it is only affecting this particular SSD on one of the test systems. Its a 120GB OCZ-VERTEX3 SSD that I'm using as the cache device with BTRFS (single device, no pool).

It's not malfunctioning or anything like that, but SMART self-tests don't seem to work through the webGui on it. The test "runs" in that it moves through the percentages, but when it completes, nothing shows up on the self-test log page and "Last SMART test result" still shows "No self-tests logged on this disk."

Trying this with other SSDs on another test system and they seem to work just fine. Tried clearing my cache and another browser (tested both Chrome and Safari so far) and this doesn't resolve the issue.

Disk identity sub-page
Model Family: SandForce Driven SSDs
Device Model: OCZ-VERTEX3
Serial Number: OCZ-83X3BLPQ1M7YJ2YG
LU WWN Device Id: 5 e83a97 c33a5ec1b
Firmware Version: 2.22
User Capacity: 120,034,123,776 bytes [120 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS, ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Nov 24 16:11:52 2014 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
SMART overall-health : PASSED

Bug: If user has a browser window with the log opened by clicking the "log" button, other http connections are denied

There are actually a few pages that work like this where the system becomes bound to the browser of the device with that window left open. I also would wager this is potentially where many of the claimed "webGui is unresponsive" errors are coming from (people leaving windows open with the log or something and then not being able to get back in).

To recreate:

  1. Open browser to webGui on device A and click "log" in the top right.
  2. Open browser to webGui on device B and it hangs.
  3. Close log pop-in on webGui on device A and webGui becomes available on device B and A.

We should build a list of all the webGui functions that call a pop-in and bind the http session to that single device and really rethink whether that makes sense or not. When doing a "check for updates," I think it makes sense (to prevent others from manipulating data while operations are in affect). But for a log, I don't think that's a good idea.

Save and restore notification thresholds to/from flash drive

The monitor script dynamically builds the file /var/log/emhttp/monitor.ini to store thresholds for the different notifications.

Upon system reboot this file is lost and no thresholds are present, resulting in first time notifications, which some users prefer to suppress. This can be done by restoring the monitor.ini file from the flash drive.

I modified the monitor script that only changes to the thresholds are written to flash, this to minimize access to it and avoid wear-out.

To restore the monitor.ini file I put currently a workaround on my system. It uses the go file to check for the presence of the file on flash (/boot/config/plugins/dynamix/monitor.ini) and copy it over to RAM. A better approach is to have this action as part of the boot up sequence, e.g. in rc.local.

What do you think about the idea of storing the notifications thresholds and start up support, should we do this ?

What happened to the messages for "Check for updates"

What exactly has been changed which causes no more messaging when the box is opened to show plugin updates ?

Is this intentional, because I see the remark for one of the internal unraid versions "to be less verbose" ?

As it stands now, it is confusing since it gives the user the impression nothing is happening, specially when there is a long list of plugins to be verified.

Weird scenario with e-mail notifications not working yet test reports "mail sent"

I don't know if this will come up or not, but here's a weird scenario where e-mail notifications don't work. If using a gmail account for the sending account, you have to authenticate. If you change the mail server from smtp.gmail.com to smtp.google.com, but leave everything else the same, it reports "mail sent" even though no mail is ever received. Not sure if this is just a weird quirk with how we're doing this or what.

I tried typing in a bogus mailserver and giving the correct mailserver the wrong port: those tests work fine. But when given a valid mailserver but with invalid access, the test message should report a failure.

Check network connectivity in unRAIDServer.plg

Below a substitute function to check network connectivity, this approach pings the google DNS server, in doing so we check network connectivity outside the local network and avoid situation where local gateway won't respond to pings.

# Wait until network is ready
  ip=8.8.4.4
  timer=30
  while [[ $timer -gt 0 ]]; do
    if [[ -n $(route -n|awk '/^0.0.0.0/{print $2}') && $(ping -qnc1 $ip|awk '/received/{print $4}') -eq 1 ]]; then
      break
    fi
    ((timer--))
    sleep 1
  done
  if [[ $timer -eq 0 ]]; then
    echo "No network communication !!!" &gt;&amp;2
    exit 1
  fi

Ps. Funny to see that everybody copies my 'old' network check :)

Notifications broken

Perhaps it was better to pull the changes to github first, before releasing rc3 ...

limetech-talks

Add Flash Share tab

The comment on the forum made me rethink the shares approach for Flash.

I have added a third tab called "Flash Share" under Shares. This tab is unconditional and is shown when the array is started or stopped. It is also treated as a separate entity, meaning the N/P buttons are not available under flash, while the N/P buttons under Disk Shares have Flash excluded.

Following this approach we can truely say that under Main all device settings are given, while under Shares all share settings are given.

The rearranging is pretty easy to do, and if you agree or like to see the result, I can put it on github.

Let me know.

networking info incorrect if only bridge

In SystemInformation.php, there are checks for bond and eth interfaces. But if there is a bridge defined, network info is reported through the bridge i/f (eg, 'br0'). That is, bond is 'above' physical 'eth', and bridge is above bond.

This results in:
eth0: not connected
eth1: not connected

Fix is to see what is the name of the bridge and then look for it in ifconfig -s.

This issue also affects the Dashboard Network display.

"multipart/form-data" not supported by emhttp ?

I have created a drag-and-drop feature for the user images. It allows a user to drag an image onto a user box and have the old/original picture replaced.

This function calls a PHP script to do the reception of the binary image file (POST) and it uses as content-type "multipart/form-data". emhttp however responds to this with an error 501: unsupported feature.

Anyway to have emhttp accept binary file uploads ?

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.