635621b04a
* feat: separate flow for folder and file uploads * feat: add basic index document detection * feat(wip): separate preview step * fix: fix kb and mb units * feat: add post upload summary, add some styling * feat: upload flow * fix: change element order and add conditional rendering * refactor: remove unused variables for now * fix: put back stamp creation to stamp page * refactor: rework postage stamps and grid * feat: add website and folder icons * feat: add asset preview to download flow, add file icon * feat: add basic design to postage stamp selection dialog * feat: add web icon, shorten stamp in preview * feat: extract swarm hash in download flow * fix: extract swarmbutton and solve icon hover and focus color * fix: always show buy button on stamp page * refactor: downgrade * refactor: speed up icon transition * style: improve download buttons * style: change [back to upload] icon * style: add spacing before swarm gateway text * style: post upload summary spacing * refactor: drop verticalspacing and use box * refactor: merge icons to one component * refactor: use conditions instead of weird assignment * docs: explain filter(x => x) * refactor: generalize capacity * refactor: avoid passing arrow functions * refactor: get rid of PaperGridContainer and Container * fix: fix hover color for postage stamps * feat: add disabled and loading state to buttons * fix: make drag and drop work for websites * feat: handle folders and non existing hashes * fix: provide empty default value to select to avoid console warning * style: remove body2 font variants * fix: remove typo * feat: disable folder upload, add website upload * fix: disable showPreviews to avoid flickering * feat(temp): remove folder upload * fix: remove stuck focus on buttons even after rendering different buttons * style: merge hover and focus styles, fix safari text wrap issue * style: remove dropbox outline in safari
87 lines
4.3 KiB
TypeScript
87 lines
4.3 KiB
TypeScript
import MuiAlert from '@material-ui/lab/Alert'
|
|
import { ReactElement, useContext } from 'react'
|
|
import CodeBlockTabs from '../../../components/CodeBlockTabs'
|
|
import ExpandableList from '../../../components/ExpandableList'
|
|
import ExpandableListItem from '../../../components/ExpandableListItem'
|
|
import ExpandableListItemInput from '../../../components/ExpandableListItemInput'
|
|
import ExpandableListItemNote from '../../../components/ExpandableListItemNote'
|
|
import StatusIcon from '../../../components/StatusIcon'
|
|
import { Context } from '../../../providers/Bee'
|
|
import { Context as SettingsContext } from '../../../providers/Settings'
|
|
|
|
export default function NodeConnectionCheck(): ReactElement | null {
|
|
const { status, isLoading } = useContext(Context)
|
|
const { setDebugApiUrl, apiDebugUrl } = useContext(SettingsContext)
|
|
const isOk = status.debugApiConnection
|
|
|
|
return (
|
|
<ExpandableList
|
|
label={
|
|
<>
|
|
<StatusIcon isOk={isOk} isLoading={isLoading} /> Connection to Bee Debug API
|
|
</>
|
|
}
|
|
>
|
|
<ExpandableListItemNote>
|
|
{isOk
|
|
? 'The connection to the Bee nodes debug API has been successful'
|
|
: 'We cannot connect to your nodes debug API. Please check the following to troubleshoot your issue.'}
|
|
</ExpandableListItemNote>
|
|
<ExpandableListItemInput label="Bee Debug API" value={apiDebugUrl} onConfirm={setDebugApiUrl} />
|
|
|
|
{!isOk && (
|
|
<ExpandableList level={1} label="Troubleshoot">
|
|
<ExpandableListItem
|
|
label={
|
|
<ol>
|
|
<li>Check the status of your node by running the below command to see if your node is running.</li>
|
|
<CodeBlockTabs showLineNumbers linux={`sudo systemctl status bee`} mac={`brew services list`} />
|
|
<li>
|
|
If your node is running, check your firewall settings to make sure that port 1635 (or your custom
|
|
specified port) is bound to localhost. If your node is not running try executing the below command to
|
|
start your bee node
|
|
</li>
|
|
<MuiAlert
|
|
style={{ marginTop: '10px', marginBottom: '10px' }}
|
|
elevation={6}
|
|
variant="filled"
|
|
severity="error"
|
|
>
|
|
Your debug node API should never be completely open to the internet. If you want to connect remotely,
|
|
make sure your firewall settings are set to only allow specific trusted IP addresses and block all
|
|
other ports. A simple google search for "what is my ip" will show you your computers public
|
|
IP address to allow.
|
|
</MuiAlert>
|
|
<CodeBlockTabs
|
|
showLineNumbers
|
|
linux={`sudo systemctl start bee`}
|
|
mac={`brew services start swarm-bee`}
|
|
/>
|
|
<li>Run the commands to validate your node is running and see the log output.</li>
|
|
<CodeBlockTabs
|
|
showLineNumbers
|
|
linux={`sudo systemctl status bee \njournalctl --lines=100 --follow --unit bee`}
|
|
mac={`brew services list \ntail -f /usr/local/var/log/swarm-bee/bee.log`}
|
|
/>
|
|
<li>
|
|
Lastly, check your nodes configuration settings to validate the debug API is enabled and the Cross
|
|
Origin Resource Sharing (CORS) setting is configured to allow your host. Config parameter{' '}
|
|
<strong>debug-api-enable</strong> must be set to <strong>true</strong> and{' '}
|
|
<strong>cors-allowed-origins</strong> must be set to your host domain or IP (you can also use the
|
|
wildcard <code>{"cors-allowed-origins: ['*']"}</code>). If edits are made to the configuration run the
|
|
restart command below for changes to take effect.
|
|
</li>
|
|
<CodeBlockTabs
|
|
showLineNumbers
|
|
linux={`sudo vi /etc/bee/bee.yaml\nsudo systemctl restart bee`}
|
|
mac={`sudo vi /usr/local/etc/swarm-bee/bee.yaml \nbrew services restart swarm-bee`}
|
|
/>
|
|
</ol>
|
|
}
|
|
/>
|
|
</ExpandableList>
|
|
)}
|
|
</ExpandableList>
|
|
)
|
|
}
|