Planet scale hobby tier is closing down on 9 April which is the deadline for the project.  The database will need to be moved before we submit the project.

Investigated cloud services that were free or had trials for the period of review for the project.
A cloud service helps the development process, it means that all developers can access the database at the same time and they can work locally on the code, only needing to push source changes to github.
Other cloud offerings are available - for example google cloud offers $300 worth of free hosting for 90 days.  However this may require re-work of the connection code for the database.
With the deadline approaching the sensible thing to do is to host with GS for the app and the database.
Prove this works.  This means there is a working solution in place.  This is a better option at this point than trying to re-implement on a cloud platform which has no guarantees in the timeframe.
Hosting at GS means that testing becomes very hard for the development team.
So I propose that the development continues on the development platform planetscale.

The working app and database be installed in the production location which is GS.
The process of switching over is documented and tested.
Git is installed at GS so it can pull the changes.
3.5.  all express modules will be installed in GS as a check that these are available
The database export and any changes to the database scripts are tested and documented (so they can be run later)
The app.js is changed so it looks for a GS= variable in the .env, if it finds one it will set up the database connection for GS. if it doesn't find this variable it will setup the database connection for planetscale.
the .env is not in github so this will mean that a manual .env can be created in GS to prove that the app will work
but this will not stop the development team using planetscale.
When the development is complete a git pull origin main will be executed from GS which will get all up to date code.
A database dump will be performed from planetscale and this will be altered based on the documentation

database successfully imported to uni server

git set up and code pulled from git to uni servers

Problem with bcyrpt npm install on uni servers.  Likely to do with versions being out of date.  Under review.  Various solutions found online.
One is to upgrade the version of ubuntu - I'd rather avoid that with it being reading week.
Another is to uninstall node and re-install it using nvm - this I might try.
npm ERR! code 1
npm ERR! path /home/jbrun001/project/roombooking/node_modules/bcrypt
npm ERR! command failed
npm ERR! command sh /tmp/install-9d46bc39.sh
npm ERR! node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)

Attempted to upgrade ubuntu from 18.04 to 20.04.
After a research here are the steps that were taken
sudo apt update
no updates but 123 identified
sudo apt upgrade
317 mb of data upgrated
installed screen
sudo apt get screen
set created a screen called ubuntu-upgrade which opens a new window
that persists if there is an error, you can login in again and attach
to that window if the upgrade failes in some way
screen -S ubuntu-upgrade
sudo do-release-upgrade

Yes to are you sure you want to do this over SSH
enter
upgrade failed due to lack of space
upgrade rolled back automatically

Remaining options.

Upgrade Node to a version that doesnt have the error
Downgrade Node to a version that doesn't have the error.
Go into Uni before the 28th and create a new virtual machine specifically for this and hope that the new ones available are not ubuntu 18.04

The developer environment is using v18.18.1 but this is not available on ubuntu 18.04.x
PS D:\Yr02 Computing Project\git\roombooking> node -v
v18.18.1
Current versions:
jbrun001@doc215:~$ nvm -v                                                                                0.39.5                                                                                jbrun001@doc215:~$ node -v                                                                                v16.17.0                                                                                jbrun001@doc215:~$ npm -v                                                                                8.15.0             jbrun001@doc215:~$ hostnamectl                                                                                Static hostname: doc215                                                                                Icon name: computer-vm                                                                                Chassis: vm                                                                                Machine ID: 78d7d469d6b892d474201e4c38b0473b                                                                   Boot ID: 2e58b7ff709945488d25f1df778a4124                                                            Virtualization: kvm                                                                                Operating System: Ubuntu 18.04.6 LTS                                                                                Kernel: Linux 4.15.0-163-generic                                                                jbrun001@doc215:~$  x86-64   jbrun001@doc215:~$ df -h Filesystem           Size  Used Avail Use% Mounted on udev                 217M     0  217M   0% /dev tmpfs                 49M  688K   48M   2% /run /dev/mapper/vg-root  3.5G  3.3G   74M  98% / tmpfs                241M     0  241M   0% /dev/shm tmpfs                5.0M     0  5.0M   0% /run/lock tmpfs                241M     0  241M   0% /sys/fs/cgroup /dev/vda1            461M  123M  315M  28% /boot tmpfs                 49M     0   49M   0% /run/user/1000 jbrun001@doc215:~$

Find out what version of GLIBC is installed on GS server
jbrun001@doc215:~$ ldd --version
dd (Ubuntu GLIBC 2.27-3ubuntu1.6) 2.27
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
jbrun001@doc215:~$
find out what versions of node are already installed (not the currently used one but any that are installed)
jbrun001@doc215:~$ nvm ls
->     v16.17.0
         system
