Example for serving files from parse/public directory like a domain.parseapp.com webapp.

Sure.. it might even make sense to just make that the default behavior too.  We can revisit that later.  Thanks :+1:

thanks @gfosco! excited to have my commit merged =)

Hi, @mrsmuneton and @gfosco. I just realized this PR is related to one which was merged a few days ago.
This PR suggests the addition of a express config to serve static assets but it is already set (https://github.com/ParsePlatform/parse-server-example/blob/master/index.js#L28).
I suggest we could just rearranje the comment/line in order to avoid confusing users with duplicated configurations.
I'm available do that if you want me to. :)

@marcusgadbem i see what you mean, that is duplicate now so that sounds like a good idea for you to rearrange like that, thanks for the followup :+1:

🎉 This change has been released in version 1.2.0


Formalize devtools

We should formalize built-devtools as a part of the wrangler repo

[x] #1416
[ ] Automatically deploy the built output somewhere
[ ] Related: make that "somewhere" something official looking (e.g. not pages.dev)
[x] #607

@penalosa will this work be taken care of in the upcoming devtools consolidation work?

@penalosa will this work be taken care of in the upcoming devtools consolidation work?
Yes, it will

Closing in favour of #2550


Fix conn: busy problem for CrateDB with >1 worker

This pull request fixes the problem described in https://github.com/timescale/tsbs/issues/201

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


MGDOBR-678: Plug "Edit Processor" page to APIs

Task: https://issues.redhat.com/browse/MGDOBR-678

@vpellegrino test:it fails because of this:

There is not visible a page, it happen when there is a problem in the application.

@vpellegrino test:it fails because of this:
There is not visible a page, it happen when there is a problem in the application.

@sjamboro can you check if the failure there is the same of https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-ui/runs/6553317229?check_suite_focus=true (your PR)?

@vpellegrino test:it fails because of this:
There is not visible a page, it happen when there is a problem in the application.

@sjamboro can you check if the failure there is the same of https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-ui/runs/6553317229?check_suite_focus=true (your PR)?

@vpellegrino yes

@vpellegrino test:it fails because of this:
There is not visible a page, it happen when there is a problem in the application.

@sjamboro can you check if the failure there is the same of https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox-ui/runs/6553317229?check_suite_focus=true (your PR)?

@vpellegrino yes

Ok, so we can safely state that these failures are not related to this PR.
However, it seems that locally everything works fine.

@sjamboro @kelvah managed/answered all review feedback.


I have added a search icon in navbar

Added the code of search bar

Added the code of search bar

@parag477 change icon bg color and it should be right side and not looking gud in responsive. fix it after that i will merge your code....

Now please check it I have fixed the issue


Add support for REST Collections API to bulk data tasks

Critical Changes
Changes

CumulusCI now supports using the REST Collections API in data load, extract, and delete operations. By default, CumulusCI will select an API for you based on data volume (<2000 records uses the REST API, >=2000 uses Bulk); a desired API can be configured via the mapping file.

Issues Closed

@davidmreed  Just some minor bike shedding: did you consider 'rest', 'bulk' or 'auto'?

@prescod I didn't think about it; I just liked the tone of 'smart', and I think we want to add other features that could be described that way in the future. Willing to reconsider.

Auto rings a bit more "standard" to me, but I don't feel strongly about it. Canadian modesty, I guess.


please help in solving this error

File "C:/Users/PC5/Downloads/Compressed/JPG-PNG-to-MNIST-NN-Format-master/JPG-PNG-to-MNIST-NN-Format-master/convert-images-to-mnist-format.py", line 25, in
label = int(filename.split('/')[2])
IndexError: list index out of range

Since the machine accepts that the file name is splited by '\',  your filename will be stored as "./training-images\1\im51563.png". So filename.split('/') will be ['.', 'training-images\1\im39485.png'], this will lead 'list index out of range'.
You can change line 7 into

Names = [['.\training-images','train'], ['.\test-images','t10k']]

and change "label = int(filename.split('/')[2])" into

label = int(filename.split('\')[2])

File "C:/Users/seanw/.spyder-py3/temp.py", line 42, in
label = int(filename.split('\')[2])
ValueError: invalid literal for int() with base 10: 'im56908.png'
Hi thanks for the suggestion of the changes, but now I get this issue


Update to use zIndex

As of React Native 0.30.0, the zIndex style prop is supported.  The library should take advantage of this.  Setting it to something high by default (e.g. 10000) on the container style should work, then if need-be the developer can override this in the containerStyle.  I would submit a PR to add this, but I don't have time at the moment.

I am also using RN 0.30 and when I use the modal together with a  that has a elevation props, the view is not covered by the modal.

I've also experienced some z-index issues on Android so not quite confident about the stability of z-indexes on RN right now...
although I do see the advantage that z-indexes would bring (making the use of this component slightly easier), using z-indexes would gear people towards using several modals per app, one in every component that uses a one, which will have an effect on performance. a global modal component at the root level that is controlled by something like redux seems much more sensible imo.

@dhrrgn any progress on this?


Bugfix: Errorhandling should support typescript errors.

Before this patch the errorhandling would fail with the error: "ERROR: null". Debug showed that the error "caught error sometime before command handler: TypeError: Cannot convert object to primitive value"

PR Checklist

[x] Addresses an existing open issue: fixes #5085
[ ] That issue was marked as status: accepting prs
[x] Steps in CONTRIBUTING.md were taken

Overview
When the error in the runner is a typescript error the current script fails with the error: "TypeError: Cannot convert object to primitive value" - leaving the output as a null value.
It is very hard to see the actuall error. With this change the output will be something like this.
Error: undefined test/testdata.ts(59,14): error TS2739: Type '{ loginId: number; spidId: number; sid: string; amr: never[]; }' is missing the following properties from type 'Identity': sub, nbf, exp, iat
Before the fix the output was
✖ ERROR: null
Debug output contailed this
 mocha:cli:cli caught error sometime before command handler: TypeError: Cannot convert object to primitive value   mocha:cli:cli     at exports.handler (/home/stalet/code/account/min-finn-frontend/node_modules/.pnpm/mocha@10.2.0/node_modules/mocha/lib/cli/run.js:372:65) +859ms

Can you provide a reproduction? Sounds odd that it would swallow all TypeScript errors currently
Other PR:s related to error reporting are eg:

https://github.com/mochajs/mocha/pull/4829

I have created a small project that reproduces the error here: https://github.com/stalet/mocha-typescript-testproject

It's a general thing with errors
console.error('\n' + (err.stack || `Error: ${err.message || err}`));

this line from mocha fail if I throw null as an error
try {
 throw null;
} catch (err) {
  console.error('\n' + (err.stack || `Error: ${err.message || err}`));
}

the error will be
Uncaught TypeError: Cannot read properties of null (reading 'stack')

👀

[ ] Addresses an existing open issue: fixes #000

See .github/CONTRIBUTING.md. We ask that PRs address an open accepted issue first. A few benefits:

Issues are much more discoverable for folks looking to discuss & report suggested changes.
The issue templates ask for the info needed to properly triage the suggestion.

Closing this PR so it doesn't show up on our review queue. But if it is determined in an issue that we can take this in, we'd be happy to re-open and review. Thanks for sending!
tl;dr: please file an issue so we can discuss there 🙂.

Yep, and I think they are all waiting on me, I'll try to squeeze them all in this Monday:

https://github.com/mochajs/mocha/pull/5018
https://github.com/mochajs/mocha/pull/4829

Changed title to work with our new PR compliance check, which helps changelog generation and automated releases, since that's entirely on us 🙈

Proposing to simply do this instead of doing our own error formatting: console.error('\n Mocha run failed:', err);
Thoughts @JoshuaKGoldberg @stalet?

Yeah i guess a simple error-handler is easier to maintain and understand - so I am all for it :+1:

Seems like that broke some tests and I didn't have time to look into it 😝

Included in v10.4.0 :tada:


Release v0.25.0

Contains a new feature to pass in a proto_package parameter via the artman YAML, to the gapic-generator's --package option. This allows artman to generate clients without a GAPIC yaml.

PTAL


URIs for ED and CG-DRAFT

The identity of the resource https://solid.github.io/solid-oidc/ was known previously known as the ED. The same URI is now used for CG-CRAFT (re https://github.com/solid/solid-oidc/pull/97 ). This is known as a URI collision as per AWWW.
I may have missed the plans/discussion about this, so would appreciate any pointers: Will ED seize to exist going forward or will it be available under a different URI? Will CG-DRAFT be a living document of sorts - acting a bit like ED?

I think we could manage it in the following way:

https://solid.github.io/solid-oidc/ will stay as ED
https://solidproject.org/TR/solid-oidc would act as the latest CG-DRAFT
https://solidproject.org/TR/2022/solid-oidc-{tag} would act as a snapshot of each CG-DRAFT

Most likely we would need to revert #97 and make it a part of taking a snapshot of ED.
I'm happy to help with automating things using GitHub workflow. We just need to document the required steps first.

I have no opinions on this -- whatever is most sensible to manage. Having just gone through the process of moving the current draft into the /specification repo, I would be very interested in finding ways to make that process easier and less error-prone. Currently, the process involves a number of manual file renames, etc.

@acoburn could you write down the required steps so we all have a better understanding of how this manual path works today?

What I would prefer to do is express the changes in terms of a GH Action so that we don't need to manually perform them each time

We now have automation (and documentation) for performing these changes.

We should keep an eye on https://github.com/solid/specification/issues/370 for when the deployment strategy to solidproject.org changes.
@csarven do you see anything else that needs to be addressed in this issue?

If https://solid.github.io/solid-oidc/ remains as ED, good. The rest can work out in parallel.


Error on Ubuntu 20.04

There's an error when try to install on ubuntu 20.04

Okey, I will check it.


[TextField] TextField slots with Tailwind (Next14)

I'm trying to create a dynamic TextField with slots for icons, however the slots are not working as expected? I've seen issues similar to CSS specificity issues w/ tailwind #109 but trying this solution has not worked...
Does anyone have any suggestions?
Docs: Themes/TextField
TextField component
import { joinClassNames } from '@/src/utils'
import * as Label from '@radix-ui/react-label'
import { TextField } from '@radix-ui/themes'
import { ReactNode } from 'react'

type TextInputType = 'text' | 'email' | 'password' | 'number' | 'submit'

interface TextInputProps {
  id: string
  type?: TextInputType
  labelText?: string
  placeholderText?: string
  labelClasses?: string
  inputClasses?: string
  disabled?: boolean
  leftIcon?: ReactNode
  rightIcon?: ReactNode
}

export const TextInput: React.FC<TextInputProps> = ({
  id,
  type = 'text',
  labelText,
  placeholderText,
  disabled,
  inputClasses,
  leftIcon,
  rightIcon,
}) => {
  return (
    <div>
      {labelText && (
        <Label.Root className='text-[15px] font-medium leading-[35px] ' htmlFor='firstName'>
          {labelText}
        </Label.Root>
      )}
      <TextField.Root className='flex justify-between items-center'>
        {leftIcon && <TextField.Slot>{leftIcon}</TextField.Slot>}
        <TextField.Input
          id={id}
          type={type}
          placeholder={placeholderText}
          className={joinClassNames('py-1.5 px-4', inputClasses ? inputClasses : '')}
          disabled={disabled}
        />
        {rightIcon && <TextField.Slot>{rightIcon}</TextField.Slot>}
      </TextField.Root>
    </div>
  )
}

package.json
{
  ...
  "@radix-ui/themes": "^2.0.0",
  "autoprefixer": "10.4.15",
  "next": "14.0.0",
  "postcss": "8.4.28",
  "tailwindcss": "3.3.3"
  ...
}

What's not working exactly?

What's not working exactly?

I would expect the icons to be within the input style as per the docs?

@vladmoroz Here is a quick example - on CodeSandbox - I would expect that without having to update styles the icon is placed in the correct position? And also able to apply the styles to the Root that encompasses both icon and input?

Oh, I see. You are not importing Radix Themes CSS, please follow the docs guide:
https://www.radix-ui.com/themes/docs/overview/getting-started
It's not unstyled like the primitives, this is an opinionated component library with its own styles.
If you plan to continue using Radix Themes with Tailwind, make sure to check out this issue as the Tailwind reset overwrites our styles.


FILEUPLOAD-328 Switch from Cobertura code coverage to Jacoco code coverage

…overage

Coverage remained the same at 78.341% when pulling 5cfdf5d260f0496de1c1bafe417494b212ab6c79 on arturobernalg:feature/FILEUPLOAD-328 into b27fca22a365bc9449f9c7d1052965d0a6b71046 on apache:master.


Use POSIX-style args on Windows too

Using POSIX-style command line args on Windows makes some of the CLI command manipulation that happens elsewhere more consistent between Windows and OS X/Linux.
This is mainly needed because of some of the special handling around params in flagutils. We could fix this directly in flagutils, but I reckon it's going to be better for consistency to just keep the params the same between OSes.
Note that the rest of the code in this file is still fine because it already dealt with POSIX-style args as an alternative.
Part of sourcegraph/srclib#149

Thanks for submitting this.
Are --foo-style options generally acceptable and common in Windows? I mean in two ways: (1) will it cause people to revolt or think we are Unix imperialists? and (2) are there any compatibility issues?

Nah, it's super common to use hyphens for args even on Windows. e.g. git, python, go all prefer hyphens. Amusingly, Python doesn't even try to support the slash syntax on Windows:
python /help
C:\Python27\python.exe: can't open file '/help': [Errno 2] No such file or directory

Shouldn't be any compatibility issues either - unless I'm missing something this should only change the output/serialization format, not the parsing, so srclib should still be able to accept either /methods:docker or --methods=docker, but internally it'd use the latter.

The general approach looks good to me. Personally, I'd much rather see and use consistent flags between different platforms, so I welcome to this change.
I'm pretty sure I've seen many Windows programs accept flags as -foo and/or --foo.

There are some other differences in the optstyle_other.go and optstyle_windows.go, do we want to preserve those as they are, or do more unification?


WIP Post process SSAO

fixes: https://github.com/playcanvas/engine/issues/1136
This PR includes a Post Process SSAO implementation based on and ported from Filament's excellent implementation.

NB: Future work may include applying SSAO more correctly only on ambient light
I confirm I have signed the Contributor License Agreement.

@mvaligursky Looks great! Can you please help a tiny bit? I've grabbed the JS file, added it to PC, popped it onto my camera, and the effect does not seem to work at all.
Does it require any additional task to get it up and running?

That should be all needed, but I'm not 100% sure as I wasn't involved in this. It's possible an engine release was needed for this to work .. could you please try again now that the engine was released last week.

closing due to follow up PR: https://github.com/playcanvas/engine/pull/3266


Add cabal freeze files and use them automatically

The freeze files are optional and shake will pick them up if they exist for the current requested ghc version.

Is this to guarantee reproducibility between the cabal and stack builds?
What is the process for updating them, from stack, and from cabal?

Is this to guarantee reproducibility between the cabal and stack builds?

No. I don't care about the stack builds. Freeze files are meant for application authors to ensure users can build: https://www.haskell.org/cabal/users-guide/nix-local-build.html#cabal-v2-freeze

Out of interest, did you test it somehow that it works as intended?

Out of interest, did you test it somehow that it works as intended?

Yes, I built with ghc-8.6.5 and ghc-8.4.4.

This is probably a good idea

But I think we need some semi automatic way of updating them, without hand-editing afterward.
freeeze-update 8.6.5 or something like that.

but probably, only once a month

Something like that.

But I think we need some semi automatic way of updating them, without hand-editing afterward.
freeeze-update 8.6.5 or something like that.

There's a ticket about it: https://github.com/haskell/cabal/pull/4071

@fendor Having exactly reproducable builds with cabal is important, as it becomes a more popular delivery mechanism.  And it is largely similar to what we are doing with stack, for the non-snapshot deps in the stack-XXX.yaml files.
So yes, some process that allows us to update, either when needed deps change (like hlint or the like), or as part of the monthly release cycle.

Having exactly reproducable builds with cabal is important, as it becomes a more popular delivery mechanism.

There's one gotcha. To be 100% reproducible, we would need to freeze the hackage index as well (which can be done too). In some rare cases, hackage revisions (which are in-place updates to .cabal files) can retroactively break a build plan. This doesn't happen often, but can. I would omit this step though, unless it becomes a problem.

we would need to freeze the hackage index as well (which can be done too).

Would that not be enough?  Which is a lot simpler

Would that not be enough? Which is a lot simpler

How would that be enough? A hackage state has not just one version of a package.

How would that be enough? A hackage state has not just one version of a package.

It provides a frozen input to the solver, so should result in a frozen output. As I understand it.

It provides a frozen input to the solver, so should result in a frozen output. As I understand it.

I think there may be more affecting the solver than just the hackage state (e.g. already installed packages, global config?, ...).

There is no .project file for the rest of 8.4 and 8.5 minor versions, so it is not in sync with stack-*.yaml files, is it on purpose?

@jneira Stack and cabal are not in sync with these files. Rather we provide for cabal a mechanism to compile on any system with the same build-plan. It is in general decoupled of stack.
To have the same build plans between stack and cabal, we could also use: https://hackage.haskell.org/package/stack2cabal
It looks like with this project, it is trivial to have the same build-plan between stack and cabal.

I somewhat expect that would be a cabal.project.${ghcVersion} for each stack-${ghcVersion}.yaml file, to let cabal users build with the same ghc's.
What steps need to be done if a cabal user want to build with ghc-8.6.4 instead ghc-8.6.5, f.e.?

There is no .project file for the rest of 8.4 and 8.5 minor versions, so it is not in sync with stack-*.yaml files, is it on purpose?

Cabal has nothing to do with stack. There is nothing to sync. freeze files are optional and only added for things that someone has tested.

Cabal has nothing to do with stack

Yeah i think it is clear enough :wink:. I was talking about similar functionality using different tools.

That's not the scope of this PR.

Ok, i think using the last minor version will cover enough use cases. We could add the rest of them afterwards

@jneira hold on with the merge, I'll add freeze files for the other versions. I'm installing all ghc versions via ghcup.

Well i think i am still used to stack.yaml files and the more similar cabal one maybe could be create a cabal.project.8.6.5 like:
packages:
         ./
         ./hie-plugin-api/

tests: true

with-compiler: ghc-8.6.5

package haskell-ide-engine
  test-show-details: direct

write-ghc-environment-files: never

-- Match the flag settings we use in stack builds
constraints: any.Cabal ==<IP_ADDRESS>,
             any.Diff ==0.4.0,
             any.HUnit ==<IP_ADDRESS>,
             any.ListLike ==4.6.3,
             any.QuickCheck ==2.13.2,
             QuickCheck +templatehaskell,
             any.SHA ==<IP_ADDRESS>,
             SHA -exe,
             any.StateVar ==1.2,
             any.Win32 ==<IP_ADDRESS>,
             -- rest of pinned deps from cabal.project.freeze for that ghc version

But i suppose it doesnt follow cabal conventions. I still don fully like to have "dummy" (for me) cabal.project.8.6.5 that does not enforce the compiler version in any way (or am i missing something too here?)

hold on with the merge, I'll add freeze files for the other versions. I'm installing all ghc versions via ghcup.

ok, thanks for that

Done, please check if you can run regen-freeze-files.sh.

Nitpick: can we move these cabal.project.GHC_VER files into the install directory if they are to mainly be used by the install script?

They are not mainly used for the install script.

Nitpick: can we move these cabal.project.GHC_VER files into the install directory if they are to mainly be used by the install script?

They are not mainly used for the install script.

Is it to be mainly used by cabal --project-file cabal.project.8.x.x then? I.e. if the user decides to install hie via plain cabal, and not via shake?

Is it to be mainly used by cabal --project-file cabal.project.8.x.x then? I.e. if the user decides to install hie via plain cabal, and not via shake?

As already explained: freeze files correspond to the project files. The project file lives at the top of the project hierarchy. The project and freeze files are used to build hie.

Is it to be mainly used by cabal --project-file cabal.project.8.x.x then? I.e. if the user decides to install hie via plain cabal, and not via shake?

As already explained: freeze files correspond to the project files. The project file lives at the top of the project hierarchy. The project and freeze files are used to build hie (with or without the shake build system).

My wording was unclear: is the intention that people will run cabal --project-file cabal.project.8.x.x install to install and build hie? Because as @jneira mentioned they will need to also specify --with-compiler=ghc-8.x.x. And I'm not 100% convinced that the method of installing multiple versions of hie via cabal by hand is that common

My wording was unclear: is the intention that people will run cabal --project-file cabal.project.8.x.x install to install and build hie?

Again: they can do that or use shake.

Because as @jneira mentioned they will need to also specify --with-compiler=ghc-8.x.x.

No, they don't have to specifiy that.

Because as @jneira mentioned they will need to also specify --with-compiler=ghc-8.x.x.

No, they don't have to specifiy that.

I see, the freeze file seems to contain the compiler id part. I'm getting sold on this idea now, but I still think we should put them into a separate cabal-projects directory, since the top level is getting pretty badly cluttered. cabal build --with-project=cabal-projects/cabal.project.8.6.5 still seems to pick up the freeze file for me.
As for the 8.6.5 freeze file, I'm not able to build it:
$ cabal build --project-file cabal.project.8.6.5
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: haskell-ide-engine-<IP_ADDRESS> (user goal)
[__1] next goal: hoogle (dependency of haskell-ide-engine)
[__1] rejecting: hoogle-<IP_ADDRESS>, hoogle-<IP_ADDRESS> (constraint from project
config TODO requires ==<IP_ADDRESS>)
[__1] trying: hoogle-<IP_ADDRESS>
[__2] trying: warp-tls-3.2.9 (dependency of hoogle)
[__3] next goal: tls-session-manager (dependency of warp-tls)
[__3] rejecting: tls-session-manager-0.0.3, tls-session-manager-<IP_ADDRESS>,
tls-session-manager-<IP_ADDRESS>, tls-session-manager-<IP_ADDRESS>,
tls-session-manager-<IP_ADDRESS>, tls-session-manager-<IP_ADDRESS>,
tls-session-manager-<IP_ADDRESS> (constraint from project config TODO requires
==0.0.4)
[__3] fail (backjumping, conflict set: tls-session-manager, warp-tls)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: hoogle, warp-tls, tls-session-manager,
haskell-ide-engine
Try running with --minimize-conflict-set to improve the error message.

into a separate cabal-projects directory

That's not how project files are to be used. And it might break tools (which search upwards for project files). They are supposed to be in top-level.

As for the 8.6.5 freeze file, I'm not able to build it:

Yes, because you didn't run cabal update.

That's not how project files are to be used. And it might break tools (which search upwards for project files). They are supposed to be in top-level.

These project files won't be picked up by any tools since they don't match "*.project", at least not for the hie-vscode-languageserver extensions or any of the default project markers in the README anyway.

Yes, because you didn't run cabal update.

Might be worthwhile looking into adding index-state: into the cabal.project files. And then we basically have stack snapshots for cabal!

These project files won't be picked up by any tools since they don't match "*.project", at least not for the hie-vscode-languageserver extensions or any of the default project markers in the README anyway.

I don't understand what that means.

Might be worthwhile looking into adding index-state: into the cabal.project files. And then we basically have stack snapshots for cabal!

As explained, I don't think that is necessary right now. It's kind of a heavy shoot, imo.

7uujnhjxhxjxhhhhhhkxhbnxhxhjjnjxjh nxkxjjhkhhj79

I am not gonna ask for more changes, but i want to note for future follow ups, as a reminder, that the pinned deps (and the script to generate them) are os dependent (correct me if i am wrong)
So it will be needed to add a version, at least, for windows, change install.hs to take them in account and translate the script to a os independent lang.

So it will be needed to add a version, at least, for windows, change install.hs to take them in account and translate the script to a os independent lang.

Not sure that is necessary. This script doesn't have to be run by users at all and only ~once a month by one developer. Surely there's someone running linux.

I am not gonna ask for more changes, but i want to note for future follow ups, as a reminder, that the pinned deps (and the script to generate them) are os dependent

The worst case is that windows-specific deps don't make it into the freeze file. Are there any deps that only exist on windows? If not, then there's no issue.

Mmm i can do a diff but as we can see in the example i posted above it has any.win32==2 6.1.0 (and linux will have unix). I bet there will be more cases of libs usables for both os but only present in one of them.
I will test the pr freeze files in windows to make sure they work.
We can accept the possible risk of failing builds in windows due to unpinned deps but i would prefer to have parity between them.
If we want those os specific files we'll need generate them in that os and i would prefer again to not have to do it manually.

@alanz cabal developers wrt only using index file:

maerwald: phadej: do you know the exact difference between using a freeze file and pinning the hackage state? If the build plan only depends on 1. the .cabal file and 2. the hackage state, then that should be enough for reproducible output, right?
maerwald: But my gut feeling tells me that might not be the case
maerwald: (e.g. already installed packages might change the build plan?)
jojoz[m]: oof it broke
phadej: pinning index-state and cabal-install version should produce same install plan yes, except if there's some pkg-config etc. global change which may flip some automatic flags
phadej: already installed packages don't affect v2-build solver at all
phadej: (that's the point)
maerwald: cabal options like max-backjumps and whatnot don't affect the build plan?
phadej: max-backjumps don't, some other might (like reorder-goals)
phadej: but not in the case when the resulting plan is "all the latest (up to index-state)"
maerwald: pinning index state seems easier when you want to support both windows and unix
phadej: it depends how much freedom in movement there is (for apps I'd recommend to support only one major version of dependencies anyway, so most likely solver will find always the same plan)
phadej: problematic cases are "should I pick newer vector or newer hashable, because of the dependencies I can pick only either, but not both"
phadej: and those build-plans aren't "comparable" (you cannot say which one is better, objectively)

I've never used this approach, so I cannot comment on how smooth it is. I guess we could give that a try instead. If we are lucky, one index state will work for all ghc versions even. But I'll have to test that. We would also need to pin cabal-install somehow.
However, the documentation of index-state still suggests to use a freeze file: https://www.haskell.org/cabal/users-guide/nix-local-build.html#cfg-field-index-state

This allows to change the source package index state the solver uses to compute install-plans. This is particularly useful in combination with freeze-files in order to also freeze the state the package index was in at the time the install-plan was frozen.

Another downside of using index-state only would be that you don't really know if you broke the solver, once you changed the .cabal file (especially thinking upper bounds). But that could be a job for CI.

update-index-state.sh is sorta tricky, but it is only there to aid development. It isn't strictly necessary.

To be honest , it seems to me that freeze files was not designed for being distributed but to be automatically generated by each developer and git ignored (like cabal.project.local).

Another downside of using index-state only would be that you don't really know if you broke the solver, once you changed the .cabal file (especially thinking upper bounds). But that could be a job for CI.

That limits somewhat the solution (CI checks already builds although you don't pin the index state) but to be fair it is still a improvement.
Btw, is it possible that, in a specific hackage index state, the builds work for an os but not for others for any chg version?
Well i suppose CI (again) can check that and we'll have to select another one (manually?) in that case. I hope that it will not be very common.

To be honest , it seems to me that freeze files was not designed for being distributed but to be automatically generated by each developer and git ignored

The documentation says the opposite:

For end-user executables, it is recommended that you distribute the cabal.project.freeze file in your source repository so that all users see a consistent set of dependencies.

Freeze files are meant to be distributed. What you mean is cabal.project.local, for local development.


Add Microsoft.AspNetCore.AzureKeyVault.HostingStartup

https://github.com/aspnet/AzureIntegration/pull/126

When you merge https://github.com/aspnet/AzureIntegration/pull/126, can you also update modules/AzureIntegration to the new commit that contains this new package?

@natemcmaster I can, but why is it required? Wouldn't universe build do it automatically?

Our update scripts will do it automatically, but I still recommend this for any change to git submodules that would break Universe. If you push without updating the submodule, aspnet/Universe is broken and won't build until that updater script succeeds.

FYI - for adding/removing packages, this should happen less once we do #686


Different dashboard for different roles?

Laravel Version: 5.5
Voyager Version: 1
PHP Version: 7

Hi, I want to be able to create different dashboards for different roles for users to be redirected to.
Also, how can I create my own permission similar to "browse_admin", for example I would create another like "browse_editor" for editor role on my app.

Labels: question

You can create your own permission in the database.
However, I believe it would be a good idea to have a location to make those in the system itself without having to make changes directly in the database.

However, what would be the correct method of creating different dashboards for different roles and having them redirect upon login.

Voyager does not support multi instances, so I would go for the same instance, like having an instance of Voyager at /dashboard or maybe even /panel.
Here I could overwrite the view to make sure that you only show the content you wish to show for the users with the specific roles.
Voyager does not support that you have one dashboard at /admin and another on /accounting and so on.
So to do this you should go along with having just one shared dashboard.


Enhancement: Update for 0.9.0 Dev version

Update the current master to match the next version to be released so those using it from git will have clarity versus the released version

@TheSriram please review

:+1:


Update CHANGELOG.md

The renaissance of CHANGELOG.

Were there any formatting specific changes we should call out (I suppose those that were version-gated before)? I feel like I remember one that changed the sorting logically slightly as an example

It's great if we can do this, but I am afraid there are too many formatting changes and it would be too much work to go through and prioritize them.


Exec ConsoleToMSBuild=true doesn't preserve colors

@rainersigwald  I've spent some time pondering some deep, Confucious stuff lately regarding my build toolchain, and started asking:
"How can I run a .NET Core CLI Tool in an MSBuild Exec Task AND preserve the color output?"
Oh, boy.
Along the way, I found that MSBuild output itself can emit ANSI Escape Codes to processes like Travis CI... so it got me wondering, why can't MSBuild parse ANSI Escape Codes rather than generate them?  Searching StackOverflow, I don't see any good answers.  People seem to think fundamentally there is no way to capture color, it's drastically impractical, because color is a property of the console, not the standard output and error streams.  I say, let there be color.  Pastel, maybe.
Here is a sample repro of the issue:
build.targets
<?xml version="1.0" encoding="utf-8" ?>
  <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="PowershellColoredOutput">
  <Target Name="PowershellColoredOutput">
    <!-- Clear your mind with this zen action: -->
    <Exec Command="pwsh.exe -Command "Write-Host 'hi' -ForegroundColor red"" ConsoleToMSBuild="true">
	  <Output TaskParameter="ConsoleOutput" ItemName="OutputOfExec" />
    </Exec>
  </Target>
</Project>

Expected Output
"hi" in red.
Actual Output
"hi" in console default foreground color and default background color
Deep Thoughts
“I for one believe that if you give people a thorough understanding of what confronts them and the basic causes that produce it, they’ll create their own program, and when the people create a program, you get action.” — Malcolm X

Per my new friend Mark Junker, it should be possible to due this thanks to Windows 10's Windows Subsystem for Linux (WSL).  In looking this up, it appears he is right, and it is possible thanks to https://github.com/Microsoft/WSL/issues/406

Thanks for filing this; I've been thinking about it for a long time, too. Unfortunately, I haven't found a good solution either. There are a few problems:

It's extremely common for tools to detect that they're being redirected and stop emitting color codes. Powershell does this:

On Windows, there are two ways to change the console color: ANSI escape codes, and Win32 Console APIs. We could only ever hope to capture the former--I definitely don't think it's worth building a ConDrv-aware Exec into core MSBuild just for colorization.
We have to decide what to do with the output. Right now, messages exist only as text. That means they can be streamed to the console (with our minimal colorization applied) and to text logs and to the binary log and to custom loggers. It's very likely that a subset of those things would be very confused if VT escape codes suddenly appeared in the text.

This came up in the context of dotnet test, which runs inside MSBuild but wants to control its output completely, which currently requires various workarounds.

A couple of thoughts:

We need a movement to emacipate color so that programs can share color with one another. Can you please share PowerShell naughty behavior in the PowerShell "vZeroTechnicalDebt" issue here: https://github.com/PowerShell/PowerShell/issues/6745
Right. It really doesn't belong in MSBuild in the first place. There are enough useful APIs buried in obscure places as-is. System.Console.Palette (or similar) would be a fine common namespace.
No, we don't have to decide. With a Builder or Interpreter design pattern, it is up to the client caller to decide when to materialize. Examples include String Builder.ToString() & DbSet<T>().ToList(). In both situations, there is a degree of "call-by-intention" function evaluation semantics. Another example of call-by-intention is a  - WhatIf flag in PowerShell commands that traces an effectful execution path without side effects.  The generalization therefore is providing a similar way to trace called an Output Renderer.

@rainersigwald Let me know if the above replies make sense.  We'll fight the good fight.  In the mean time, since it seems like my Trojan Horse about Exec needing Colors was unnecessary, since you already seem to understand the general problem, let me know if I can rename this to something a bit more serendipitous with your thoughts.
But, seriously though: I would be very happy just to get MSBuild to preserve dotnet cli colors.

@rainersigwald Thanks for the reference to ConDrv.  I was unaware that a Console Team even exists.  It seems their solution is a bit too clever by half, and seems to prevent the very scenario I want to achieve.
It's hard to fully understand their architecture drawing, but it seems to me that they boxed developers in by only having a "Command Line API" on the left hand side of ConDrv, and no "Command Line API" on the right hand side of ConDrv.  I guess I'll try to track down Rich to understand his drawing better.
Do you happen to know if ConPTY is exposed on .NET Core, and, if so, how?  TYVM!  Could it be this? https://github.com/Microsoft/console/tree/07d06f62aa5a883f70cbe8572bf8ea1f8577f53f/samples/ConPTY/GUIConsole/GUIConsole.ConPTY

Hey so lemme chime in real quick before we get off the rails on ConPty.
Conpty exists to enable applications to act as terminal emulators on Windows. It acts as the console host, servicing console API calls in the same way the console normally does, but then "renders" the side effects of the API calls to a stream of VT sequences. This means that client applications (like cmd.exe, msbuild.exe, etc) can use the same old Console API's they've been using since Windows 3.1, but now instead being forced to use conhost as the terminal window, another application could step in as the terminal instead, and the new terminal application could be written just the same as a terminal emulator on linux.
We (the console team) certainly haven't done any work to expose ConPTY in any sort of managed sense. The sample you linked is community code, but there's no official support currently.
Conpty is not a new magic commandline client API. It will not magically make your client app emit output as VT.
For commandline-client application developers targeting Win10+, our general recommendation is to use VT sequences always, and enable VT processing with SetConsoleMode. We're expanding our support for VT sequences, but we're leaving the console API as it is, for compatibility reasons. As noted here, the Console API isn't really portable to other platforms.

@zadjii-msft  But does my "call-by-intention" remarks make sense to you, and what I think a "good API" for this aesthetically has?  For example, awhile ago author Joe Albahari created a library called Linqkit for extending Linq SQL libaries with common sub-expression substitutions.  However, this library is fundamentally the wrong user experience for "call-by-intention" programming: The API producer has to "know" the end-user plans to require such substitutions, and the API end-use has to "know" the API producer provides such substitute-ability: The API Producer calls linqQuery.AsExpandable().  A much better approach is in the erecruit.Expr library, where the client caller can call Expand() at the very end of a an IQueryable builder pattern, without needing to know whether the IQueryable "supports" any special functionality.
Sorry if this is overly verbose, but it's a design pattern I have discovered some programmers have experience with, and others do not, and somewhere in the middle where there is a huge portion of engineers who don't even see the difference.  THIS is the architecture we need.

Yea I'm gonna say that's out of my area of expertise. I'm mostly only really concerned about the characters that end up getting written to the console. How apps want to pipe information to each other and preserve metadata such as color is not something I spend a lot of time thinking about :/

Thanks.  One last question: When you say:

We're expanding our support for VT sequences, but we're leaving the console API as it is, for compatibility reasons. As noted here, the Console API isn't really portable to other platforms.

Are you referring to the Win32 Console API or the .NET surface area exposed via System.Console?  As a .NET engineer discussing a .NET project MSBuild, I hear "the Console API isn't really portable to other platforms" as "the [.NET] Console API isn't really portable to other platforms."

I'm talking about the Win32 Console API, as that's the layer we maintain. I'm not entirely sure there's anyone maintaining the .NET Console API.

Got it.  After comparing to what UNIX systems do, they are not too far off from how Windows behaves.  The key thing is that GNU Core Utilities tend to have a --color switch that accepts always, never and auto/tty/if-tty.  Programs like ls and grep can auto-detect if the output is redirected to a tty (console).
In this sense, I suppose you might be right: the Win32 Console API shouldn't necessarily care what programs do, but the general Windows ecosystem sucks at having any support for this.

I'm not entirely sure there's anyone maintaining the .NET Console API.

Yes there are. For .NET Core, we live in https://github.com/dotnet/corefx

I pinged @mscraigloewen and @bitcrazed on twitter about this issue. My "call by intention" idea has outstanding merit.

This came up in the context of dotnet test, which runs inside MSBuild but wants to control its output completely, which currently requires various workarounds.

@rainersigwald I am realizing that custom colorization also prevents tests output from being processed by MSBuild loggers (https://github.com/microsoft/vstest/issues/680)! By the way dotnet test calls MSBuild which itself (via VSTestTask) calls dotnet exec vstest.console.dll, so maybe the way forward would be to cut the middle man? Which is easier written than done, I am sure.
If I may add my 2 cents here, having used MSBuild for many years, I love the austerity of the MSBuild output which gives me 2 simple and essential things: errors are red and warnings are yellow. And further information I can dig in the logs, should I need them. Other environments (think Rake, gulp.js, Phing...) are lacking in this regard IMHO, most often in their (in)ability to produce detailed logs.

@jzabroski
The problem of Windows' command-line tools not handling VT sequences is a long and historical one. But to summarize:
Windows was architected upon object-based principles. UNIX was designed upon the principle that everything is a stream/file. Thus there are MANY differences to the design and implementation of both OS' and the tools that run upon them.
This is easily seen in the way that UNIX and Windows command-lines work:
In UNIX, apps emit streams of characters. Those streams of characters may contain embedded formatting codes (ANSI/VT sequences) that instruct the recipient to render the subsequent characters in bold, italic, or specific foreground / background colors, etc.
In Windows, command-line apps emit text, but call APIs on the Console (the traditional Windows command-line GUI app that you see on-screen) to set colors, move the cursor around, etc. However, this breaks-down when you try to execute a command-line app on a remote machine - how does the remote command-line app call a method on your local Console from the remote machine upon which the command-line app is running? This is why Windows command-line apps suddenly start rendering in monochrome when accessed via ssh etc.

We built the "magic" ConPTY to render text and API calls to an off-screen buffer and then stream the updated chars as text/VT so that Terminal doesn't have to continue to implement legacy Console APIs.
This ConPTY will also allow comms gateways like OpenSSH to locally "render and stream" the text UI of Windows command-line apps as text/VT meaning you'll see color text coming back from remote command-line apps at some point when the work gets done 😜
And now that Console and Terminal have pretty decent support for VT, command-line apps like MSBuild could emit text/VT directly rather than calling System.Console (and thus Win32 Console APIs on Windows). This would take a little work, clearly, but may well be worth considering. Happy to discuss with the MSBuild team if they'd like to reach out.
We're also working with @jonsequitur & @KathleenDollard (System.CommandLine) & others to figure out a modern command-line infrastructure which command-line apps can use to simply emit text/VT, avoiding Console APIs and the need to "render and stream" completely, also making it easier to write x-plat .NET and native code too.
HTH.

@bitcrazed Thanks for the thoughtful reply.
My point was something much simpler, though.
I was pointing out that if you look at how various UNIX utilities like troff behave and what formatting they support, there is a concept of:

--color switch that accepts always, never and auto/tty/if-tty

Think of it this way.  Color switch is like an HTTP media type.  The terminal can query the program and the program can query the terminal and negotiate content types.  In some cases, the terminal is just a browser/intermediary for two programs to communicate in a client-server pattern.  The terminal can't and shouldn't know about the "magic conPTY" you describe.  There has to be basic infrastructure for IPC.
I understand for portability reasons to UNIX and general platform goals of supporting Linux, you chose what you chose.  It's a defensible choice.  I am simply trying to argue what I think the next 30 years of my career would ideally look like: content-based negotiation.
I can also come up with more interesting examples to further my argument.  But first I'm just seeking understanding of my viewpoint, as it is likely non-obvious to both Linux and Windows users.

The color arg passed to troff etc. is just that - a switch that the code has to recognize and prevent emitting VT color sequences. This has nothing to do with the Terminal.
The Terminal doesn't really know anything about the ConPTY - it just knows that in order to launch and connect to any command-line app it must

Create a pipe for stdout through which it sends all key chars
Create a pipe through which it receives any text/VT which it renders to the screen
Launch the necessary shell/tool connected to the two pipes

Everything else is transparent to the Terminal. That's why the ConPTY is magic. In fact, terminals don't even know what they're connected to - it could be a bash shell on the local machine, it could be ping.exe, it could be SSH which connects via WIFi to a weather station in Llanfairpwllgwyngyllgogerychwyrngogogoch

Note: There is no content negotiation available in today's command-line on any platform. There's a database of terminal capabilities but it's incomplete and not dynamic, which is why tools like troff accept a command-line arg to enable/disable emission of color VT sequences.

I get that you're focused on pseudoterminals.  Would it be more helpful to use a different word than pseudoterminal / pty, as ConPTY magic is basically just giving Windows what Linux has had for a long time? Would BrowserTerminal or bty better communicate the idea?
troff indeed is not the future, but I'm simply describing how you can think of the various *NIX utilities as truly non-modular, by first recasting a simple feature (color) as a "terminal capability".  Rather than having to explicitly specify the capability on the command line, I'd rather it just be auto.  But, ideally, in the future, I have a terminal.config.json or something that controls what capabilities I prefer.  And I just download that config from github wherever I go, and there I have my preferences.  That's where the world is going with things like Firefox and Google Chrome preferences, but also tools for composing OS tech stacks like Nix with textual rules checked into GitHub.
In the pseudoterminal world, you're forced to tell troff these switches, BECAUSE the terminal has to intercept all these things BECAUSE its in charge of the pipes.  So when you pipe something into troff, that input has to be massaged a certain way.  There is an implicit contract between the left and right hand side of the pipe.  If it's an implicit contract, why can't I have middleware (call it bty for BrowserTerminal) that negotiates the details of that contract for me?  Because then I don't have tight coupling on the representation of characters at all.
Rather than all this talk of pipes, what I'd rather see is simpler abstractions of Processor and ProcessorContext.    Then my command line expression could be a continuation instead of just a co-routine, and I could have deep Control+C SIGINT.
As Rainier said, some programs already sniff for things like whether their output is being redirected.  It would be a lot nicer if that sniffing layer was uniform and we had canonical names for all these wonderful smells we can sniff.
To be honest, this way of thinking about the problem is new to me, too.  I looked around for others with similar ideas and probably the closest person is Thomas Lord (of GNU Arch DVCS and GNU Guile Lisp fame).  I only thought about it recently because I had seen a large number of problems in Continuous Integration servers and their toolchains around color and formatting expectations.

ConPTY is much, MUCH more than simply bringing a Linux-style Pty to Windows. If that's all we'd done, no existing Windows command-line app would work on any terminal connecting to the simpler pty.
The point is that pty should be an unintelligent pipe and should not be responsible for nor involved in content/capability negotiation.
There's an important architectural quirk here: There is no meta-communication channel between the Terminal and the command-line app. There's no way for the Terminal to send commands or requests for information to a command-line app.
SHOULD there be one? Perhaps. But know that for this to work, there'd need to be an industry-wide,  standardized, multi-decade initiative to make this happen.
Re. sniffing:
What @rainersigwald is seeing is not redirection sniffing
Calling echo specifying -ForegroundColor results in pwsh calling Console APIs but the output of the command is pure text (no VT) and so the API calls do nothing. Thus, pure text is piped into WSL's cat and it just displays plain text.
If you emit VT, however, you'll see the color is preserved:
$esc = "$([char]27)"
echo "$esc[91mHello$esc[0mWorld" | wsl cat

So, if you want to color/stylize the output of your command-line apps, you should start planning to adopt VT, and avoid Console APIs if you want your styling to survive being piped through environments, between machines, and displayed even on non-Windows terminals.

SHOULD there be one? Perhaps. But know that for this to work, there'd need to be an industry-wide, standardized, multi-decade initiative to make this happen.

This makes me happy.

What @rainersigwald is seeing is not redirection sniffing

I actually re-read this three times before I understood your point.  Welp.  I think I over complicated my immediate needs.  Good discussion, though.

you should start planning to adopt VT, and avoid Console APIs

This is the big takeaway.  I'll give it a try and see what problems I run into.

LOLZ. Sorry if I dove deep, but I wanted to be sure that people realize that the command-line today is LITERALLY a mirror of the command-line as it was in 1960: It's chars out and chars in. That's it; everything else is just details! 😜
It's for this very reason that I wrote this multi-part series on the command-line and how it evolved, and how Windows differs from *NIX, etc.

Color switch is like an HTTP media type. The terminal can query the program and the program can query the terminal and negotiate content types. In some cases, the terminal is just a browser/intermediary for two programs to communicate in a client-server pattern. The terminal can't and shouldn't know about the "magic conPTY" you describe. There has to be basic infrastructure for IPC.
-- @jzabroski

It's chars out and chars in. That's it; everything else is just details! 😜
-- @bitcrazed

Supporting some form of content negotiation in a way that can work everywhere is why we have this "directive" concept in System.CommandLine:
> myapp  [output:ansi] --some-args --and stuff

The syntax is weird because we wanted it to be amenable to standardization regardless of your CLI's own grammar.

@jonsequitur So System.CommandLine will strip VT if [output:ansi] is set?

System.CommandLine.Rendering will include VT if [output:ansi] is set, it will attempt to render using System.Console APIs if [output:nonansi] is set, and it will render plain text (no VT, table layouts via whitespace) if [output:plaintext] is set.

@bitcrazed One discussion @jonsequitur and I had months ago (years ago??) in private was whether there was any standard for representing command line grammars, so that tools could interop with command line grammars and provide services like auto-complete and rich GUIs similar to the PowerGUI concept that was acquired by Dell and subsequently buried after budget cuts.
If you happen to know of any standard, that would probably be helpful towards bty type goals.  When you mentioned Kathleen and Jon, I didn't mention that Jon and I have had discussions about system engineering dating back to Its.Log prototype.

@jonsequitur - Got it, thanks. Though one suggestion: You may want to rename ANSI to VT since ANSI stopped standardizing escape codes and VT sequences in the '80s, deferring instead to industry standards. ISO/IEC and ECMA both maintain standards, but haven't really kept up with industry's advancements to support, for example, 24-bit color, etc.
And perhaps nonansi could be replaced with legacy or similar?

@jzabroski Alas, the only shell <-> command-line protocol for things like arg expansion, etc. that I am aware of are ad-hoc approaches like those supported by bash et. al.
However, John, Kathleen, and I (and others) have discussed how we might be able to systematize this somewhat - which is why @jonsequitur introduced the ability to dynamically reflect-over/query command-line apps built atop System.CommandLine for its list of supported args, etc. Support for such a capability, however, as one can imagine, will require work by a lot of teams to introduce, adapt, and support.
But, from small acorns ... 😜


Firepicker not working in detached mode on Macintosh - similar to issue #14

I am still having this issue:
http://www.flickr.com/photos/31792685@N02/6609717765/
Actual color appears underneath the TEXT or HEX color, but the color picker never appears and no ability to change the color
My current specs are:
Firefox 8.01
Firebug 1.84
Firepicker 1.37
Macintosh 10.6.8
Firebug window separated

I'm unable to repro this.
I gather this only happens in the detached firebug window (ie. everything works fine in the non-detached mode)?

I'm unable to repro this.
I gather this only happens in the detached firebug window (ie. everything works fine in the non-detached mode)?

Yes, it was only occurring detached. But I see what the problem is now. I have this other plugin
https://addons.mozilla.org/en-US/firefox/addon/friendly-bug
FriendlyBug, which adds several features to FireBug as well as adding features to FirePicker. Look at the feature list:
2. add's option to firepicker popup to change color between hex and rgba
Once I turn off FriendlyBug, this issue #19 goes away. Maybe you can work with this plugin developer to fix the problem.
I also wrote him a note, pointing to this bug.

Yes, it was only occurring detached. But I see what the problem is now. I have this other plugin
https://addons.mozilla.org/en-US/firefox/addon/friendly-bug
FriendlyBug, which adds several features to FireBug as well as adding features to FirePicker. Look at the feature list:
2. add's option to firepicker popup to change color between hex and rgba
Once I turn off FriendlyBug, this issue #19 goes away. Maybe you can work with this plugin developer to fix the problem.
I also wrote him a note, pointing to this bug.

The person working on FriendlyBug is working to fix the conflicts, but it might be cool if firepicker naturally had capability to switch color between HEX, RGB, RGBA.

There's now a transparency dragger that switches to RGBA when necessary in the newest version.


Add onScrollOffsetChange prop to NestableScrollContainer

Any updates on this? I would highly appreciate this feature!

Same. I'm having to do hacky workarounds without this. Please merge!

Please merge this

+1 Please consider merging this

+1 merge please

@computerjazz Can you consider merging this? Thanks!

+!


fix: Add gradient to Galleries for You banner

Context

Description
Add gradient to "Galleries for You" home screen banner.

PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

add gradient to galleries for you banner - Ole

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 464460d4c7173881844b66ac1f2205187b6b5f9c

Thanks a lot @MounirDhahri 🙏


merge 1.10.x to master

Proposed changes:

merge 1.10.x to master

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

the commit history by github seems somewhat weird considering that most of these commits were already merged yesterday https://github.com/RasaHQ/rasa/pull/5823 🤔

will fix this

build blocked by https://github.com/RasaHQ/rasa/pull/5879

can we merge 1.10.x in merge-master? I've just merged some new changes 🙏

can we merge 1.10.x in merge-master? I've just merged some new changes 🙏

on it

omg, that's the longest x to master merge I have ever done

did new, clean merge


ArangoDB doesnt work with apple M1

Pulling arangodb (library/arangodb:3.7.6)...
3.7.6: Pulling from library/arangodb
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
Failed to deploy 'Compose: docker-compose.yml': docker-compose process finished with exit code 1
https://github.com/arangodb/arangodb-docker/issues/53
it's possible to run the project without it?
thank you

Without making any modifications to the application code: The user service and the audit service do not depend on data coming from ArangoDB. So, you could just start does two services. That should give you the full visibility on running the services, pulling and modifying data, pushing data to Timescale through NATS.
So, in the Makefile start command you can just replace
docker-compose up -d usersrv customersrv productsrv promotionsrv auditsrv
with
docker-compose up -d usersrv  auditsrv
You should be able to login, create and update users and see the changes flow to NATS.
FWIW,  I did hear a couple of days ago that Arango is close to putting out a version that will work in the Apple M1 but they did not specify a date

You could probably easily get the promotions to come up by commenting out the customer name lookup:
In /promotion/server/handler.go find GetPromotionById and comment out getLookups(ctx, outPromotion). Note that I have not tried this but I think it should work.

Muchas gracias!
aunque http://localhost:8080/user/userSrv/auth devuelve error, al menos tengo algo con que empezar.

De nada.
Que error te aparece?

registro
Failed to join multicast group on all interfaces!
login ( default values)
user not found

hum...eso cuando corres la application con docker-compose ? (make start). Multicast es usado por go-micro para service discovery.

Hola Juan
si, multicast no funciona correctamente en macos
buscare alguna otra realizacion

Hum, interesante porque yo uso una Mac. Debe ser algo con las M1.

gotemp % make start
docker-compose up -d usersrv customersrv productsrv promotionsrv auditsrv
[+] Running 1/8
⠧ redis Pulling                                                                                3.8s
⠿ f3ac85625e76 Already exists                                                                       0.0s
⠏ 452c027ddcd0 Pulling fs layer                                                                     0.9s
⠏ 4d4b1033f074 Pulling fs layer                                                                     0.9s
⠏ f4879444970a Pulling fs layer                                                                     0.9s
⠏ 5d458efbd05a Waiting                                                                              0.9s
⠏ bbc6365a769e Waiting                                                                              0.9s
⠧ arangodb Pulling                                                                                3.8s
no matching manifest for linux/arm64/v8 in the manifest list entries
make: *** [start] Error 18
Have a solution to fix it?

The version of arangodb image that I am using 3.6.4 is not available for arm processors. But, it seems that the last couple of versions of arangodb support it according to Docker hub. You could try updating the Docker compose file to use one of the newer versions and see if it works. Unfortunately, I do not have an arm based machine so I cannot test it myself. On Nov 28, 2022, at 1:09 AM, Nani @.***> wrote:
gotemp % make start
docker-compose up -d usersrv customersrv productsrv promotionsrv auditsrv
[+] Running 1/8
⠧ redis Pulling                                                                                3.8s
⠿ f3ac85625e76 Already exists                                                                       0.0s
⠏ 452c027ddcd0 Pulling fs layer                                                                     0.9s
⠏ 4d4b1033f074 Pulling fs layer                                                                     0.9s
⠏ f4879444970a Pulling fs layer                                                                     0.9s
⠏ 5d458efbd05a Waiting                                                                              0.9s
⠏ bbc6365a769e Waiting                                                                              0.9s
⠧ arangodb Pulling                                                                                3.8s
no matching manifest for linux/arm64/v8 in the manifest list entries
make: *** [start] Error 18
Have a solution to fix it?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

@camba1
arangodb 3.10.0 is already installed and up-to-date.
docker --version
Docker version 20.10.21, build baeda1f

@camba1  Thanks
I changed  image: arangodb:3.6.4 to image: arangodb:3.10.0 => Fixed "no matching manifest for linux/arm64/v8 in the manifest list entries"
The new issue
=> CANCELED [gotemp-auditsrv internal] load metadata for docker.io/library/golang:l  0.0s
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to parse stage name "Dev": invalid reference format: repository name must be lowercase
make: *** [start] Error 17

=> ERROR [dev 3/9] RUN go get github.com/githubnemo/CompileDaemon                                                             0.2s

[dev 3/9] RUN go get github.com/githubnemo/CompileDaemon:
#0 0.160 go: go.mod file not found in current directory or any parent directory.

Hum… not sure what that error is all about.
Maybe related to this?  https://stackoverflow.com/questions/66894200/error-message-go-go-mod-file-not-found-in-current-directory-or-any-parent-dire


為什麼不能看中國新生代第三季和第四季?

中文用户请注意：请尽量用英文描述你的 issue，这样能够让尽可能多的人帮到你。
If you want to report a bug, please provide the following information:

The steps to reproduce.
A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
Which versions of DPlayer, and which browser / OS are affected by this issue?

It doesn't have anything to do with DPlayer, please contact your video suppliers for more help.


C# performance

What kind of throughput should one expect from gRPC?
I have a request-response test which just tries to call a service and get the response over and over.
When doing this in Go, I get about 12000 requests per sec, a single threaded loop just spamming requests sequentially over loopback.
When running the exact same example in C#, I get about 1000 requests per sec.
I get that this is a super naive way to measure throughput as no messages are passed async and there is no parallel processing but still, the .NET example seems very low.
Is this a known problem, or is this within the range that one should expect?

Works fine now, 7500 requests per sec single threaded.. 30 000 async.
Morning tired computer..  ¯\_(ツ)_/¯


Feature Request: meaningful return values

I think it would be useful that formality exits with an error code if it can't typecheck something.

Closed because the repository now only contains the code for the Kind2 language.


Which scss files affect which parts of the app?

What is the purpose of stylesheets/style.scss?
Is _school_year_box.html.erb used anymore? Looks like it was for the old student profile page? Can we kill it?
What is no_homerooms.erb?
New conventions: scope page-specific SCSS's by their page ID, React component SCSS's by their component name camel-cased, and shared we don't know.

@erose style.scss is like a manifest pulling in several other files - it's not necessary per se and could be merged into application.scss or changed however else we think makes sense to simplify.
Also, I think no_homerooms was something that could happen in certain cases if the educator didn't have a  homeroom assigned.  My quick read is that the route and view aren't used anymore, so seems safe to remove.

Note to self: right now, we load application.css which loads style.scss and thereby loads everything.

@kevinrobinson: Looks like no_homerooms.erb is used here:
https://github.com/studentinsights/studentinsights/blob/master/app/controllers/application_controller.rb#L35
So I'm not going to mess with it or its styles.

@kbweaver: We should also figure out when things will use window.shared.styles. It's being declared in app/assets/javascripts/helpers/theme.js right now.
A lot of things declare their own styles object at the top level, I think.

@erose no_homerooms.erb is a very tiny template for a very tiny edge case in which there are literally no homerooms in the database.
I think this issue is a good one, but let's break it down into smaller / more actionable steps?


Marco/dev

Delete geometryargument from recon.
Update/edit docstrings in cone3D.py.
Fix python spacing issues in several places.

In the docstring for recon -> sharpness, this line was removed:
Ignored if sigma_x is not None in qGGMRF mode, or if sigma_p is not None in proximal map mode.
Why was this removed?  It seems like important information.
Between recon and project, several of the inputs that are common between the two functions are listed in different orders.  It would be better if they were listed in the same order for both functions, both in the signature and in the docstring.   I would use the order from recon and change the order in project to match as much as possible.
Otherwise I think it looks ok.

Hi Prof. Buzzard,
I deleted that line because I thought it was superfluous with the descriptions of ‘sigma_x’ and ‘sigma_p’; on second thought it makes more sense to leave it in. I will add it back.
I’ll also make a commit where I reorder project and its docstrings to match the order of recon as much as possible.
I’ll create and push these two updates to the pull request shortly (after I send this email).
Gianmarco Bommarito
@.***
From: gbuzzard @.>
Reply-To: cabouman/mbircone @.>
Date: Wednesday, December 21, 2022 at 4:47 PM
To: cabouman/mbircone @.>
Cc: Marco Bommarito @.>, Author @.***>
Subject: Re: [cabouman/mbircone] Marco/dev (PR #106)
In the docstring for recon -> sharpness, this line was removed:
Ignored if sigma_x is not None in qGGMRF mode, or if sigma_p is not None in proximal map mode.
Why was this removed? It seems like important information.
Between recon and project, several of the inputs that are common between the two functions are listed in different orders. It would be better if they were listed in the same order for both functions, both in the signature and in the docstring. I would use the order from recon and change the order in project to match as much as possible.
Otherwise I think it looks ok.
—
Reply to this email directly, view it on GitHubhttps://github.com/cabouman/mbircone/pull/106#issuecomment-1362135854, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEU2ZH2NSY4YWWDBBMJU45TWON3H7ANCNFSM6AAAAAATD44RIM.
You are receiving this because you authored the thread.Message ID: @.***>

There were still a few arguments not in the same order, but I just fixed them and accepted the PR.


Fields key and version always null

Hi,
I think between the 12/09 and 12/16 the content of the files changed.
Now the field key and version are always null.
For example :

010000001260E000 has version 0 and key FEEB99E9E97F5E7F1F2D2821E503CD45

Will it be possible to fix that?

base games almost always have a version of zero, with the exception of snake pass and sparse storage games.
keys should not be set.

Can you elaborate why keys should not be set?
I used the titledb to compare with the ticket id to see if everything match or not. Is there a better way to prevent NCA fails in tinfoil?
If you decide to change the data and remove it, why still keeping the fields that are always null.


.addAttackEffect does not work for anything except melee

If you use .addAttackEffect on a script with the item being a Crossbow, Bow, or a Trident, then it does not give the effect with their ranged attacks. Throwing a trident does not give the added attack effect (Although using it in melee will), and shooting arrows with both bow types does not give the attack effect. Similarly, if you have any mods installed that have weapons that have a ranged attack (Ice And Fire's Phantasmal Sword, which shoots ghost swords as well as functioning as a sword comes to mind) their ranged attacks do not work with .addAttackEffect either.
This may be an awkward problem to try to solve, because it's a little funky how punching someone with a bow gives them .addAttackEffect's but shooting an arrow doesn't. Possibly another Instance Method, like .addRangedAttackEffect that makes melee not give the effect, but ranged attacks do? Lol, I'm not really sure, and if this is too much of a pain in the butt to try to figure out or implement there's no need to add this because I feel like it's a pretty specific use case haha. If you do come up with a solution that can be implemented without doing a ton of work, that would be great though!

I'm fairly sure I know what causes this.
In case you ever do anything using DamageSources with CrT, the DamageSource that damages an entity is an arrow, which is fired by an entity.
I only check if the direct damage source is a Living Entity though, going to push a fix between today and tomorrow, I'll put that on the docs page with the previous things and the JEITweaker docs.
BTW, you shouldn't be concerned asking about things that are a ton of work, I still need to fix attributes, so if you have any more features, let me know.

Alright! I also recently realized something, status effects such as wither, poison, and regeneration no longer work correctly if they are added using .addEffect. Seems to be only effects that are time sensitive?  Similarly, if you do
.addEffect(effect:minecraft:regeneration.newInstance(5, 1).hideParticles())
You don't regenerate at all.

I'll look into it.
I'm not manipulating the effects, just converting from CT effect to internal Effect and applying them

These effects are hardcoded to act differently based on their duration, it's how the game works.
There's nothing I can do directly lol


Anomaly Detector

Updated architecture diagram for anomaly detector process

Hi @doodlemania2 - Could you review the proposed changes and additions?
Note that if the pull request is approved, before it can be merged, file names and references need to be changed to align with the MicrosoftDocs file naming standard. The standard includes using only numbers, lowercase letters, and hyphens in a file name (including extensions), and separating words and numbers with hyphens in file names. For example, AnomalyDetector.PNG should be anomaly-detector.png, and so on.
Also, in the images, if Anomaly Detector on Cognitive Service refers to the Azure service Azure Cognitive Services, it should be plural Services.
Thanks!


Laravel 5.1+ PHP7 Error - Uncaught ReflectionException: Class log does not exist

I'm getting this error when I try to deploy my app with rocketeer:
Situations with PHP 7 - Centos7 (all extensions required installed):

create a fresh laravel app with composer: ERROR
create a fresh laravel app with laravel installer: ERROR
clone my app, and execute composer install(with and without options): ERROR

Situations with PHP 5.6 - Centos7 (all extensions required installed):

create a fresh laravel app with composer: OK
create a fresh laravel app with laravel installer: OK
clone my app, and execute composer install(with and without options): OK

> php artisan clear-compiled
[USER@IP] (production) PHP Fatal error:  Uncaught ReflectionException: Class log does not exist in /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php:736
Stack trace:
#0 /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php(736): ReflectionClass->__construct('log')
#1 /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('log', Array)
#2 /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('log', Array)
#3 /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php(845): Illuminate\Foundation\Application->make('log')
#4 /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php(800): Illuminate\Containe in /home/apps/deploy/MYAPP/releases/20160106145128/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 736
[USER@IP] (production) Script php artisan clear-compiled handling the post-install-cmd event returned with an error

Is there any chance you could intercept the exception so we can see the real error, instead of the error caused when we try and fail to log the actual error.

I am running Laravel 5.2 with PHP 7.0 without any problems. Composer also runs fine.

@GrahamCampbell What exactly is the issue with that log failure? A lot of stacktraces are showing that 'class log does not exist' stuff.

What exactly is the issue with that log failure? A lot of stacktraces are showing that 'class log does not exist' stuff.

It's because an exception is thrown before the logger is setup, then we try to use the logger to log the exception which causes another exception.

I am running Laravel 5.2 with PHP 7.0 without any problems. Composer also runs fine.

So am I, but it's not working for @allanfreitas.

@GrahamCampbell Its executed the  "php artisan clear-compiled" right after the "composer install" how can I intercept in this case??rsrs

Just run composer with --no-scripts, then edit the exception handler, then run that command manually.

Sounds familiar to my problem, maybe you should check that solution too .... https://github.com/laravel/framework/issues/11673
If not, just ignore me.

Sounds familiar to my problem, maybe you should check that solution too .... #11673

No it doesn't, because it works just fine on php 5.

@GrahamCampbell I needed to downgrade the php to 5.6 for this case, but I will deploy another centos 7 server in 5 days(12/jan), so I will make this test of --no-scripts with the same code, and report back.

I meet the same problem, I use Windows 10 with Laravel Homestead7 (on Vagrant Homestead) with L.5.2.6 and L5.2.8. Some people said this is caused by the space in .env file but I think here it's something else (I have no space nor special charactor in my .env file). Could any one find a durable solution!?

Until someone can give me the ACTUAL error message, there's nothing I can do to fix this.

IDK really if am wrong to ask this, but how/which other message we may show apart from that give by @allanfreitas starting this threat?

IDK really if am wrong to ask this, but how/which other message we may show apart from that given by @allanfreitas starting this threat?

That error message is the one thrown when we fail to log the actual exception. You need to intercept the actual exception and give us the details.

How can I intercept that? steps to follow!

How can I intercept that? steps to follow!

Mess with the error handler.

Got it working on the new build 5.2.10 and I moved on Xampp!

I ran into this today and this was the problem for me:

Some people said this is caused by the space in .env file

@ericbarnes  That's definitely not the issue, because such a problem would also be failing on php 5.x, and this issue specifically says that it's only happening on 7.x. You were running into a different issue which also ends up crashing the exception handler.

@allanfreitas Are you able to provide me with the details of your original error? If not, there's nothing we can do, and I'll have to close this.

@GrahamCampbell I don't setup the another server yet, you can close this issue for now, but I will setup the server as soon as I can, i will post what you asked here. Thanks for now.

I intercepted the error handler and the actual error is quite similar:

Class env does not exist

Trace shows that it happens when I try to call \App::environment() in the config file. Everything worked when I removed it.

I don know if helps but i got the same issue and i solved the issue changing config/services.php :
from:
    'facebook' => [
        'redirect' => env('FACEBOOK_REDIRECT_URL',url('/login/facebook'))
    ],

to:
    'facebook' => [
        'redirect' => env('FACEBOOK_REDIRECT_URL','http://site.com/login/facebook')
    ],

env() function is not supporting url() inside default value :/

this means some error occurred but laravel was unable to write the error to the log.
which means some php error occurred that laravel or the composer cant display.
thus you need to check your server error log. find the problem and fix it. :)

Make sure you've installed PDO, Memcached, and all the required extensions for php7


Bug: Dataframes displayed in vignettes are extending into the table of contents

What happened?
I did pkgdown::build_site(lazy = TRUE, override = list(destination = "~/docs")) and then looked at User Guides -> Creating an OCCDS ADaM. Seeing this:

@bms63 confirms he has seen this before.
Session Information
No response
Reproducible Example
No response

Note: I am also seeing this on our production site at https://pharmaverse.github.io/admiral/articles/occds.html

Hi @esimms999-gsk , this should have been fixed by https://github.com/pharmaverse/admiraldev/issues/197. I.e., in production it is still wrong but if you build the site with the devel version of admiraldev, it should work.

@bundfussr Yes! I made use of the devel version of admiraldev and it looks good. Thanks ... closing this issue.

admiraldev devel has already fixed this.


Drill-through/Output data from Pivot table entry: "pivot filtering"

I'm wondering if it's possible to output the records that have been binned into a given pivot table entry.
The use case is the following:

I have set up a pivot table, for instance with heatmap colouring.
I now want to click on a given pivot table entry of interest in order to filter on/ inspect / output those records, creating a filtered view of the initial input records.

i.e. I want to answer the question "Which records contribute to this pivot table entry?", and make use of them elsewhere in coordinated views.
Another approach would be to output the necessary row and column data that describes the pivot table entry in order to perform filtering externally (perhaps with crossfilter.js).
I have not looked into the source code to see how to approach this. It would be great to hear from you to know the difficultly level of this enhancement.

@nicolaskruchten is there a plan to add a callback, so that one wouldn't have to patch the renderer to get access to the records underneath the aggregates?

I'm looking at merging #557 or something like it.

functionality for this is now in master!


Patch activeDeadlineSeconds can not failed running workflow

Summary
What happened/what you expected to happen?
When we try to patch activeDeadlineSeconds: 0 to a running workflow, we expect to see the workflow status to be failed, however after patched, the status is running.
What executor are you using? PNS/Emissary
Docker executor: argoexec-image:3.2.4
Diagnostics
Paste the smallest workflow that reproduces the bug. We must be able to run the workflow.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: hello-world-
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      This is a simple hello world example.
      You can also run it in Python: https://couler-proj.github.io/couler/examples/#hello-world
spec:
  entrypoint: whalesay
  templates:
  - name: whalesay
    script:
      image: python:alpine3.6
      command: [python]
      source: |
        while True:
          print(2)

What executor are you running? PNS/Emissary

Docker executor: argoexec-image:3.2.4
argo version: argo-workflow:3.2.4
kubectl version:

Client: v1.19.1
Server: v1.21.7

# Create workflow as example
> kubectl create -n argo -f hello.yaml
  workflow.argoproj.io/hello-world-ngkbm created

# Check workflow
> kubectl get wf -n argo hello-world-ngkbm
  NAME                STATUS    AGE
  hello-world-ngkbm   Running   64s

# Patch activeDeadlineSeconds: 0
> kubectl patch wf -n argo hello-world-ngkbm --type='json' -p '[{"op":"add", "path":"/spec/activeDeadlineSeconds", "value":0}]'
  workflow.argoproj.io/hello-world-ngkbm patched

# Status of workflow and pod
> kubectl get pod -n argo
  NAME                                   READY   STATUS    RESTARTS   AGE
  hello-world-ngkbm                      2/2     Running   0          5m18s
> kubectl get wf -n argo
  NAME                STATUS    AGE
  hello-world-ngkbm   Running   6m44s

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

What happens if you patch 1s rather than 0s?

It's same, no different.

Another information, if we patch to workflow pod, and the pod failed immediately.
# Patch to workflow pod
> k patch pod -n argo hello-world-ngkbm --type='json' -p '[{"op":"add", "path":"/spec/activeDeadlineSeconds", "value":1}]'
  pod/hello-world-ngkbm patched

> k get pod -n argo
  NAME                                   READY   STATUS             RESTARTS   AGE
  hello-world-ngkbm                      0/2     DeadlineExceeded   0          46m

Could you help me to point out where the related codes located?

I don't think this should work. Not a bug.

I don't think this should work. Not a bug.

I think the behavior is different with argo workflow document  explanation:
A value of zero is used to terminate a Running workflow.

And it is also different with kubernetes behavior. We use it to terminate workflow in v2.10.1 without problem. Is there any explanation why we make difference?

Can't argue with the docs. This is a regression then.

v2.10 is out of support. To help determine when the regression occured, have you found the same regression in any version between v2.10 and v3.2?

Hi, I haven't had chance to test it in any other argo version. But I can try it in v2.11 and v3.1?

That'd be helpful if it is not too hard.

it looks like a missing usecase.  Patching activeDeadlineSeconds will only apply for pending pods, not in running pods.
https://github.com/argoproj/argo-workflows/blob/e7ff3f5aec16dfb436ebd8b13450209f3c6ff79d/workflow/controller/exec_control.go#L29


python311Packages.reolink-aio: 0.8.4 -> 0.8.5

Diff: https://github.com/starkillerOG/reolink_aio/compare/refs/tags/0.8.4...0.8.5
Changelog: https://github.com/starkillerOG/reolink_aio/releases/tag/0.8.5
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 277820 run on x86_64-linux 1

1 package failed to build:

home-assistant-component-tests.reolink

4 packages built:

python310Packages.reolink-aio
python310Packages.reolink-aio.dist
python311Packages.reolink-aio
python311Packages.reolink-aio.dist


Configuring an IP address for Web Server

Having issues setting an IP address for web server versus localhost:port
I have edited the remote.cfg file to no avail, as well as a few others.  Is it possible to configure the web server to listen on a specific network interface?  I want to access the web page using a public IP.

IIRC, the old installation scripts which are being reworked use whatever your hostname resolves to.
I don't know how you're installing, since the new install scripts aren't fully complete, yet. You may have to be hackish for now, and, as a last resort, edit the Apache configuration files under /opt/google/gehttpd/conf.d/ to listen on what you need.

Hey @CLEAOSBORNE, take a look at the section in the documentation for configuring virtual hosts. http://www.opengee.org/geedocs/answer/6013604.html
That might be more along what you're looking for.

Thanks Chris, however I'm using the Tornado http server installed using this repository.  With that said, I'm using Apache.

If you're trying to configure the Portable Server, have a look at the remote.cfg file.  You should see a line like this that you can try modifying:
portable_server __portable_server_ip__:9335

One other thing, you can also try adding these lines to your portable.cfg file:
accept_all_requests True
disable_broadcasting False

Hi @CLEAOSBORNE , have you made any progress on this issue?

@tst-ahernandez I'm still having having issues when executing the install earth server script (sudo ./install_server.sh).  Keep getting an error indicating failed to setup and configure postgresdb.

So this is not about portable server, but might be better dealt with as a different ticket (including the full error log, ideally off a clean build).

@CLEAOSBORNE We were just dealing with this issue with another user. The problem comes from the fact that the fusion installer will remove the /tmp/fusion_os_install directory after it successfully runs. So, if you ran install_fusion.sh without the -nop flag, you'll need to repeat the steps specified in the Installation Guide before running install_server.sh.

It sounds like you figured out your issue based on your comment on #117. Feel free to open a new issue or drop by the Slack chat if you have any other problems.

Still having an issue remotely accessing Portable Server URL.  Below are screenshots of my portable.cfg and remote.cfg file.  The CentOS 7 machine has no firewall enabled.

Is there an issue with my syntax?

Hi, @CLEAOSBORNE. Try adding
disable_broadcasting False
to portable.cfg.
The following works for me for serving on the local network:
portable.cfg:
port 9335
globes_directory ../data
search_services_directory search_services
ext_service_directory ext_service
database file
local_override True
fill_missing_map_tiles True
max_missing_map_tile_ancestor 24
globe_name tutorial_sf.glb
use_plugin True
accept_all_requests True
disable_broadcasting False

@CLEAOSBORNE: I think the portable_server line in <remote.cfg> needs to have a colon between the hostname and the IP address. Other than that, assuming the screenshots include the complete files, they seem OK to me.
The following configuration files work for serving on my local network for me.
portable.cfg:
port 9335
globes_directory ../data
search_services_directory search_services
ext_service_directory ext_service
database file
local_override True
fill_missing_map_tiles True
max_missing_map_tile_ancestor 24
globe_name tutorial_sf.glb
use_plugin True
accept_all_requests True
disable_broadcasting False

remote.cfg:
port 9335
portable_server __portable_server_ip__:9335

@tst-ppenev I've tried all combinations I can think of in modifying the remote.cfg file.  In your example above, what part of the second line is the hostname?  my hostname is geeserver, so following your example I configured it:  portable_server geeserver_ip:199.x.x.x:8080
Is this correct?

@CLEAOSBORNE: Actually, as @tst-ccamp was mentioning to me, the <remote.cfg> file doesn't seem to be used for anything. It was copied over from the time before GEE was open sourced.
Do you get any errors when serving, or just a refused connection?
You can see what IP addresses Portable server is listening to by starting it, and running:
netstat -l -p | grep 8080 # If you set port to 8080

If you see something like:
tcp        0      0 *:8080                  *:*                     LISTEN      20416/python
tcp6       0      0 [::]:8080               [::]:*                  LISTEN      20416/python

the *, or [::] for IPv6, means that Portable Server is listening to all IP addresses.

@tst-ppenev I checked netstat before, but I don't get the python service with process id.  Here is my result:

Looks like the portable_server.py script needs modifying

@CLEAOSBORNE: Looks like you may have something else listening on port 8080. You can try the -p switch to netstat to see the PID and name of the listening process.

@tst-ppenev Oops....I do get the python process and ID...sorry:

Then, you don't need to configure the IP address to listen on.  There must be some other problem.
Are you able to access your Portable globes from localhost?

@tst-ppenev yes, localhost:8080 will render the San Francisco portable server globe

@CLEAOSBORNE: What happens on the machine that can't?

@tst-ppenev This Site Can't Be Reach error......ERR_CONNECTION_TIMED_OUT
I think I  may just have a classical networking issue.....going thru the network settings again.

@tst-ppenev Doesn't seem to be a networking issue....

Do you see packets from your client machine reaching your server?
(One way to test is with netcat, another is to look at the packets with Wireshark.)

@CLEAOSBORNE: I think you wouldn't normally get a 'connection timed out' error on simply a misconfigured Portable Server.  You'd usually get a connection refused.  A connection time out is more likely with something like a firewall, or a bad browser proxy configuration, that is blocking packets.
Can you show the command you're using to open a connection from the client machine to the server? If it's a browser, what URL are you using? (You may also need to look at browser settings.) If it's something on the command line, like telnet, curl, or wget, what's the command?

@tst-ppenev I'm just using the IP:8080

@tst-ppenev I also published the globe in GEE server as well and use : IP/testglobe
and same error persists

@CLEAOSBORNE: Can you show a command with the IP you're using?
For example,
curl <IP_ADDRESS>:8080

should show you the HTML of the Portable Server front page, or an error.
Or,
telnet <IP_ADDRESS> 8080

should connect, and show you prompt (where you could issue an HTTP GET request), or fail with an error.
Does your server respond to ICMP ping requests? Do you get a response when you ping?
How did you ensure your network connection between the two hosts is working?

@tst-ppenev curl <IP_ADDRESS>:8080
I can ping the server with success, from the server I can ping all public webpages and etc and traceroute to any local network IP addresses.

curl gives you a network timeout?
If so, it seems likely a firewall problem.
I think the most obvious way to test is to run Wireshark on your server, and see if you're receiving requests on your port, and sending responses.
Otherwise, a simple way to test the connection on a given port from client to server is:
On the server, stop server processes listening on the port you want to test, then run:
netcat -l 8080 # If you want to listen on port 8080.

On the client, run:
netcat <IP_ADDRESS> 8080

Then type some string, e.g.:
muser@client-host:/tmp$ netcat localhost 9666
Hi, network host.

(You can press Ctrl-D to terminate.)
You should see the same string on the server host, if your connection between the two is working.

@tst-ppenev Good news......after playing with the firewall (which was not configured as a service) or started according to the runlevel, I flushed it out and everything works now.  Seems like there is a static firewall setting with rules configured in the baseline....smh.
Sorry for eating up your time on this......appreciate the help in trouble-shooting this.

@CLEAOSBORNE: Great! You can send a bottle of fruit juice, and close this ticket, if you're happy.

@tst-ppenev LOL! Sounds good.....its a wrap, I have portable, fusion and gee server installed on centos 7.
Thanks for all your help!  Juice on the way


Update sample13.cs

I was reading the WebAPI 2 tutorial and found a mistake in this sample. The GetBookDetail action gets a parameter called id, and in the query, this id is checked against the AuthorId, which I think is wrong, it should be checked against the BookId property.

@petyusa  Nice catch. It's correct in a previous snippet.