default -> v16.17.0
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.17.0) (default)
stable -> 16.17 (-> v16.17.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0 (-> N/A)
jbrun001@doc215:~$
So we have 2.27 GLIBC and node 16.17.0
Try installing node 16.15.1 via nvm - keeping the existing version in place so we can go back to it if needed
jbrun001@doc215:~$ nvm install 16.15.1
This results in not enough space errors.  examples are
deps/openssl: Cannot mkdir: No space left on device
/lib Cannot mkdir: No space left on device
From what I can tell it's not meant to be installing node in /lib etc.  it's meant to be installing it in /home/jbrun001.  It looks like the "system" version of node is what's installed.  This is very strange because in my forum assignment I used bcrypt and it installed ok.  Could this be because the package.json specifies a specific version of bcrypt that needs to be loaded, and this version is one the only works against 2.28.  Because the package.json and the package.lock are in git they get synced to the GS server and then when npm install bcrypt it automatically gets the version in the package.json and not the one that's compatiable with the current version of node?

Disconnecting the tracking for package.json and package.json.lock
from the roombooking folder which is synced with git locally in the terminal window of vscode
git rm --cached package.json
git rm --cached package-lock.json
.gitignore added:
# package files - these can be re-created if needed on a new install with npm init
# and then running the npm install (all the modules here) part of the readme.md
package.json
package.json.lock
This resulted in package.json and package.json.lock remaining on my local system.
package-json.lock seems to still be in git (not ok) but package.json isn't on the server (thats ok)
ok error is that the file name is wrong in git ignore
changed to:
# package files - these can be re-created if needed on a new install with npm init
# and then running the npm install (all the modules here) part of the readme.md
package.json
package-lock.json
Now everything is as expected.
I have taken a local backup of the two files in case this causes anyone a problem.

GS virtual myserver servers are not accessible at the moment:
Looks like DNS lookup issue internally from doc.gold.ac.uk to myserver.doc.gold.ac.uk
and also DNS lookup on doc.gold.ac.uk.
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: DNS lookup failure for: myserver.doc.gold.ac.uk
Apache/2.4.41 (Ubuntu) Server at www.doc.gold.ac.uk Port 443
doc.gold.ac.uk failing tracert
tracert doc.gold.ac.uk
Tracing route to doc.gold.ac.uk [<IP_ADDRESS>]
over a maximum of 30 hops:
...
  4     8 ms    13 ms     9 ms  128.hiper04.sheff.dial.plus.net.uk [<IP_ADDRESS>]
  5     7 ms    10 ms    10 ms  peer7-et-3-0-1.telehouse.ukcore.bt.net [<IP_ADDRESS>]
  6     8 ms    13 ms     5 ms  linx-gw1.ja.net [<IP_ADDRESS>]
  7    13 ms     7 ms     9 ms  ae23.londtt-sbr1.ja.net [<IP_ADDRESS>]
  8    11 ms     5 ms     6 ms  ae28.londtw-sbr2.ja.net [<IP_ADDRESS>]
  9     7 ms     7 ms     7 ms  ae26.londtw-ban1.ja.net [<IP_ADDRESS>]
 10    16 ms     6 ms     6 ms  <IP_ADDRESS>
 11     *        *        *     Request timed out.
 12     *        *        *     Request timed out.
13     *        *        *     Request timed out.
Can't do any more until this is resolved.  Might be maintenance affecting the servers.  going in to create a new server might have the same issue.

servers back up.  I'll go in later this afternoon.  The two failed upgrade attempts are
taking up all the space in /tmp.. So will need to create a new virtual server.
but I can't delete them because I'm not root and I can't sudo.
drwx------ 8 root  root  4096 Mar 23 12:34 ubuntu-release-upgrader-i3kp8mlm
drwx------ 8 root  root  4096 Mar 23 12:16 ubuntu-release-upgrader-qt5x732_

Uni package.json for reference
 "dependencies": {
   "bcrypt": "^5.1.1",
   "body-parser": "^1.20.2",
    "cookie-parser": "^1.4.6",
    "dotenv": "^16.4.5",
    "ejs": "^3.1.9",
    "express": "^4.19.2",
    "express-session": "^1.18.0",
    "morgan": "^1.10.0",
    "multer": "^1.4.5-lts.1",
    "mysql2": "^3.9.3",
    "path": "^0.12.7",
    "qrcode": "^1.5.3",
    "sanitize-html": "^2.13.0",
    "speakeasy": "^2.0.0",
    "tinymce": "^6.8.3"


"Poison pills"

An example found doing manual testing is having 2 virtual services with same domain - resulting in all listeners getting rejected. This particular bug is supposed to be fixed now - the problem is that we have no
way to debug or notify user of such cases.
This also affects customers who have production issues - one example is a failure to find an endpoint
resulting in LDS not having in listeners and cascading failures.
We need to add at least more logs and metrics in all error points.

Not release blocking per discussion with @costinm @louiscryan and @jasminejaksic.

I believe this is a planned work item for 1.0 pilot but I'm not sure if anyone has taken it @rshriram ? I do agree it's a high priority for usability.


Update run-containers.md

Proposed changes
removed indent in "msg":testing since the indentation disables code syntax highlight and does not allow people to copy the code.
Before my fix

After modification
https://deploy-preview-13490--docsdocker.netlify.app/language/nodejs/run-containers/#overview

Unreleased project version (optional)

Related issues (optional)

@usha-mandya Yes 😄


don't throw a new exception, throw by value!

Coverage remained the same at 96.857% when pulling 65811b1e8a88c73aa6f518432542291477263896 on bug-fix/dont-throw-new-exception into 827057ff14dfd187259904a065c0a0468ab6fde3 on main.


Netrw: Incorrect command description states in the documentation for changing the current directory

Describe the bug
According to the Netrw documentation cd should be used for changing the current directory:
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
          This change was done to allow for |netrw-cb| and |netrw-cB| maps.

But c is used in the QUICK REFERENCE
To Reproduce

Run :help netrw-quickmaps
Look at the command for Make browsing directory the current directory description

Expected behavior
cd is the map for changing the current directory
Environment (please complete the following information):
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 15 2019 23:09:16)
pi_netrw.txt  For Vim version 8.2.  Last change: 2019 Dec 10

Looks like *pi_netrw.txt*  For Vim version 8.2.  Last change: 2020 Jun 07 has already fixed the issue.

so it can be closed.


cli(ticdc): add cli checks while using --pd

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

/cc @asddongmen

/run-verify-test

/run-all-tests

/merge

Codecov Report

Merging #6184 (3295422) into cli-use-open-api (f9b4b75) will increase coverage by 0.0677%.
The diff coverage is 75.0000%.

Flag
Coverage Δ

cdc
65.6933% <75.0000%> (+0.1283%)
:arrow_up:

dm
51.8951% <ø> (+0.0202%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@                   Coverage Diff                    @@
##           cli-use-open-api      #6184        +/-   ##
========================================================
+ Coverage           58.8026%   58.8704%   +0.0677%
========================================================
  Files                   716        716
  Lines                 84736      84810        +74
========================================================
+ Hits                  49827      49928       +101
+ Misses                30443      30418        -25
+ Partials               4466       4464         -2


chore: migrate build to vite

hi @megasanjay i'm complete working
but need access to complete refactor your repo, can give me access?
and i publish test version and check in production https://www.npmjs.com/package/@reslear/vue3-lottie

add options
.use(vue3Lottie, { name: 'LottieAnimation' })

name string (default: 'Vue3Lottie') - set custom component name


Longest Increasing Subsequence

Problem: Find the Longest Increasing Subsequence (LIS)
Given an unsorted array of integers, find the length of the longest increasing subsequence.
An increasing subsequence is a subsequence in which the elements are in increasing order, but not necessarily contiguous in C++ .

Please assign this to me.

I will be a good coding exercise for me to solve it, can you assign this problem to me?

@ShaswatShrivas Follow code of conduct by Star the repo!

@HarshwardhanPatil07 please assign this issue.


⚠ Bofrost.nl has degraded performance

In 6cfad4d, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1056 ms

Resolved: Bofrost.nl performance has improved in a0091f9.


Integrating gulp for development of angular-jsdoc sources

It would be great if angular-jsdoc can integrate its own Gulpfile. I can work on this developer feature/nice-to-have and create a PR.
The Gulpfile should at minimum provide the following tasks.

analysis: Run JSHint and JSCS (JS Code Style) and fail if either of those throw warnings or errors.
docs: Delete the angular-template/docs and default/docs and regenerate them from sample-codes.

Whoops! I just noticed that there is already a Gulpfile present! It doesn't have any helpful developr tasks other than incrementing the version number.
Would you be open to a PR that adds additional tasks and gulp plugin integrations? Ie JSHint and JSCS?

I intentionally did not add a gulp file for simplcity since npm command can handle it all. npm has very extensive support for these command. e.g., npm start, npm publish, npm test, etc. I found this article useful. http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool.
TLDR; getting away from grunt/gulp, and getting back into npm.


PR labels for copy+paste translations

This is a follow-up question for #2967.  (cc @Trim21)
Looking at #1677, new triggers are being added and there's copy+paste of various languages.  Nothing new is being translated, I'm just trying to save some work.  However, this copy+paste leads to these labels:
PR_NUMBER=1677 node .github/scripts/auto-label.cjs
label: cn [translation]
label: de [translation]
label: ja [translation]
label: fr [translation]
label: ko [translation]
label: raidboss [filename] (ui/raidboss/data/05-shb/trial/wol-ex.js)
label: raidboss [filename] (ui/raidboss/data/05-shb/trial/wol-ex.txt)
label: raidboss [filename] (ui/raidboss/data/manifest.txt)
apply: ["raidboss","�CN","�DE","�JA","�FR","�KO"]

Should we ignore new translations when the object itself that the translations are included in is also added?  Mostly I ask because if you did filter it out (so that this patch would only be "raidboss"), then a "de" label on its own is "this is a translation patch only" and "de"+"raidboss" means "this is a translation patch that also has other raidboss changes".
One reason I was thinking this is that I think these labels might make it possible to do what @panicstevenson has suggested to me for forever, and that's to automate the release notes.  I usually skip translation patches there because there's usually a lot of them, and (maybe I'm wrong) but I think that the information conveyed by saying "translated a bunch of in arr" is not very useful to anybody.  So, having a way to say "this is only a translation patch" would be useful for me (and maybe more useful for people looking at PRs as well)?
Mostly just asking here because I don't know how people expected to use labels.
(This does make me also wonder if we should include +netregexDe kinds of lines too as translations.)

I don't think so, a CN translation is added for a new raid indeed.

Thinking about an end product of a changelog, I would expect something like:
Raidboss:
 - Added WoL Ex (#<fake number to not link>)
Translations:
 - Chinese (#FakeNo1, #FakeNo2)

In which case, I think tagging that I added something in Chinese would not be true. For this case, I would also expect that + netRegex\w{2} should not add a translation tag, since those generally get added in a batch?
Maybe a counter-point would be to stop bringing in default translation blocks from other languages (to avoid incorrect translations) and to instead focus on using and extending Outputs? I say this even though I'm probably the most guilty person when it comes to that pattern.

And I think - netregexDe maybe a good suggestion.

So sounds like maybe we shouldn't copy and paste translations then, both for correctness and for labels.  Sorry for copying and pasting incorrect translations in the past!
Ok, assuming that we stop doing that, then if we want to be able to generate such a changelog, how do we say that 2966 (see output in this comment) is only a translation patch and not a raidboss patch.  I mean, technically it is a raidboss patch too (and so maybe that's good to have a label, to differentiate "this is an oopsy translation" from "this is a eureka translation"?)
We can certainly have a different script generate a changelog.  It doesn't have to be tied to labels, although reusing the label code would be convenient.

I think it's enough if you write merge commit message in semantic commit message, there are a lot of changelog generator...

Yes, but this comes back to enforcing that everybody else writes commit messages that can be parsed properly.  (Or it means that I carefully rewrite everything to be a proper commit message?)  Mostly I'm asking a "can this be automated so I don't have to do anything manually" sort of question.  I think commit messages are definitely an option (and maybe we should do it anyway?), just trying to understand if it's possible to automate this too.
Of we force pr title to be valid (maybe better) and using the title as commit message(github already do it as default)

Of we force pr title to be valid

There's existing workflows that do similar: https://github.com/zeke/semantic-pull-requests

Of we force pr title to be valid

There's existing workflows that do similar: https://github.com/zeke/semantic-pull-requests

Looks good

Back to the original issue, I think #2975 is a another example of what I meant (if we added netRegex line detection).  I don't think that patch should be labeled as all languages, mostly because I don't feel like that would be useful to people looking at PRs?

Back to the original issue, I think #2975 is a another example of what I meant (if we added netRegex line detection). I don't think that patch should be labeled as all languages, mostly because I don't feel like that would be useful to people looking at PRs?

I agree, I'm personally still of the opinion that we shouldn't add netRegex__ to the check, since Akurosia comes through with giant swaths of translations for these, but not translating the actual callouts generally. Since these are generated automatically from XIVAPI or something similar, I don't think there's any reason to catch the interest of Japanese or French translators for that, since there's nothing they need to review as far as I can tell. They might be interested in the new triggers being added, but that's probably implied with new content dropping.

if they are generated from xivapi, I think we shouldn't.

I think the PR labelling is all good at this point and we have PR title enforcing, so this can be closed.


Check compliance with JUnit 4.6

From<EMAIL_ADDRESS>on May 19, 2009 22:57:03
Check compliance with JUnit 4.6
Original issue: http://code.google.com/p/powermock/issues/detail?id=106

From<EMAIL_ADDRESS>on May 29, 2009 04:20:26
This works (they've still not removed their deprecated methods from 4.4)
Status: Verified
Labels: -Type-Defect Type-Enhancement


Scan when initialize the app

close #48
close #49

Tests will be fixed with the refactor in next milestone


Manage packs+

Manage roles and packs flows. Includes minor bug fixes.
Signed-off-by: PGobz<EMAIL_ADDRESS>

Addresses #913, #784, #299.


The Windows account could not be mapped to a valid security identifier (SID)

Hello,
I've some trouble with docker image for NAV/BC. When I create a new container, using navcontainerhelper, with NavUserPassword authentication everything works fine, except sync schema. Ok, I found several posts regarding this and finally got the answer "works as designed" or it simply doesn't work with NavUserPassword and I should switch to Windows Auth.
I tried to do this but this also doesn't work!
When I create a new container, using navcontainerhelper, and using Windows auth. I got the following output (error):
[...]
Creating SUPER user
The Windows account could not be mapped to a valid security identifier (SID).
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 13
at <ScriptBlock>, C:\Run\my\SetupNavUsers.ps1: line 2
at <ScriptBlock>, C:\Run\navstart.ps1: line 174
at <ScriptBlock>, C:\Run\start.ps1: line 121
at <ScriptBlock>, <No file>: line 1
Initialization of container bc-onprem failed
In C:\Program Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\ContainerHandling\Wait-NavContainerReady.ps1:45 Zeichen:17
...             throw "Initialization of container $containerName failed" ...

CategoryInfo          : OperationStopped: (Initialization ...c-onprem failed:String) [], RuntimeException
FullyQualifiedErrorId : Initialization of container bc-onprem failed

So the problem occurs somewhere in here:
https://github.com/Microsoft/nav-docker/blob/0976a81b525969abd64c97bbd991a529cfa0cdae/generic/Run/SetupNavUsers.ps1#L13
I simply do not have any idea what's the problem...
Thanks for your help

If you use navuserpassword, the workaround is to save the object and call compile-objectsinnavcontainer afterwards.
Få Outlook til iOShttps://aka.ms/o0ukef

Fra: Christoph Krieg<EMAIL_ADDRESS>Sendt: Thursday, April 4, 2019 4:34:40 PM
Til: Microsoft/nav-docker
Cc: Subscribed
Emne: [Microsoft/nav-docker] The Windows account could not be mapped to a valid security identifier (SID) (#341)
Hello,
I've some trouble with docker image for NAV/BC. When I create a new container, using navcontainerhelper, with NavUserPassword authentication everything works fine, except sync schema. Ok, I found several posts regarding this and finally got the answer "works as designed" or it simply doesn't work with NavUserPassword and I should switch to Windows Auth.
I tried to do this but this also doesn't work!
When I create a new container, using navcontainerhelper, and using Windows auth. I got the following output (error):
[...]
Creating SUPER user
The Windows account could not be mapped to a valid security identifier (SID).
at , C:\Run\SetupNavUsers.ps1: line 13
at , C:\Run\my\SetupNavUsers.ps1: line 2
at , C:\Run\navstart.ps1: line 174
at , C:\Run\start.ps1: line 121
at , : line 1
Initialization of container bc-onprem failed
In C:\Program Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\ContainerHandling\Wait-NavContainerReady.ps1:45 Zeichen:17
...             throw "Initialization of container $containerName failed" ...
CategoryInfo          : OperationStopped: (Initialization ...c-onprem failed:String) [], RuntimeException
FullyQualifiedErrorId : Initialization of container bc-onprem failed
So the problem occurs somewhere in here:
https://github.com/Microsoft/nav-docker/blob/0976a81b525969abd64c97bbd991a529cfa0cdae/generic/Run/SetupNavUsers.ps1#L13https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fnav-docker%2Fblob%2F0976a81b525969abd64c97bbd991a529cfa0cdae%2Fgeneric%2FRun%2FSetupNavUsers.ps1%23L13&data=02|01|freddy.kristiansen%40microsoft.com|b02e34bb185248d054a808d6b90aac3c|72f988bf86f141af91ab2d7cd011db47|1|0|636899852829629758&sdata=LO99FiICSycEpGOIVa2%2BhNI6B2UOmfAw6zZqM84k5Kk%3D&reserved=0
I simply do not have any idea what's the problem...
Thanks for your help
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fnav-docker%2Fissues%2F341&data=02|01|freddy.kristiansen%40microsoft.com|b02e34bb185248d054a808d6b90aac3c|72f988bf86f141af91ab2d7cd011db47|1|0|636899852829639782&sdata=lv3PB4poGl27iUn9y85pFmBC9XPG0ogsj7OKotOYfi0%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKRqAwxKxSbcGYTJwI60tJUk7yNBnvrYks5vdg2AgaJpZM4cc9Wn&data=02|01|freddy.kristiansen%40microsoft.com|b02e34bb185248d054a808d6b90aac3c|72f988bf86f141af91ab2d7cd011db47|1|0|636899852829649807&sdata=VKVzPH6JW2zK7u6dg69trto7ssRu%2Bc8ZqGUl5KAhx%2FQ%3D&reserved=0.

If you use navuserpassword, the workaround is to save the object and call compile-objectsinnavcontainer afterwards. Få Outlook til iOShttps://aka.ms/o0ukef

Yes, I know but It would be really nice to figure out why Windows auth isn't working.

Had the same problem. Overwrote SetupWindowsUsers.ps1 and removed the -ErrorAction Ignore option which unveiled the following error:
unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the Domain

Once I changed my password such that it fits the requirements, it worked. (e.g. the password does not contain a digit)

Thanks a million for this insight - will remove the erroraction ignore to capture the reason. I have had a number of people with this problem, but never been able to figure out why this happens.
Maybe this is the reason.
Thanks

Thank you very much @mmenninghaus
I changed my password to a more complex one and now everything works fine!!

These changes now result in very strict password policies being checked, even when working with NAV authentication. Previously, the complexity didn't matter, but now the script aborts during creation if the password is insufficient. This is not so good, because if I use NAV's own authentication, I don't necessarily want to use an incredibly complex password.

I thought that using NavUserPassword, the Windows User would not be created... - but I see that it does.
For now, you should be able to use -myscripts @( @{ "SetupWindowsUsers.ps1" = "" } ) which will override the SetupWindowsUsers script with an empty file, and thus will not create the user. I will investigate whether I can modify the script to only create the user when using Windows Auth.

Hi,
I am new to BC. Creating a new container, using navcontainerhelper, and using Windows auth. My password contain mix of cases, alphabet and number, hope this match with password policies. Still facing the same issue, please help.
PS C:\WINDOWS\system32> New-NavContainer -accept_eula -containerName "test" -auth Windows -imageName "microsoft/dynamics-nav"
NavContainerHelper is version <IP_ADDRESS>
NavContainerHelper is running as administrator
Host is Microsoft Windows 10 Pro - 1909
Docker Client Version is 19.03.8
Docker Server Version is 19.03.8
Using image microsoft/dynamics-nav:latest-ltsc2019
Removing container test
Removing C:\ProgramData\NavContainerHelper\Extensions\test
Creating Container test
Version: 11.0.29745.0-W1
Style: onprem
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.17763.379 (ltsc2019)
Host OS Version: 10.0.18363.836 (1909)
The container operating system does not match the host operating system, forcing hyperv isolation.
Using locale en-US
Using hyperv isolation
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Files in C:\ProgramData\NavContainerHelper\Extensions\test\my:

AdditionalOutput.ps1
MainLoop.ps1
SetupWebClient.ps1
Creating container test from image microsoft/dynamics-nav:latest-ltsc2019
672c3058e6967442f4bd6d8426ed0eeb0737a04fa71cb3711eebe81bc1eca223
Waiting for container test to be ready
Initializing...
Starting Container
Hostname is test
PublicDnsName is test
Using Windows Authentication
Starting Local SQL Server
Starting Internet Information Server
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user Bijoy
Setting SA Password and enabling SA
Creating SUPER user
The Windows account could not be mapped to a valid security identifier (SID).
at , C:\Run\SetupNavUsers.ps1: line 13
at , C:\Run\navstart.ps1: line 174
at , C:\Run\start.ps1: line 121
at , : line 1Error
Initializing...
Starting Container
Hostname is test
PublicDnsName is test
Using Windows Authentication
Starting Local SQL Server
Starting Internet Information Server
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user Bijoy
Setting SA Password and enabling SA
Creating SUPER user
The Windows account could not be mapped to a valid security identifier (SID).
at , C:\Run\SetupNavUsers.ps1: line 13
at , C:\Run\navstart.ps1: line 174
at , C:\Run\start.ps1: line 121
at , : line 1
Initialization of container test failed
At C:\Program
Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\ContainerHandling\Wait-NavContainerReady.ps1:44 char:17

...             throw "Initialization of container $containerName failed" ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Initialization of container test failed:String) [], RuntimeExceptio
n
FullyQualifiedErrorId : Initialization of container test failed

This is probably a good starting point:
https://freddysblog.com/2019/08/20/business-central-on-docker-for-non-experts/
Which explains where the images are today and maybe you need to use userpassword auth.


Happy Birthday, Taylor!

Let's just take a minute to wish @taylorotwell Happy Birthday.
Without his work, none of this would be possible.
Happy Birthday Taylor! 🎉

I really appreciate your work, @taylorotwell. Thank you!
I wish you a very happy birthday and a successful life.

Hurra hurra @taylorotwell Feliz cumpleanos! Can't wait for laracon EU it will be awesome like always


[WIP] Tag emails for translation

I need to go through the changes thoroughly again to make sure nothing is broken.

I merged the first commit.

@hackerkid I would recommend turning this into one commit per email, with the easiest ones at the bottom of the branch, so that we can start merging the ones that are already perfect; I think that'd help with the workflow for carefully testing everything.

@hackerkid let me know when you're ready for me to review something (I notice this has some CI errors)

@timabbott You can start reviewing the commits that get passed by CI.

Cool, I just merged through invitation.html.  Also posting a few thoughts on things we could do to further cut strings.

@timabbott These commits are also ready for view.

I merged the first 3-4 commits; posted comments on the rest.

I merged the first few templates (password_reset, followup_day2, notify_new_login).
For the missed_message email, the pluralization stuff seems problematic, but I'm not sure what the right solution is.  I'll need to think about that.
And the digest emails we probably want to rewrite a lot of the strings as part of integrating.  I'm not sure what the right strategy is there, but don't have time to consider today.

I think our current plans for missed_message emails involve redoing the content pretty significantly, so I'm going to close this for now and we can come back to this once @rishig has done that.  And digest emails aren't enabled by default and also need some significant reworking on the strings.


Back and Forward navigation buttons, open chats in tabs.

There are two features which make usage of Rocket.Chat in the web-browser much more convenient than in Electron app: Back and Forward navigation and ability to open chats in separate tabs ("Open Link in New Tab" function).
Please add the same features to this application.

@vesvalo the back/forward navigation will be added here https://github.com/RocketChat/Rocket.Chat.Electron/pull/533, I'm waiting for the guys to approve it :wink:

Great news, thank you:)

@vesvalo The back and forward menu item and shortcuts have now been added.
Are you still wanting tabs to be implemented, and if so can you describe the use case?
Just to point out, you can click the star icon at the top of any chat (left of the name), and the chat will then appear at the top of the sidebar in favourites. The sidebar then acts like tabs as all the chats are always open. It also remembers your scroll position when switching between them.

Yes, i'm using "starring" feature.
Sometimes I receive a lot of messages in many chats, and not all of them are "starred".
I can read message to determine the priority of the task which is message about, and if it is not urgent, I often open that conversation in a new tab, just to be able to return to it when i have time for it.
There is the feature "mark as unread", which also helps in such case, and I use it too, but still sometimes it is more convenient to open chats in different tabs.


Add contact email to home page and course pages

Right now only the About Us page has details about how to get in touch with us.
We should include a way to contact us on the home page and also inside each course page so that the visitor always has an easy way to get in touch with us as soon as they feel like doing so.

It could be a floating button in the corner which says - 'Contact us`.
Clicking on it opens a form:


Allow advanced users to specify which Buffer and Header ID range to use

Issue #50 was worked around in PR #53 to allow multi-BIU deployments. However, this used a simple ID offset based on the BIU number, limiting all custom device instances to ~2000 Buffer and Header IDs.
As an enhancement, we could allow advanced users to expand the number of IDs allotted to one custom device instance using one of these methods:

Share buffer offsets between custom devices
There are many possible ways to do this: calculate the buffers needed and store it in the sysdef, use some form of global during initialization to store the last used buffer per module, etc. However, all of these require the custom device to access data outside of its own configuration, making the approach non-ideal.
Make a parameter available to superusers to define the starting buffer ID to use
This is relatively easy to implement and would give advanced users a way to bypass a hardcoded limitation such as the 2000-buffers-per-CD option. Provide an optional scripting entrypoint for setting the initial buffer offset for each CD instance. When not in use, default to a hardcoded offset.

Added in #83


Can't find explorer.exe in WSL2 in contour

Contour Terminal version
master
Installer source
Github: source code cloned
Operating System
wsl2 Arch
Architecture
x86-64
Other Software
No response
Steps to reproduce

open contour
input explorer.exe .

Expected Behavior
open Windows Explorer.exe
Actual Behavior
zsh: command not found: explorer.exe
Additional notes
The Windows Terminal work well, and I guess it's because 1c68d6e0e3bf11aa53af6447b16344fc7dace66c

Hello, thanks for reporting this, can you tell me what is the output of echo $PATH?

Hello, thanks for reporting this, can you tell me what is the output of echo $PATH?

/home/rhcher/.opam/cs3110-2021fa/bin:/home/rhcher/.local/share/zinit/polaris/bin:/home/rhcher/.nix-profile/bin:/home/rhcher/.emacs.d/.local/e
tc/lsp/mspyls:/home/rhcher/.cargo/bin:/home/rhcher/.emacs.d/bin:/home/rhcher/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sb
in:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/f/software/contour/build/src/contour/Release:/home/rhcher/.dotnet/tools:/usr/lib/jv
m/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

You are missing /mnt/c/WINDOWS in your PATH that is why, please check your .profile or .zprofile or .zshrc in case you override whole PATH since WSL by default presets that for you

You are missing /mnt/c/WINDOWS in your PATH that is why, please check your .profile or .zprofile or .zshrc in case you override whole PATH since WSL by default presets that for you

Yeah you are right and it works as expected after I add that path by hand. Thank you for your help.


Recursively invalidate all files and dirs

This fixes a bug where /en-US/ was not invalidated.
r? @steveklabnik

:+1: :heart:


Handle when Slack Auth attempt fails and we get our callback called with failure code

OmniAuth::Strategies::OAuth2::CallbackError

Just attempt login using the "Swarm" slack team (which doesn't have apps setup yet via the Slack website)


Focus scope shadowdom

Partial work on 1472
✅ Pull Request Checklist:

[✅ ] Included link to corresponding React Spectrum GitHub Issue.
[✅ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[✅ ] Filled out test instructions.
[✅ ] Updated documentation (if it already exists for this component).
[✅ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
Create FocusScope under a shadowDom. The focus management should continue to work.
🧢 Your Project:
Adobe Acrobat Sign

Thanks for working on this. I am going to close this PR for now since it seems to be stale. Please feel free to reopen when you get a chance to pick it up again.


redux saga confused

as we know

The mental model is that a saga is like a separate thread in your application that's solely responsible for side effects.

function* handleActionA() {
  yield call(delay, 1000);
  yield put({ type: 'ACTION_B' });
}

function* watch() {
  yield takeLatest('ACTION_A', handleActionA);
}

function reducer(state, action) {
  switch (action.type) {
    case 'ACTION_A':
       console.log('ACTION_A');
       // change state
       return newState;
    case 'ACTION_B':
       console.log('ACTION_B');
       // change state
       return newState;
  }
}

if i trigger 'ACTION_A'  10 times, because saga not intercept the action, so it will print 'ACTION_B' 10 times, and render ui 10 times, that's not what i want.
so, i want to ask, is saga's watcher mode a good structure? i think redux-thunk's interception mode is more simple and reasonable.

You can always split your action types - if you want 'interception' just dispatch something you do not handle in the reducers and later put from the saga something you do.
There is no 'better' here, just 2 different approaches. I bet somebody going from saga to the thunks would probably have other opinion than you right now, but it all boils down to our habits only and what we are accustomed to.

thanks for your answer.
we have discussed your approach some days ago, but i may be confused to me about what does "action" mean. if actions are interfaces exposed by reducer, then is an action without a reducer still an action? On the other, if an action has no reducer, then saga is not just handling effects but changes to a controller like thunk.

well, if you want to categorize like that i would say that action is a contract - it is defined how based on them (that they have type) system can interact with its parts

so, you mean that action is not defined by reducer, and reducer just handle action. am i right?

@alanwei0 like the DOM fire events that you may choose to handle or not, you can do the same with Redux. It's not a bad practice to decouple action producing from action handling in more complex apps, and any action can be handled by 0 - * reducer
Maybe reading this would help: https://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/

@slorber i think action has some different with events. if an action be handled by more than one reducer, then the program procedure may be confused，because i don't know how many reducer will handle this action. so in my team, we have a rule that "an action can only be handled by an reducer, if the action is complex, we trigger actions flow in saga or thunk".
In addition, we split store into parts(ex: domain data, ui data).  reducers that handle domain data are just like model in MVC in my mind and the actions are more like the methods of model.

@alanwei0 it depends on your conventions, but the saga pattern implemented originally in this library comes from event-sourced backend systems where we consider that every state change is triggered by an event and the saga can handle those events.
Also note that Redux is also inspired by such systems in the first place.
IMHO it has been a wrong theorical decision for the Flux team to create the name "action", but it certainly helpex Flux to gain adoption because the event-sourced theory is less idiomatic for newcomers
So I'd say you can use the lib the way you want in the end, but have to know that it takes origin from a world where the term "action" does not exist, in favor of "commands" and "events"

@slorber thank you so much

Also if you have a convention of 1 action - 1 reducer I think it may lead to so called 'setter actions' which are rather an anti-pattern. What @slorber said about them (actions) being events is a good naming I think. They should be named kinda like events - describing what happened and potentionally carrying some payload with them and every part of the system can react (no pun intended :P) to it how it fits. Personally I dont see "1 action many reducers" as anti-pattern and do that quite often.

@Andarist i'm more confused now.............

You need to be more specific, what have confused you?

i map the redux architecture to traditional MVC arch to help me understand the actions/reducers/saga/components in react/redux. in my deep mind, i regard saga/thunk as controller, so when i trigger an action, i can be find all process flow in saga/thunk. i think it makes the program more understandable and readable. if an action has many reducers, i must to find all reducers in different files.
that's all.

@slorber your answer in stackoverflow is so helpful for me

Well, if that works for you its totally ok. However as @slorber have mentioned redux didnt originated exactly from MVC and it rather tries to present different approach in regards to the architecture. Such mapping as yours can probably be made in most of the architectures on some level, but I would encourage you to try to look on things in a broader spectrum.
At least for me it was liberating, trying to use apply MVC mental model on the redux might end up with fighting against it instead of leveraging its potential.

ok，i will keep learning

still has two question

why you say that 1 action - 1 reducer is an anti-pattern
if 1 action - >1 reducer, how to make the action flow clearly and readable?

Im not saying that there shouldnt be such actions that have just 1 reducer corresponding to it, but making a rule of thumb of this is an anti-pattern in my opinion. I find it really convenient for more than 1 reducer to respond on some action.
About the flow - most people keep their constants in separate file and use those as keys to the reducers switch (or some custom reducer creator like createReducer), so if you need to check what reducers respond to what action type it really comes down to global search on your project and seeing what files contains reference to the one you are looking for

i understand

If you have any new questions, please ask them here or open a new issue. Gonna close this one for now.


Apollo Dreamview frontend develop and rebuild

Hello, I have a question about Apollo Dreamview(5.0)
I want to have some small change to Apollo Dreamview, after I change the backend and frontend , I rebuild apollo via ./apollo.sh build. But nothing new happen in Dreamview ,even console.log() not work.
So I suggest , besides ./apollo.sh build, there are an additional way to rebuild the frontend. If some some know and can share to me, I will be very appreciated,  Thank you very much.

build the dreamview frontend
If you want to just build the dreamview frontend, just run.
  cd modules/dreamview/frontend
  yarn build

build the whole module
bazel build //modules/dreamview/...

FYI, you may also need to run yarn install before the yarn build.


imagepullsecrets not used by scan-vulnerabilityreport

What steps did you take and what happened:
We have trivy-operator running in our cluster, installed using Helm with the following configuration:
operator:
  logDevMode: true
  webhookBroadcastURL: http://postee.postee.svc.cluster.local:8082
  privateRegistryScanSecretsNames: {"development": "docker-credentials"}
trivy:
  ignoreUnfixed: true

We have the following dockerconfigjson:
apiVersion: v1
data:
  .dockerconfigjson: eyJhdXR...FU9In19fQ==
kind: Secret
metadata:
  name: docker-credentials
  namespace: development
type: kubernetes.io/dockerconfigjson

That we know is correct, because it is used by our workloads:
apiVersion: v1
kind: Pod
metadata:
  name: workload
  namespace: development
...
spec:
  containers:
...
    image: docker.io/company/image:bdb69ed23e67efe1cce72e994ad859cc5e44f0d4-dev
...
  imagePullSecrets:
  - name: docker-credentials
...

But we're hitting this error:
{
  "level": "error",
  "ts": "2023-03-09T09:49:13Z",
  "logger": "reconciler.scan job",
  "msg": "Scan job container",
  "job": "trivy-system/scan-vulnerabilityreport-66d5c89796",
  "container": "log-elastic-status",
  "status.reason": "Error",
  "status.message": "2023-03-09T09:49:11.757Z\t\u001b[31mFATAL\u001b[0m\timage scan error: scan error: unable to initialize a scanner: unable to initialize a docker scanner: 4 errors occurred:\n\t* unable to inspect the image (docker.io/company/image:bdb69ed23e67efe1cce72e994ad859cc5e44f0d4-dev): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n\t* unable to initialize Podman client: no podman socket found: stat podman/podman.sock: no such file or directory\n\t* containerd socket not found: /run/containerd/containerd.sock\n\t* GET https://index.docker.io/v2/company/image/manifests/bdb69ed23e67efe1cce72e994ad859cc5e44f0d4-dev: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:company/image Type:repository]]\n\n\n",
  "stacktrace": "github.com/aquasecurity/trivy-operator/pkg/vulnerabilityreport/controller.(*ScanJobController).processFailedScanJob\n\t/home/runner/work/trivy-operator/trivy-operator/pkg/vulnerabilityreport/controller/scanjob.go:254\ngithub.com/aquasecurity/trivy-operator/pkg/vulnerabilityreport/controller.(*ScanJobController).reconcileJobs.func1\n\t/home/runner/work/trivy-operator/trivy-operator/pkg/vulnerabilityreport/controller/scanjob.go:79\nsigs.k8s.io/controller-runtime/pkg/reconcile.Func.Reconcile\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/reconcile/reconcile.go:102\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:122\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:323\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:235"
}

What did you expect to happen:
I would expect the scan job would use the docker-credentials secret in the development namespace.
Anything else you would like to add:
We've also tried omitting the privateRegistryScanSecretsNames configuration in Helm, expecting it would take the imagePullSecrets from the workload configuration itself, but with the same results.
Environment:

Trivy-Operator version (use trivy-operator version): 0.12.0
Kubernetes version (use kubectl version): v1.24.6
Cloud provider: Azure AKS

@yp28 how is the secret has been created ?  it must be created in form of user/password , something like this:
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

It has this format decoded:
{
  "auths": {
    "docker.io": {
      "username": "username",
      "password": "personal_access_token",
      "email"<EMAIL_ADDRESS>      "auth": "(username:personal_access_token | base64)"
    }
  }
}

Is it required to be named regcred?

It has this format decoded:
{
  "auths": {
    "docker.io": {
      "username": "username",
      "password": "personal_access_token",
      "email"<EMAIL_ADDRESS>      "auth": "(username:personal_access_token | base64)"
    }
  }
}

yes this is how it should look like

Is it required to be named regcred?

no , its just an example, name it as you wish

How is it supposed to be passed to the scan job, through environment variables?

How is it supposed to be passed to the scan job, through environment variables?

yes

I'm trying to debug this by building the image and deploying it, to see where exactly it goes wrong. However, I can't seem to get the log output to work properly. Any guidance on that?
I've now even tried replacing the submitScanJob with the following:
func (r *WorkloadController) submitScanJob(ctx context.Context, owner client.Object) error {
    return errors.New("NOPE")
}

But it still seems to be running jobs just fine. Any pointers on how I should tackle this?

Thanks, that helped me debug it!
For future reference, we explicitly set our images to docker.io/company/image, but when resolving the image Trivy wants credentials for index.docker.io instead of docker.io. We had credentials for docker.io in our registry secrets. Adding in index.docker.io resolved the problem.


Add compare argument for array.sorted

Fixes #5365.
I used compare for the argument name instead of by because by could plausibly refer to either the key or the comparison function.
According to the Rust standard library documentation, sorting might panic when a non-total ordering function is provided. I’ve been unable to produce a panic so far, but I think this is an important issue to resolve. We could catch_unwind such a panic, but this doesn’t solve the problem when panic=abort is turned on.

catch_unwind also doesn't work on wasm, so it's kind of a non-starter :/

How shall we proceed here?

Honestly, I’m not sure and that’s why it’s taken a long time for me to comment back. I think this addition isn’t worth the possible downsides, at least until we get more info on how limiting the current key system is. At the same time, as @MDLC01 mentioned, some comparison functions are hard to express as keys right now (such as sorting by A descending and then B ascending, or even sorting strings in descending order).

In cases where a comparison function is provided, maybe we could simply implement our own sorting algorithm? After all, the cost of calling the function probably outweighs the time it takes to sort the array, even if we do not do it with an algorithm as optimized as the one used by Rust.

I guess we could do that.

@bluebear94 I'd be on board with having a simple custom sorting implementation for that case. If you want to implement that, feel free to. Otherwise, I think we can close the PR.


Prevent PR merge if test cases do not pass

@targos could you activate this feature on this project ?

You don't want to know how to do it?

Yes sure! Should I just copy https://github.com/cheminfo/nmrium/settings/branch_protection_rules/14717337 ?
Or you prefer to make a zoom ?


Myq integration -  400 Bad Request

Hi
I am receiving this error with my myq integration through home assistant (up to date at time of creating this ticket)
8:03:33.334263 Error requesting from api/v4/User/Validate; retrying: 400, message='Bad Request', url='https://myqexternal.myqdevice.com/api/v4/User/Validate
2
I am thinking this is due to a system change on their cloud this weekend and will be available soon, however marking it here should be valuable. I will close the issue if the error goes away.

Receiving the same. It's been down since 10/18/2019.
Hoping for a solution soon.

Same here.

+1

Closing as a duplicate of https://github.com/home-assistant/home-assistant/issues/27762.


Fixes issue #2424

Changes Unknown when pulling d0c1dd3f166fc8b14e1d4ccc0277c27e6f73e93d on czpython:fixes-2424 into ** on divio:support/2.4.x**.


NameError: global name 'exit' is not defined

So I tried running ICE recently after installing new cores on RetroArch and got this error. Any ideas?

ICE no longer has developer support for issues. Please reference issue #473 and hopefully that helps. Thanks!


How to merge video with audio file

Q
A

Bug?
yes

New Feature?
no

Version Used
Specific tag or commit sha

FFmpeg Version
FFmpeg or AVConv and version

OS
Linux,  Godady shared server

Actual Behavior
How does PHP-FFMpeg behave at the moment?
work well in my localhost server. but can't work on godaddy server.
Expected Behavior
What is the behavior you expect?
Steps to Reproduce
What are the steps to reproduce this bug? Please add code examples,
screenshots or links to GitHub repositories that reproduce the problem.
include 'vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('videos/localfile84201711432.mp4');
$video
->filters()
->resize(new FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('frame.jpg');
$video
->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');
Possible Solutions
If you have already ideas how to solve the issue, add them here.
Otherwise remove this section.

First of all, please use the template,so we have a detailed feel on what you're talking about.
Currently, this feature isn't implemented(I'll implement it once my other PRs are merged). But here is a way to do so simply:
<?php

require_once 'vendor\autoload.php';

$ffmpeg = FFMpeg\FFMpeg::create();

$video = $ffmpeg->open(__DIR__ . '\tests\files\lucky-day.mp4');

$video->addFilter(new \FFMpeg\Filters\Audio\SimpleFilter(array('-i ' . __DIR__ . '\tests\files\Audio.mp3', '-shortest')));

$video->save(new \FFMpeg\Format\Video\X264(), 'testoutput.mp4');

The merge is work on localhost. It is not work in shared server. I needs to work with shared server. How can add ffmpeg in shared server. is it possible to get binary file ffmpeg?

I do not understand what you want. Could you post the exception you get?

I get error like:::::::
Fatal error: Uncaught exception 'Alchemy\BinaryDriver\Exception\ExecutableNotFoundException' with message 'Executable not found, proposed : avprobe, ffprobe' in /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php:160 Stack trace: #0 /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFProbeDriver.php(48): Alchemy\BinaryDriver\AbstractBinary::load(Array, NULL, Object(Alchemy\BinaryDriver\Configuration)) #1 /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php(207): FFMpeg\Driver\FFProbeDriver::create(Array, NULL) #2 /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFMpeg.php(117): FFMpeg\FFProbe::create(Array, NULL, NULL) #3 /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/merger.php(16): FFMpeg\FFMpeg::create() #4 {main} Next exc in /home/igeniusdev/public_html/Unity_Hex/SuperMarket Promotion-WebGL3/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFProbeDriver.php on line 50

you say that binaries can be located with system PATH to get the benefit of the binary detection, otherwise you should have to explicitly give the binaries path on load.
How to include binaries file. How can find binaries file.

Did you install ffmpeg? How did you install it? This library is just a wrapper, but it depends on a installed binary.

I installed ffmpeg in localhost on windows system.so it is work well. My live server which is godaddy can't able to install it.  I needs to include binary file.

Is your live server just a web server? Then it isn't possible to execute binaries. I would suggest you ask your support, we can't help with it.

yes live server just a web server...............
Are any other methods provides solution of merging video and audio file?

I don't know any.

I used your code like:
open('videos/localfile84201711432.mp4');
  $video->addFilter(new \FFMpeg\Filters\Audio\SimpleFilter(array('-i ' . 'videos/Kalimba_Audio.mp3', '-shortest')));
  $video->save(new \FFMpeg\Format\Video\X264(), 'testoutput.mp4');

I got error message like that Fatal error: Uncaught exception 'Alchemy\BinaryDriver\Exception\ExecutionFailureException' with message 'ffmpeg failed to execute command "C:\ffmpeg\bin\ffmpeg.EXE" "-y" "-i" "videos/localfile84201711432.mp4" "-i videos/Kalimba_Audio.mp3" "-shortest" "-vcodec" "libx264" "-acodec" "libfaac" "-b:v" "1000k" "-refs" "6" "-coder" "1" "-sc_threshold" "40" "-flags" "+loop" "-me_range" "16" "-subq" "7" "-i_qfactor" "0.71" "-qcomp" "0.6" "-qdiff" "4" "-trellis" "1" "-b:a" "128k" "-pass" "1" "-passlogfile" "C:\Users\abcd\AppData\Local\Temp\ffmpeg-passes58faeeb204dd96w1zk/pass-58faeeb2055a9" "testoutput.mp4"' in C:\xampp\htdocs\Unity_Hex\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\ProcessRunner.php:100 Stack trace: #0 C:\xampp\htdocs\Unity_Hex\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\ProcessRunner.php(72): Alchemy\BinaryDriver\ProcessRunner->doExecutionFailure('"C:\ffmpeg\bin\...') #1 C:\xampp\htdocs\Unity_Hex\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\AbstractBinary.php(209): Alchemy\BinaryDriver\P in C:\xampp\htdocs\Unity_Hex\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Media\Video.php on line 178

Then try to execute this command and send us the output:
"C:\ffmpeg\bin\ffmpeg.EXE" "-y" "-i" "videos/localfile84201711432.mp4" "-i videos/Kalimba_Audio.mp3" "-shortest" "-vcodec" "libx264" "-acodec" "libfaac" "-b:v" "1000k" "-refs" "6" "-coder" "1" "-sc_threshold" "40" "-flags" "+loop" "-me_range" "16" "-subq" "7" "-i_qfactor" "0.71" "-qcomp" "0.6" "-qdiff" "4" "-trellis" "1" "-b:a" "128k"

I execute this command message that at least one output file required

That's weird.

I can't understand what to do?

Any other command for merge audio and video file without ffprobe?

I don't understand what your ffmpeg is. There are two input files, one is required.

I execute below script:
shell_exec("ffmpeg -y -i videos/localfile84201711432.mp4 -i videos/Kalimba_Audio.mp3 -shortest -vcodec libx264 -acodec libfaac -b:v 1000k -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -pass 1 -passlogfile export/localfile84201711432.mp4");
It is work in localhost, but issue in host upon web server.

@testchik, what I understand is that you have a server which you wanna use to execute FFMPEG, but you haven't install FFMPEG on it. Just saying shows you that this is wrong. You cannot execute FFMPEG without installing it. You need to install it on your server first. I recommend that you compile it as described in this guide (use the one corresponding to your distribution).
If you cannot install software on your server and don't have any SSH access, you're screwed, you will need to upgrade your server.
Second thing, we cannot include the binaries into this bundle.
Finally, as @jens1o, the feature to merge a video file with an audio file is not ready yet but will come soon.
Thanks.

@testchik
if on your shared server you don't have a FFmpeg plane, so the script can not work because it will trying to get the (FFmpeg.exe and FFprobe.exe) paths to work then while you don't have access to theses file due to your hosting plane this script will not work, there is a point, that you install the ffmpeg in your home dirctory and to change the paths in the script to this dirctive, NB: on local host (xampp on windows 7 primum) works very good.

closed due to inactivity.


Need fix deb package names

deb packages still have "_" in name powershell_6.0.1-1.ubuntu.17.04_amd64.deb

@iSazonov is there a requirements document somewhere that says that this is required?

I found it https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_debian_package_file_names
They use "_"  like <package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb
So I close the Issue.


"convert to a ES6 module" code action doesn't preserve type of quotes

testing #46596:

create file.js with this contents:var path = require('path');

execute the code action to convert this into a ES6 module.

Observe: the resulting import path from "path"; uses different quotes than the original require.

Thanks. Opened https://github.com/Microsoft/TypeScript/issues/22921 to track this upstream


Dominance verification error

In CIRCT, the following code is legal:
hw.module @mac(in %in0: i32, in %in1: i32, out out:i32)
{
    %0 = comb.mul %in0, %in1 : i32
    %1 = comb.add %0, %1 : i32
    hw.output %1 : i32
}

As you can see that the addition takes the result as the one operand as well, which is a quite common impl of MAC operation. However, in mlir/lib/IR/Verifier.cpp, this is not allowed, which means if I write:
dfg.operaetor @mac inputs(%in0: i32, %in1: i32) outputs(%out: i32)
{
    %0 = arith.muli %in0, %in1 : i32
    %1 = arith.addi %0, %1 : i32
    dfg.yield %1 : i32
}

This is illegal. To support this, I think I have to make the region a GraphRegion. I'm not so sure if we should do this if we want to allow ops like scf.if in the region, what you guys think? @Feliix42 @KFAFSP

The commit is a incorrect work-around for a specific usage for now.

This error is raised by the SSACFG verifier and make the region a GraphRegion will solve this. However, we don't want this for  OperatorOp or ProcessOp. for this usage, we need something from the last loop, we need to think about how to handle the state. And how the lowering will look like.

For ProcessOp, the state should be easily handled as iter_args iun scf ops.
For OperatorOp, the state could be a new block argument. And an optional initialization region to yield trivial constants.


feat(switch): add inverted colors

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 83.367%

Totals

Change from base Build<PHONE_NUMBER>4:
0.002%

Covered Lines:
10260

Relevant Lines:
11311

💛  - Coveralls


How to faster render in express?

Hello.
I'm testing site speed - https://developers.google.com/speed/pagespeed/insights/
console.time('TimeRender');
res.render('page', render, function(err, html) {
    if (err) return console.log('Render Error:', err);
    res.send(html);
    console.timeEnd('TimeRender');
});

And I see disappointing results:
TimeRender: 2325.884ms
Is it possible to create a page in 2 steps:

Display the page "Please wait ...";
Display page after render.

Thus the server's response will be very quick.

Hi @extensionsapp, we'd be happy to help! Please stop by our support channel at https://gitter.im/expressjs/express to get some live help :) There isn't enough information here to answer why it is slow (especially since most of the render time would be located in the third-party module you are using to render, like pug, ejs, etc.). If you wanted to split the rendering into two parts, it would also rely on whatever third-party module you are using (I believe dust.js does a good job at enabling the type of split response you are looking to achieve).


perl6-infra: Host the Blin Toaster

https://github.com/perl6/Blin
I suggest hosting the results and making it toast automatically.

Toaster is superseded by Blin (or at least I think so), and the data generated by Blin is used to automatically populate the issue tracker in the ecosystem-unbitrot repo. Last update is Feb 27 because I was extremely busy with stuff, but I'll try to run it more regularly from now on and maybe we can even automate it.

To clarify, Blin and ecosystem-unbitrot are hostless. Anyone can run Blin to look at the results locally, and there's a script in ecosystem-unbitrot that takes the file from Blin and updates the tickets. I think this is pretty cool, but people keep requesting a subdomain with results… 🤷

Ok. I learnd that this as to be run in separated environment. And there is some (huge) cpu power needed?
How often should this run or how is it triggered?

@rba usually the release manager (recently me and nowadays @kawaii) will run it a few times before making a release (so a few times during a month). It doesn't take too much, I used google compute engine with 24 cores and it takes only 1 hour or so. How often it should be run depends on the state of rakudo… for example, if some breaking changes land, then there's usually a period when things are expected to be broken a little bit, so Blin can help a lot to find all the remaining bugs but ecosystem-unbitrot should not be populated with that data (or so I think, because it will ping module authors needlessly for issues that are out of their control).
If we have a server that we can abuse like that every day for free, then maybe indeed we can automate it.

I've been running Blin recently on a server provided for R&D purposes by $dayjob, although I imagine that isn't an arrangement that will last indefinitely. It might be worth reaching out to somewhere that can sponsor such a server if we'd like to run it daily on a continuous basis.

@rba: @AlexDaniel is talking about one of the uses of the software, which is to test Rakudo before release. But I think it's useful also for module authors if they can have this information at hand, if they can expect trouble because of a release.
So that's why I think it's nice to have it somewhere. Once a day would be plenty, no need to run it on every HEAD commit.

But I think it's useful also for module authors

Not sure if I'm succeeding at conveying the point :)
When I was the release manager, I used the data generated by Blin to populate https://github.com/perl6/ecosystem-unbitrot/issues. Tickets there include a @… mention of the author (when available), so module authors (at least those affected) had the information at hand…

Right, I think it's useful if module authors can pull that information instead of waiting for a push.

Moreover, for every release my goal was to have 0 modules affected, which was mostly the case once all regressions were fixed before actual releases were made. Of course, some modules were just wrong in one way or another, but in these cases I'd contact the author myself (by at least filing a ticket, although typically I'd try to submit a proper PR that resolves the issue). The process was usually reflected in tickets like these: https://github.com/rakudo/rakudo/issues/2705 https://github.com/rakudo/rakudo/issues/2638 https://github.com/rakudo/rakudo/issues/2451
Toaster is briefly mentioned in https://github.com/rakudo/rakudo/blob/master/docs/release_guide.pod, but Blin is not (it was a more recent addition). Also, it seems like the release guide does not stress the “0 modules broken” goal, even though it was the case for at least 17 releases that I did.
@kawaii maybe you should tweak the release guide accordingly?
Also, maybe we should mention somewhere in the docs that we do that. Like in https://docs.perl6.org/language/modules-extra or some other page. @JJ, any thoughts?

Tying in to issue #5: one practical issue when we get pull requests is knowing the fallout, and I think we'd feel more confident merging things if we had confidence they would have relatively little fallout.
I believe Travis so far only runs make test, not even make spectest. But the ideal would be to not only have it spectested, but also have something that applies the PR, runs it against the ecosystem with Blin, and posts the results vs. master.
I guess that's easier to put in place if we have BaaS (Blin as a Service). :-)


Fixed duplicate tags

Hey Cris, Its me @DEDSHOT_vk from Twitch.
Like I said, I've fixed the issue with duplicate tags appearing when windows created on workspace 0. :smile:

Brave placed in workspace 0.
Hopefully it works this time. See you on stream today!! Missed previous stream coz of buggy twitch notification :cry:.

This is actually a feature not a bug 😂
I use this for chat on all screens I want to appear on all my tags.


mCS_no_scrollbar on div i want to make scrollable

Hello, i commented my issue under your projectsite but i think here it is better to communicate.
I installed the newest plugin. I use JS to set the height for a div (it works all fine). And there are no console errors. But it always sets a mCS_no_scrollbar on the div i want to make scrollable.
So there is one big div. in this one there is the #scroller. The scroller should be in the center and have 100% height. This all works. Then there is a table inside. it is about 4k pixel high, but i couldn´t scroll.

i have same issue and  mCS_no_scrollbar  is added renewing this file doesn't help
please save me!


Native DynamicRootVfsVfs incorrect list().

Running an C:\app\app.exe from folder C:\app\ with this code:
println(applicationVfs to applicationVfs.listSimple())

outputs
(DynamicRootVfsVfs[], (LocalVfs[], LocalVfs[], LocalVfs[/app.exe])

First, I have no idea why there is LocalVfs[], as there are no additional files but app.exe.
Second, even the LocalVfs[/app.exe] is wrong. It should be DynamicRootVfsVfs[/app.exe] instead.

Also, what is an DynamicRootVfsVfs?

Redefining listFlow solves the problem:
    override suspend fun listFlow(path: String) = flow {
        val dir = opendir(resolve(path))
        if (dir != null) {
            try {
                while (true) {
                    val dent = readdir(dir) ?: break
                    val name = dent.pointed.d_name.toKString()
                    if (name != "." && name != "..")
                        emit(file("$path/$name"))
                }
            } finally {
                closedir(dir)
            }
        }
    }

Didn't check, but the opendir, readdir and closedir APIs are synchronous, shouldn't we execute them in a separate worker?

Perhaps. However, the speed doesn't seem to be an issue.


[Renderer]Studio Model Normal Maps

is possible to  re add  studio models normal maps like in the old meta render?

yes but not now.

Done


Drop cloud e2e tests & sync with monorepo

Summary
The Playbooks e2e tests have been failing for a while. Let's fix them!

Remove the deprecated .circleci/ configuration. (I wasted some time "fixing" these before realizing it's not run anymore!)
Update our version of the e2e tests with the copy in monorepo. I'll push these changes there after merge. Long term, it would be great to avoid duplicating this in the first place...
We don't need to run master and cloud e2e tests anymore, since we do these e2e tests in the monorepo already. So just test against latest when making direct plugin changes.
Address a handful of "e2e flakiness"
Transition to the new DisableAppBar configuration option
Use Redux store subscriptions to trigger welcome messages.

This last change deserves some additional discussion. https://github.com/mattermost/mattermost/pull/24003 introduced a breaking change in that the server stopped emitting a channel_viewed websocket message in favour of the new multiple_channels_viewed message, but also changed the semantics to only emit if there was something to "mark as read". Meaning if there were no new posts, the server doesn't bother notifying the client at all.
We used to depend on this websocket event to trigger the "welcome message action", showing an optional ephemeral message the first time a channel was loaded. Now, we trigger the same heuristic by subscribing to the Redux store and watching the current channel change.
Ticket Link
None.

Heads up that Alejandro is out this week, maybe Michael?


Updated mod view styles

Updated the mod view styling to use the space better

Fixed a bug with the release candidate versioning to support double digit numbers

Awesome, thanks for the PR <3
Imma revert the unrelated changes and then let @Alystrasz give it a final look before merge ^^

Aight, reverted the changes not related to ModView. The changes to release-candidate number conversion sadly didn't work so I also reverted them.


Why is node-sass a hard dependency when one could also choose dart-sass?

as we only use dart-sass with gulp-sass, this is especially hard when you hit one of the various build problems of node-sass.
Are there reasons not to remove it or make it a peer dependency?

Because the maintainer of gulp sass are the same maintainers of node-sass

Well, the docs mention to install node-sass too. So isn't the node-sass dependency a bit duplicate?


Default value for masqueradeAll flag for iptables

Setting the default value to false.
A default value of true implied that all requests are snat-d which
prevented from preserving the source ip even for traffic from within the
cluster.

cc @knabben @nehaLohia27

/lgtm
we should start to think on command-line arguments at this point.

/lgtm
/approve


facebook failure url not working!

code :
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { session:true, failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/dashboard');
});
Passportjs Not Redirecting after facebook error return
( i set the vaild url is localhost:300 and i do :
var server = http.createServer(app);
server.listen(80);
and then making a log in it says that the URL is invalid! this is not the problem when return to /auth/facebook/callback its says
Error
at Strategy.authenticate (%Path%\node_modules\passport-facebook\lib\strategy.js:79:23)
\lib\router\route.js:131:14)

Please improve the formatting of your issue.


traefik 404s on Sonarr, Ombi, etc

Debian 11 using traefik-CF, SSL certs good, containers healthy and running.  Good news is Plex and tautulli are working but all others "404 page not found" but if I ssh tunnel directly to Docker IP/port on my VPS for a service I can access it. (example ssh -L 8888:<IP_ADDRESS>:3579 chris@serverIP)  I am a noob on traefik.  Getting these errors in traefik logs.  Been researching for hours on closed issues but have not been able to fix this.  Help would be appreciated. thanks
time="2023-03-17T05:09:34-07:00" level=error msg="open /config/users: no such file or directory" routerName=https-ombi@docker entryPointName=https
time="2023-03-17T05:09:34-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=ombi@docker
time="2023-03-17T05:09:34-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=sonarr@docker
time="2023-03-17T05:09:35-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=sonarr@docker
time="2023-03-17T05:09:35-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=ombi@docker
time="2023-03-17T05:09:35-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=https-ombi@docker
time="2023-03-17T05:09:35-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=traefik@docker
time="2023-03-17T05:09:35-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=https-sonarr@docker
time="2023-03-17T05:09:37-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=traefik@docker
time="2023-03-17T05:09:37-07:00" level=error msg="open /config/users: no such file or directory" routerName=https-ombi@docker entryPointName=https
time="2023-03-17T05:09:37-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=https-sonarr@docker
time="2023-03-17T05:09:37-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=sonarr@docker
time="2023-03-17T05:09:37-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=ombi@docker
time="2023-03-17T05:54:36-07:00" level=error msg="open /config/users: no such file or directory" routerName=https-sonarr@docker entryPointName=https
time="2023-03-17T05:54:36-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=traefik@docker
time="2023-03-17T05:54:36-07:00" level=error msg="open /config/users: no such file or directory" routerName=sonarr@docker entryPointName=http
time="2023-03-17T05:56:06-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=https-sonarr@docker
time="2023-03-17T05:56:06-07:00" level=error msg="open /config/users: no such file or directory" routerName=traefik@docker entryPointName=https
time="2023-03-17T05:56:06-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=https routerName=https-ombi@docker
time="2023-03-17T05:56:06-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=sonarr@docker
time="2023-03-17T05:56:06-07:00" level=error msg="open /config/users: no such file or directory" entryPointName=http routerName=ombi@docker

I got traefik dashboard working and the two 404 containers (Sonarr and Gooby) both show the error 'middleware "auth@docker" does not exist' if that helps.

Okay after researching this issue.  i removed the following line in the respective yaml files for Ombi and Sonarr:

traefik.http.routers.ombi.middlewares=${AUTH}

Doing this resolved my 404 issues on both of them.  I believe this traefik command is somehow related to handling login credentials on web pages.  But I was still able to use the built in login functions on both Ombi and Sonarr.  If others wouldn't mind throwing up a temp docker to test this change we could propose a revision to @kelinger   A question is it safe to modify a preset yaml file?  I assume they might get ridden over during an update?

@christeasdale - if you modify a file, it will NOT get overwritten.  The bad news is that it won't get updated, either.  There are a couple of ways to do this though:

Edit the file directly.  It will remain yours and won't update with the exception of running the undocumented omni reset command which purposely forces OmniStream to update everything (not the config files but it forces all the code and containers to match the repository).
Copy the file you want to edit to another file in the 800 range.  EG:  copy 301-radarr.yaml to 801-radarr.yaml.  The 800 range is deliberately exempt from updates and is a place where you can put your own custom containers (like a modified Radarr in this example) or containers not part of the project.  Even an omni reset won't delete/change these files.  Naturally, they won't be updated, either.  So, if you later find your personal version of Radarr stops working one day, check the "real" one (301) to see if we've made any changes that you need to copy through to yours.

Thanks for getting back to me.  As I mentioned the change above I made to 308-ombi.yaml to make it not 404 ... When I run "omni update" my modified 308-ombi.yaml in the "OmniStream/components" folder is replaced with the original from Github?

So its looking like the changes made to adapt to the updated FuserMount may not have worked correctly on new installations.  I'm going to have to build a test system and try everything from the start.  I do know that mine and @TechPerplexed got it to work with those changes and I know a few others have commented that they have as well but none of these are through a completely clean installation.
Did you ever get around those containers not starting, @christeasdale ?

The containers were starting I just wasn't able to communicate with them...
removing
"traefik.http.routers.ombi.middlewares=${AUTH}"  and similar for Sonarr YAML they both then work as far as I can tell perfectly.  Can't say I understand the traefik command in question but it doesn't seem to be needed.  Up to you if you think those YAML files need this change.  I did have to move them to 800 range because a "omni update" writes over any changes to running containers in normal range.  But if they are stopped changes aren't written over.


Add and implement Term() on Message type

events/nats: Add and implement Term() method on event Message type
events/nats: fixes returned error type and sets Name on the consumer.
go: update dependencies, closes renovate bot issues

Given that this PR is failing due to the use of deprecated types, perhaps we should just rework the message types to FIaaS specific ones now?

Closing since a recent PR implements Term() , will create a separate PR for the error fix


bcrypt-ruby is now known as bcrypt

The bcrypt-ruby gem has changed to simply bcrypt. This change gets rid of the following message upon installing omniauth-identity:
 Post-install message from bcrypt-ruby:

 #######################################################

 The bcrypt-ruby gem has changed its name to just bcrypt.  Instead of
 installing `bcrypt-ruby`, you should install `bcrypt`.  Please update your
 dependencies accordingly.

 #######################################################

Appears to be merged in #74


Why not up-functions not contain F_UPFF_QUOAC，i think support now.

The Quota Action feature is not supported.


Packaging error

Could you tell me how to solve it

I assume your own project is in a very old react-native version.
You need to migrate your own project to a newer version.
Bintray services will no longer be available.
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
https://stackoverflow.com/questions/70452454/react-native-buld-failed-with-the-following-message-failed-to-list-versions-for


Move away from null checks and .SingleOrDefault checks in controllers/handlers and instead rely on validating this information up front

@BillWagner @MisterJames @tonysurma @sanilpaul @stevejgordon @VishalMadhvani
This is an overall pattern I've noticed in allReady, where every time we go to query something, we're always allowing the return of nulls and then building subsequent conditionals to handle those nulls in consuming code. This additional overhead of checking for nulls carries into our unit tests, and makes our classes do more work than they have to.
For an example, let's take the following files:

AllReady.Areas.Admin.Controllers.CampaignController
CampaignSummaryQueryHandlerAsync
associated unit tests

When CampaignController sends CampaignSummaryQueryHandlerAsync, the user is requesting an edit action method which will return to them a screen where they can change information about the Campaign:
Here is the controller code:
public async Task<IActionResult> Edit(int id)
{
    var viewModel = await _mediator.SendAsync(new CampaignSummaryQueryAsync { CampaignId = id });
    if (viewModel == null)
    {
        return NotFound();
    }
...

Here is the handler code:
public async Task<CampaignSummaryViewModel> Handle(CampaignSummaryQueryAsync message)
{
    CampaignSummaryViewModel result = null;

    var campaign = await _context.Campaigns
        .AsNoTracking()
        .Include(ci => ci.CampaignImpact)
        .Include(mt => mt.ManagingOrganization)
        .Include(l => l.Location)
        .Include(c => c.CampaignContacts).ThenInclude(tc => tc.Contact)
        .SingleOrDefaultAsync(c => c.Id == message.CampaignId)
        .ConfigureAwait(false);
...

When, under any circumstance, would we not be able to find the Campaign we want to edit by id? How is this id provided? It's provided by a previous query/action method on the controller.
The way that campaign got into the system is we had a page that allowed a user to create a campaign, and validated everything up front before the creation was allowed. Basically, the UI enforces this. The Campaign should be there when we go to list all Campaigns, and it should also be there when a user picks a Campaign from this list to edit.
Sure, you could cobble together a URL like this:
\Admin\Campaign\Edit\5
and paste it into the address bar of your browser and hit enter, but if someone is doing that, they're most likely up to no good. So why are we optimizing the user experience to be friendly (we're going to return a nice NotFound() result) for someone is most likely up to no good?
The answer is we shouldn't. We should be optimizing for the happy path.
That being said, here is an example of additional unit tests we've been adding to the system to test these null returns:
public class CampaignAdminControllerTests
{
    [Fact]
    public async Task EditGetReturnsHttpNotFoundResultWhenViewModelIsNull()
    {
        CampaignController sut;
        MockMediatorCampaignSummaryQuery(out sut);
        Assert.IsType<NotFoundResult>(await sut.Edit(It.IsAny<int>()));
    }
}

I'd like to see a fundamental shift if this practice to optimize for the happy path. The chances of a user going to edit a Campaign that they just loaded 3 seconds ago from and Index action method being missing is extremely low. The only way I could see that happening is if some other user deleted the same campaign while they were in middle of their workflow, and again, I see this being very low.
Thoughts?

@mgmccarthy My initial opinion is that I prefer the current approach. Yes it adds a bit of code, but ultimately we are coding for all possible cases and ensuring we return a valid and suitable response. I agree the scenarios which could lead to controllers being hit with invalid id's should be very limited but it's the web and it's still a possibility.
In your example, what would we return instead of null from the handler in the case that an invalid id was provided (either intentionally or due to some unforeseen issue/bug elsewhere)? What does the controller do as it's expecting something back from the handler. If for any reason we haven't got something to give it, what will the controller return?
I've not found it particularly painful to code with the current style and it is then explicit in what's expected to happen.

@stevejgordon
"what would we return instead of null from the handler in the case that an invalid id was provided (either intentionally or due to some unforeseen issue/bug elsewhere)?"
we allow the handler to throw an exception
"What does the controller do as it's expecting something back from the handler. If for any reason we haven't got something to give it, what will the controller return?"
we allow the controller to throw an exception when it goes to use any of the properties on the returned object
In both cases, the user can be redirected to whatever allReady's error page is. MediatR, although a CQRS framework, executes its pipeline synchronously and if one of the handlers in a list of messages/handlers fails, everything rolls back. Since all messages sent can be traced back to a message sent from a controller, that exception will travel back to the controller.
We should be able to use something like Elmah  to capture and allow us look up the causes of errors and troubleshoot accordingly (unless there is already something in place for the project. I know we have ILogger<T> injected into parts of the system, I'm just not too sure where that gets logged, and how that log is accessed).
The point here is if an exception is thrown, it's most likely going to be thrown for something that is out of the ordinary (aka, not regular usage of the site)...
also, if we check for null on everything, how do we differentiate between a null that is expected as part of the business case/use case for a given operation, and a null as the result of "something going wrong".
This makes existing code doing null checks a little harder to understand. Are we checking for null because we allowed a null to be written to the db as part of a write operation against whatever we're querying, or are we checking for null "just in case it's null".
Checking for null should be done when the use case expects a null as part of its functionality, not just to cover our behinds.
Obviously, this is all IMHO, but I figured I'd raise the issue for discussion.

I understand the more cautious approach of having guard clauses. if we are following CQRS approach, there shouldn't be any logical reason for a command to fail. So all the elements in the command should be validated upfront. In this specific instance, it looks like Campaign gets validated upfront. No one is entering CampaignId in a free flowing text and its not a good idea to optimize for malicious user. So I would prefer in the handler to be .Single. So in case, someone tries to edit a campaign that doesn't exist, it would throw exception as it truly is an exceptional case. The Pros are less code/test in the handler & the intent in the handler will be clear.
It looks like if (viewModel == null) check in the controller is due to the .SingleOrDefault in the handler. now the side effect of null check trickles down. we have to write even more tests. We are returning 404 - NotFound(). Instead, I think what Mike's proposing is to lets use what we get for free from the framework aka error page for that very exceptional case. When I started writing tests for another handler, it truly baffled me that the Id passed through via command may or may not exist. I think eliminating those extra checks in places where its not necessary would clean up the code base as well as make the intent clear to some one who reads the code.

For me the general rule of thumb for web development is to not trust user input.
In this case, the controller action methods are at the edge and hence are responsible for validating user input.
Within the system, there isn't a need for defensive programming.. exceptions can be caught by the framework, logged and then handled by showing an error page.
Whether this is done by exceptions or by passing nulls in my opinion should be left to the individual developer.

In general, I'd prefer the simpler solution of throwing exceptions when there are errors in user data or code.
However, I have a caveat and a question:  If we throw exceptions, instead of our current plan, do we give a malicious user information that would help them attack the site? That would be the reason to catch these errors and redirect to an innocuous error page.

For handling exceptions (aka, not Dev or Staging), it looks like we already have code to do that in Startup.cs:

This is what the HomeController/Error page looks like:

so based on what environment you're in, you'll see the specific exception details, or the generic error page. As long as the environment is configured properly, a malicious user should be able to see the specifics of any exceptions.
Granted, I still have to check out if throwing an exception will land the user on that generic error page for the given environment, but I can look into that using the following asp.net docs:
https://docs.asp.net/en/latest/fundamentals/error-handling.html#configuring-an-exception-handling-page.

@stevejgordon @mgmccarthy @BillWagner @MisterJames is there a consensus on what the next steps/issues would be here?

@tonysurma From my perspective, @mgmccarthy has made some very good points and he's winning me around. I've been working a lot with APIs recently where it's more important to return correct status codes etc so I was a bit led by that approach.
Personally I still like checking things and avoiding throwing exceptions but I can see the merit in simplifying the logic which in turn simplifies the tests. Perhaps we can discuss on the standup?

@tonysurma, I'm still in favor of getting rid of what I consider a lot of redundant, and often confusing (especially for new contributors) null checks.
However, I would like to hear @MisterJames @BillWagner and @dpaquette weigh in on the issue.
Refactoring this code would result in pretty much code deletion and less unit tests. We would start with a handler, change it from SingleOrDefault to Single (this is one example), then work our way backwards to the controller that sends the message the handler handles.

@mgmccarthy we did talk about this on one of the weekly standups. I think @MisterJames was planning to write up summary of our thoughts.

The caveat with doing this is we need some type of clearly defined requirement that tells us  which pages can be viewed by an unauthorized user... @stevejgordon just had to fix #1302 b/c my assumption when working in that area is that an unauthorized user would not be able to view an Event.

@MisterJames @BillWagner and @dpaquette, a quick amendment to my previous comment... we don't need some type of clearly identified requirement to tell contributors which pages can be viewed by an unauthorized user... it's easy to figure this out with usage of the [Authorize] and [AllowAnonymous] attributes.

I've had some success in other projects dealing with this issue by leveraging ActionFilters and ExceptionFilters. The ActionFilter would return a NotFoundResult if a controller action returns a null IActionResult, and the ExceptionFilter(s) would convert domain-specific exceptions into HTTP status codes. This got rid of most of the conditional checks in the controller.
The drawback to this approach was that it tended to confuse new developers. It is not everyone's first intuition to look for globally registered filters that may be modifying their request/response, so it can feel like "magic".
I'm new here, by the way. Been reading through issues for the last couple days and trying to orient myself. Looking forward to getting more involved!

@hodorswit, thanks for the input.
cc @stevejgordon @tonysurma @shahiddev @BillWagner @MisterJames
This is something we definitely can deal with using ActionFilters and ExceptionFilters, but like you said, if might not be apparent to new developers that this "magic" is happening in the filters, event though most .net developers are familiar with the framework-supplied filters that we see decorated controller classes and action methods.
That being said, one of the goals of the project (partially b/c it's open source), is to optimize for the new contributor "F5" experience (where one can pull, then stand up the system and start running it immediately) as well as keep the cognitive load as low as possible to enable people that want to contribute at a very shallow level (for example, writing unit tests), or go deep (for example, invoking web-based API's, figuring out the contract, wrapping it in an abstraction, etc...)...
The more and more I think about this Issue, I know believe it is tied to Issue #873, which is our ongoing discussion of what logging framework to use in production.
It seems that an Azure-based logging might when out over my proposal of ELMAH.IO, b/c it has native support for the application insights and telemetry that .NET Core provides.
But either way, regardless of the logging platform (ELMAH.IO/Azure logging), that logging framework automatically should be able to take exceptions that are not handled, log them for you, allow you define a compensating action (in production, re-direct to generic error page).
On the back-end, the logging framework should have built in dashboards as well as hooks for email/sms notifications to go out letting people know something went wrong, so in a way.
So, in summary, a mature logging framework already accomplishes what Action and Exception filters would by hand.
That being said, that does not rule out us taking the Action/Exception filter approach, as this approach still has it's merits. We could even inject and ILogger instance into these filters to be more explicit about exceptions we'd like to capture, what "level" of errors that are (info, warn, etc...) and how they should be logged.


(GH-134) Added rule for maximum description

Relates to #134

@ferventcoder a nice simple Rule to get me back into this project :smile_cat:

LGTM! Needs rebase

@ferventcoder rebased.