plex: <IP_ADDRESS>05-186bae04e -> <IP_ADDRESS>41-549599676

Motivation for this change
A new (public & stable) version for the plex media server got released.
Tested by overwriting the version on my NixOS plex server.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase 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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130869 at 8887bc11 run on x86_64-linux 1

2 packages built successfully:

plex
plexRaw


[Q]how to get accuracy for runs as in figure

how to get accuracy column for runs in yolov5

I don't understand the question.  The final accuracy of each run is displayed in this image in the accuracy column.  You have a circle around the "sweep" icon but it's not clear how that's related to your question.  Can you try asking it again?

sorry I mean accuracy tab how to get it beside name (visualized) tab

Choose "Pin Column"

thank you


Support overriding default item in page action menu

Fixes #5438; rebase and update of #5500.
The behaviour has now been reversed so that the first item in the list is selected as the default, rather than the last; this way developers will have to either set a negative order value or explicitly reorder items in construct_page_action_menu to replace the Save Draft item, which makes it unlikely to happen by accident on existing uses of this hook.
Have also fixed behaviour for locked pages, updated docs/tests to avoid rewriting the whole list, and added a release note to cover the minor template change.

Merged in ee68d2214af95601967ce9cfd1c423bd2606a81e + parents. Thanks again @rjpruitt16!


OSB validation toolchain

My colleague @Haishi2016 has written a test suite to validate a broker for OSB compatibility. He's willing to donate it to the OSB WG as part of the official validation tooling.
This issue is to begin discussion to move code over, etc...

🙌  Thanks @arschles - this is great.
Once we've moved this over to this repository, we will have to make sure that all spec changes include the required changes to the test suite. We may also want to bump header versions etc in the test suite on each release.

The test suite is organized into version folders so that each version can be maintained in isolation.
The suite has a mock OSB server that complies with the current spec. It could be useful to test service catalog / marketplace implementation. I’m currently using the mock server to test my Service Fabric service catalog implementation.
On the other hand, to test a different OSB implementation, test configurations need to be updated to include implementation-specific information such as service ids and plan ids. The test suite is data-driven, so it can be extended to support different service classes from a specific OSB implementation. I envisioned we should have configurations for key OSB implementations checked into this repo.
I'm open to make continuous contributions to the suite wherever it will land.

+1 from me on the concept, this looks like it will be extremely useful for service broker developers.
Things I think we should have an answer to before moving the project into the OSBAPI org:

How will we keep this in sync with the spec? Should it support pre-release versions?
Who will be a maintainer outside of the PMC? (assuming @Haishi2016)
Technical quality - does this look maintainable if the original author wasn't available? what would need to change, if anything?

Questions are open, so anyone with thoughts please comment!

I'm open to make contributions along with @Haishi2016.
My opinions to @avade's questions are below

How will we keep this in sync with the spec? Should it support pre-release versions?

Initially, I don't think the checker should support pre-release versions. When spec changes (patch or greater) are finalized, I believe a PR should be submitted to the checker repository alongside the final spec change PR.

Who will be a maintainer outside of the PMC? (assuming @Haishi2016)

Ideally, there will be someone or people on the PMC who will be one of the maintainers (not sure if that was implied below), but either myself or @Haishi2016 (depending on whether he's willing - I'll let him comment) can do it.

Technical quality - does this look maintainable if the original author wasn't available? what would need to change, if anything?

It's currently written in node.js javascript using familiar (IMO) test functions. Additionally, the code looks straightforward to me. I don't think much would need to change if the codebase stays organized as it is now.
I'm biased, so I'm interested to hear what someone else thinks after they peek at the code.

I do plan to make continuous contributions.
This is my first time to use Mocha, so there could be places that are not done in a "pro" way. I'm open to any refactors to make it better quality.

Thanks for letting us know @Haishi2016. It sounds like you should be a maintainer on this new project after it's moved.
I believe someone on the PMC and I should also be maintainers.

+1 to creating a new repo in our org for this

awesome. I was asked what name the repo could be called. broker-validator sounds good to me. other suggestions?

Has the repo been created?

I didn't want to over-engineer this. I think when new releases come out, copying the tests will be fine because the old version will be in freeze.The downside, of course, is a bug fix in early versions needs to be prorogated into later versions. I think it should be rare, though.
I don't see significant value of making tests additive. But I'm open to refactoring common routines to make them work across versions.

It's currently written in node.js javascript using familiar (IMO) test functions. Additionally, the code looks straightforward to me. I don't think much would need to change if the codebase stays organized as it is now.

I'm happy with this in NodeJS and Mocha. I can easily create test result reports and integrate with our CI, to support all OSB developers around the organization.

We now have test suites linked to from the readme!


[Feature] add modify user name for process definition

Background
When multiple users have modify permissions on a project, it is better to record who was last updated
Solution
Add modify user field in the following page
image

+1

I will do this~

#1919 finish this enhancement， close #1862


⚠ Jerry Savelle Ministries International Australia has degraded performance

In f95402c, Jerry Savelle Ministries International Australia (https://jsmiaustralia.org) experienced degraded performance:

HTTP code: 200
Response time: 9041 ms

Resolved: Jerry Savelle Ministries International Australia performance has improved in 6060cea after 17 minutes.


Docs: all the getting started links are broken

Category

[ ] Enhancement
[x] Bug
[ ] Question

Version
Please specify what version of the library you are using: Documentation related issue.
Expected / Desired Behavior / Question
Getting started link to point to the proper page (eg for this page https://sharepoint.github.io/sp-dev-fx-property-controls/controls/PropertyPaneWebPartInformation/)
Observed Behavior
Getting started points to a in-existing page, (notice the controls path section which shouldn't be there)
Steps to Reproduce
Open this page https://sharepoint.github.io/sp-dev-fx-property-controls/controls/PropertyPaneWebPartInformation/ click on Getting Started
Potential fixes
I'm not sure whether we should replace the link by ../#getting-started or index.md#getting-started (so MkDocs picks it up properly and replaces the link for us) or if a MkDocs configuration issue.
If it's not the last option, I'll be happy to PR away once I get guidance.

Thanks @baywet this has been fixed


bigquery how extract to csv with UTF-8 with BOM

Will be very very interesting add posibility to add BOM byte sequence to file extracted from bigquery in order to be reader properly with excel. Now the csv exported work ok but manually you need to choose utf-8.
Similarity you can choose a custom delimiter will be nice that we can choice encoding w/o BOM and emit a csv compatible with excel. thanks
probably 80% of bigquery csv output will be reader by ms excel.
see:
http://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8-without-bom

/cc @robpike

Are you saying that Excel only works with UTF-8 if there is a leading BOM? That is rebarbative.

Alberto, I don't think we will change BigQuery to implement something that is not recommended. But it should be easy to do this yourself: once you download the csv, just prepend the three BOM bytes to the file.

No @robpike I am saying that if your extract a bigquery csv file and open directly from Excel character as "ñ, º,  € ,  ü,  etc " appear strange and end user "not programer" think that underling data is erroneous and create a bad experience and issue.   If you manually import selecting a right encoding utf-8 work propertly but end user must be explicitly select a type of encoding something that not every end user know.
@jba  I understand but the fact is that excel use this encoding and it a standard in windows office environment currently so we are requesting a option and of course a feature of api not a default behaviour to improve end user experience I assume you can post-process the file but you need add logic, spent resources, complexity and time.
Thanks for answer me.

@albertog I don't think this is a feasible request for this client library since the actual creation of the CSV file happens in the BigQuery service itself, and the Go code doesn't get to influence how it's made. I'd suggest opening a feature request on the google-bigquery issue tracker. I don't know if they would want to support a non-standard CSV encoding, but maybe there would be an option to support an Excel-specific output.
If you're using the google.golang.org/cloud/storage library to actually download the extracted CSV onto the local machine, then it should be simple to prepend the three bytes yourself, or to re-encode the file from UTF-8 into the machine's default encoding (which, I understand, varies between windows installations).

okdave it make sense. I will do it

Currently it's not possible to do it. There is a bug request for it on Google. If you are affected by this issue, please go there and star it: https://issuetracker.google.com/issues/35905733

Is it possible to start first column name with BOM character?

@nosovk This thread is dead. Do you mind opening a new issue?


False positive with Text Context (vitest/no-done-callback)

Text Context gets wrongly detected as done function, see https://vitest.dev/guide/test-context.html)
import { test } from 'vitest'

test("access to ctx", (ctx) => {
  // prints name of the test
  console.log(ctx.meta.name);
});

Issue fron eslint:
warning  Return a promise instead of relying on callback parameter  vitest/no-done-callback

I disabled this rule in my project, but I thought I'd let you know...

uuuhmm, thanks for let me know about this. I'll push an update

I notice that it handles a value with the name context, but still throws warnings when useing beforeEach and afterEach. We disabled this rule because we used the destructuring method in our tests, and a ctx variable in the hooks, all of which fell foul of this rule

@charliematters can i have a look at your eslint config?

I've put a repo here which shows the above: https://github.com/charliematters/vitest-eslint
charlie@charlies-mbp vitest-eslint % npx eslint repro.test.js

/Users/charlie/dev/vitest-eslint/repro.test.js
   4:3   warning  Return a promise instead of relying on callback parameter  vitest/no-done-callback
   8:3   warning  Return a promise instead of relying on callback parameter  vitest/no-done-callback
  12:22  warning  Return a promise instead of relying on callback parameter  vitest/no-done-callback

✖ 3 problems (0 errors, 3 warnings)

Just found out that Done Callback have been deprecated since v.0.10.0. This rule have also been causing a lot of issues because it's hard to differentiate done callback from context.

Great - thanks for checking!


💡 [ADD]: 3D TRANSLATED SOCIAL MEDIA BUTTONS

Details

This issue is about adding a new animated social media buttons component
The component's social buttons will be popped out in 3d perception

Screenshots
https://github.com/Spyware007/Animating-Buttons/assets/92252895/9b845535-b18a-42fb-b088-c6c119ebbf77
Type of Contribution

[ ] Update to an existing Animated Button
[X] Adding a new Button
[ ] Resolving a bug
[ ] Proposal to the Repository
[ ] Changes related to documentation or README.md
[ ] Other Changes

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue
[X] I am a GSSoC'23 contributor

hey...could you please assign me this ?


@swc/wasm-typescript handling () => <T>{}

Describe the bug
TypeScript's (legacy) prefix style type assertions (<Type>val instead of (val as Type)) cannot always be safely removed in "strip-only" mode when they are at the start of the body of an arrow function.
Input code
import * as swc from "@swc/wasm-typescript";

const input = `(() => <any>{})`;
const output = swc.transformSync(input, { mode: "strip-only" });

console.log(output.code);

Config
{ "mode": "strip-only" }

Playground link (or link to the minimal reproduction)
no playground support for wasm-typescript yet: https://github.com/swc-project/swc-playground/issues/42
SWC Info output
No response
Expected behavior
Either error or (if possible) produce JS with matching semantics as the input i.e. the equivalent of: () => ({});
Actual behavior
Resulting code is: (() =>      {}) which has different semantics to the input.
Version
<EMAIL_ADDRESS>Additional context
I think it's not possible to solve this in all cases. So it might be best to error for arrow functions that start with <Type>{.
There are some cases that can work with "strip-only":
let f = () => <T>{};

can strip and keep the JS in place with:
let f = () => 0||{};

But that approach does not work for:
let f = () => <T>{p:null}.p ?? g();

which could not be changed to:
let f = () => 0||{p:null}.p ?? g();

As it is invalid to have || and ?? at the same level.
I would be very interesting if there was a way to solve this, otherwise I think the solution is to error.

TypeScript's (legacy) prefix style type assertions (val instead of (val as Type)) cannot always be safely removed in "strip-only" mode when they are at the start of the body of an arrow function.

That's why we don't touch it.

That's why we don't touch it.

Hi @kdy1, thanks for taking a look. In my testing it looks like "strip-types" does remove it.
(() => <any>{})() becomes (() =>      {}). The first returns {} at runtime, the second returns undefined.
For the case where the arrow function body only contains the type-assertion and object literal I think there is a safe transform to:  (() =>   0||{}), which keeps the original JS in the same position with the same semantics. However there are niche inputs which I think don't have safe position-preserving transforms such as: (() => <T>{p:null}.p??g), though I admit the chances of someone writing that is low.


Summarize results based on job nature category

Give a summary of what the PR does, explaining any non-trivial design decisions

Below questions must be answered if you create or modify a task
Evidence/screenshots of getting full credits in evaluation
Steps you took to get full credits (code, chat history, commands)
Any files modified/uploaded on the self-hosted services

| Average Score for sde (69 tasks) | 0.38 |
| Average Score for ds (14 tasks) | 0.22 |
| Average Score for admin (15 tasks) | 0.12 |
| Average Score for hr (29 tasks) | 0.34 |
| Average Score for finance (12 tasks) | 0.25 |
| Average Score for other (36 tasks) | 0.45 |


Fix issue when creating group

No longer happening - possibly caused due to incorrect user ledger being selected when performing actions


False calculation and non-robust behaviour

Hi,
I played around with your Linear.Grammar package and
also tried to solve some linear programs with Linear.Simplex.Primal.
It seems like either I'm doing something completely wrong or there is
a bug in your library.
False calculation
Following code:
import Linear.Grammar
import Linear.Simplex.Primal

calc :: [(String, Rational)]
calc =
    let light = (12 :: Rational) .*. EVar "x" .+. (16 :: Rational) .*. EVar "y" .=>. ELit (59)
        middle = (1 :: Rational) .*. EVar "x" .+. (7 :: Rational) .*. EVar "y" .=>. ELit (12)
        heavy = (4 :: Rational) .*. EVar "x" .+. (2 :: Rational) .*. EVar "y" .=>. ELit (13)
        consumption = (25 :: Rational) .*. EVar "x" .+. (30 :: Rational) .*. EVar "y" .<=. ELit 205
        obj = EVar "M" .==. (300 :: Rational) .*. EVar "x" .+. (400 :: Rational) .*. EVar "y"
    in
        simplexPrimal (standardForm obj) (standardForm <$> [light, middle, heavy, consumption])

produces the output
[("M",17050 % 13),("x",67 % 26),("y",35 % 26),("s0",(-85) % 13),("s1",0 % 1),("s2",0 % 1),("s3",2605 % 26)]

which is incorrect. There is only one solution for this LP namely (x = 2.25, y = 2.0), which I tested using following matlab code.
CoefficientMatrix = [
    -12,    -16
    -1,     -7
    -4,     -2
    25,    30
    -1,      0
     0,     -1
];

ConstraintVector = [-59, -12, -13, 205, 0, 0]';

Objective = [-300, -400];
Solution = [2.25, 2]';

CoefficientMatrix * Solution <= ConstraintVector
;; returns [1,1,1,1,1,1]'

Non-robust behaviour
If I compile following code
import Linear.Grammar
import Linear.Simplex.Primal

calc :: [(String, Rational)]
calc =
    let light = (12 :: Rational) .*. EVar "x" .+. (16 :: Rational) .*. EVar "y" .=>. ELit (59)
        middle = (1 :: Rational) .*. EVar "x" .+. (7 :: Rational) .*. EVar "y" .=>. ELit (12)
        heavy = (4 :: Rational) .*. EVar "x" .+. (2 :: Rational) .*. EVar "y" .=>. ELit (13)
        consumption = (25 :: Rational) .*. EVar "x" .+. (30 :: Rational) .*. EVar "y" .<=. ELit 205
       --                                                                                --v-- HERE CHANGE
        obj = (300 :: Rational) .*. EVar "x" .+. (400 :: Rational) .*. EVar "y" .==. EVar "M"
    in
        simplexPrimal (standardForm obj) (standardForm <$> [light, middle, heavy, consumption])

simplexPrimal outputs
[("M",0 % 1),("x",0 % 1),("y",0 % 1),("s0",(-59) % 1),("s1",(-12) % 1),("s2",(-13) % 1),("s3",205 % 1)]

which is clearly wront.
Further context
I wrote a little EDSL loosely resembling IBM's OPL (a DSL for optimization problems)
where I want to use your simplex algorithm.
I'd be very thankful, if you'd fix the problem (if there is an actual bug)
Could you also provide a few examples for your Linear.Grammar EDSL, please.
How is the syntax for "minimize  <list_ineqs>" and "maximize ...".
Best regards

Hi there, I've actually tried rebuilding this a second time under this repo, and have tried to more closely follow best principals in solving, however I've actually run into a serious issue regarding simplical optimization itself - cycling. The algorithm I'm using in this repository is actually incorrect, specifically in it's cost ratio. As it turns out, the linear-simplex-haskell repository I've been working on recently cycles infinitely for degenerate cases, and it's pretty unclear how one basic feasible solution grows to degeneracy (there's something about it needing to be in full-row rank, but I'm not good enough with linear algebra to understand this yet).
My next goal for linear optimization is to actually implement an interior-point method, particularly Karmarkar's method (whether I choose the affine or projective variants is uncertain for now). It will be interesting integrated weighting in this method too, but right now I just can't devote all my time to the development on this. Hopefully I can soon :)
I'm sorry that this doesn't work, I hope to have a working implementation of Karmakar's before the new year, but I can't make any promises :\

Ok, thanks for your reply. The solution your incorrect algorithm outputs is close enough for demonstrational purposes. Because of that, and the lack of another working haskell implementation, I'll use it anyway for my implementaiton. However, I strongly suggest you to add some defect statement to your hackage description file and into the documentation of this repository. That would have saved me some 2 hours, but regardless I quite like the interface. So I'm curious about your next version!
Best regards

Yeah I think I'm just going to deprecate it for now :\ It's pretty unfortunate


Infinitely call child's useEffect when parent and child both extends HookConsumerWidget

I am using scollController in a child component , build a list watch in provider like this.
  final scrollController = ScrollController();
  @override
  Widget build(BuildContext context, WidgetRef ref) {
     useEffect(() {
      scrollController.addListener(fireLoadMore);
      initData();
      return () {
        scrollController.removeListener(fireLoadMore);
        scrollController.dispose();
      };
    }, [scrollController]);
   return ListView.builder()//...
   But if parent is normal StatefulWidget it no happen.

Whenever your widget rebuilds, a new ScrollController is created. And since your effect is using [scrollController], then the effect will recompute whenevr the scrollController changes. So whenever the widget rebuilds.
You should create that scrollController using a hook instead. See useScrollController.

Whenever your widget rebuilds, a new ScrollController is created. And since your effect is using [scrollController], then the effect will recompute whenevr the scrollController changes. So whenever the widget rebuilds.
You should create that scrollController using a hook instead. See useScrollController.

Sorry , he already answred it int https://stackoverflow.com/questions/63832051/safe-usage-for-usescrollcontroller-flutter-hooks
,lol. And it's my misstake , should use the ScrollController not useScrollController .


Parenths don't auto close in swift files with swift string interpolation

It seems that if there is a string with swift string interpolation, this causes the plugin to break for parenths. The string interpolation syntax of swift is like this:
var name = "Dr. Meow"
var foo = "Your name is \(name)"

Here is a video of it breaking
https://streamable.com/zplv0x
Any help would be appreciated. Thanks!

Fixed (https://github.com/altermo/ultimate-autopair.nvim/commit/813e1b3391c3f50100345bf3956c618f7e522e74)

No (technically yes but it's a lot of work).
By the way, when you say disabled, do you mean the highlighting part, or is it that you don't have the parser installed? Because ultimate-autopair only needs the parser and doesn't rely on highlighting.
Know what, try using this config for nvim-treesitter and try using it for a while (report back to me if the editor still lags too much):
require'nvim-treesitter.configs'.setup({
    ensure_installed = {'swift'},
    highlight={enable=true, disable={'swift'}},
})

Yeah it's still slow even with the highlighting turned off unfortunately. I have to totally uninstall it for it to become fast again. There's a lag every time I enter into command mode when I have treesitter-swift installed, even with the syntax highlighting off :(

To disable multiline on specific filetype you can:
require('ultimate-autopair').setup{
    multiline=function ()
        return vim.o.filetype~='swift'
    end
}

Another solution to this is to get the highlighting (using :Inspect) and create a condition based on it:
require('ultimate-autopair').setup{
  config_internal_pairs={
    {'(',')',cond=function (fn,o)
      if fn.get_ft()~='swift' then return true end
      return vim.fn.synIDattr(vim.fn.synID(o.row,o.col,1),'name')~='swiftInterpolation'
    end},
  },
}


Multiple fix of the maven build

I mainly synched the pom with the offheap-store. Then javadoc errors were preventing compilation on Java 8. And a little library update to be a nice boyscout

Ok. I now ignore jsr166 package. Better indeed


DC2 units playtest page (Robust)

I thought I'd make this experimental/playtest content my first priority, with the intent of a 'light touch' as previously discussed.
However, I got sucked in and edited rather more than I'd first intended. Anyway, I believe that I have helped with the clarity and consistency -- hopefully I haven't upset things that you find frustrating.


Add Graph Bipartite Test (Two Colouring Problem), Detecting Odd or Even Cycle.

What I'll Do:

I will add a program to check whether a Graph is Bipartite Graph or not.
I will add a program to detect Odd or Even Cycle.

Please assign me this issue under the GSSOC'23 tag.
Thank you.

I want to add the code and algorithm for both the problems - Bipartite Graph (DFS and BFS both), Odd Even Cycle along with time and space complexity. Please assign me this issue.

@aaryahjolia Please assign me this.
Thank you


Linkify project name in DatasetShow

Dataset pages show the project name at the top:
My Project > Datasets
This is similar to form pages, which likewise show the project name at the top:
My Project > Forms
On form pages, the project name links to the project overview. However, the project name does not link on dataset pages. I think it's intuitive to try clicking the project name (and have tried to do so myself), so I think we should linkify it.
Question: Should the project name link to the dataset list or to the project overview? (If the former, we can just use the existing linkTitle prop of the PageBack component. If the latter, then we should probably modify PageBack.) My instinct is that it should link to the project overview.

Agreed it should be the project overview. I think we should try to do this before release.


cannot connect to 1.8.9 modded server

http://pastebin.com/MS6QUb5c
with oldest build for example
Enabled Waterfall version git:Waterfall-Bootstrap:1.10-SNAPSHOT:a5f2362:unknown
get only exception:
http://pastebin.com/dEYx7Gua
but connect to server and can play

can be closed, with build 59 no problem


PMM-13027 pmm3 dashboards tests

Do you want this to be merged to main?

Do you have a jenkins nightly run?


Azure - Event Grid Fuctions - Sample policy does not work

Description:
Running an event grid function successfully deploys all the necessary components to run the functions in a new resource group. When setting up the event grid with the following policy in the docs:
Policy:
policies:
    - name: tag-key-vault-creator
      resource: azure.keyvault
      mode:
        type: azure-event-grid
        events: [{
            resourceProvider: 'Microsoft.KeyVault/vaults',
            event: 'write'
          }]
      filters:
        - "tag:CreatorEmail": null
      actions:
        - type: auto-tag-user
          tag: CreatorEmail

The policy appears to not actually tag key vaults in the subscription, even a freshly created keyvault in that same RG as the other event grid components. When looking into App insights, this may be expected (as I'm newer to using app insights) but the sample telemetry appears to show the custodian policy running constantly, 1-2 times per second. Let me know what other detail I can provide.
Desired outcome:

Sample policy executes successfully and resource tagged
Any additional documentation on running event grid functions that may be needed for additional steps beyond initial deployment

^ @aluong @stefangordon @logachev @erwelch  any ideas?

Hey @jdogg89 this was an early implementation pending event grid filtering support (which came out a few weeks ago) - so it had to see every message instead of subscribing to a specific one.   The functions self-filters but of course this doesn't scale well to large subscriptions.
We are going to try to get the filtering implemented as soon as possible so it uses the new features to subscribe to only the correct events.
Of course a separate question remains as to why it isn't seeing the event you'd like - I'll have to look into that a bit more.

https://github.com/capitalone/cloud-custodian/pull/3182#pullrequestreview-179603713
This will get proper filtering in place which may alleviate the reliability issues you saw, then we can investigate further if its still not working on those KV.  I expect it to be merged this morning sometime.

Just updated to the latest code and I can see that the API calls are not going constantly now, but resources still are not getting tagged. from the logs in app insights it looks like it is finding resources that are missing the tags, and it pulls a message from the storage queue but nothing happens regarding tagging of either a VM or a key vault... (based on examples in the docs).

If you can grab any log from a run where something like that happened it might be helpful.    If you have configured to log to blob storage it might look something like this

Oh your logs and results are probably going to a temp directory on the container then.  If you want to aggregate them all in a storage account (any storage account in any subscription for which your service principal has Blob Data Contributor permissions) you can add it to the policy execution-options with an azure:// prefix - e.g.:
policies:
  - name: stopped-vm
    mode:
        type: azure-periodic
        schedule: '0 0 * * * *'
        provision-options:
          servicePlan:
            name: functionshost
        execution-options:
          output_dir: azure://yourstorageaccount.blob.core.windows.net/custodian
     resource: azure.vm
     filters:
      - type: instance-view
        key: statuses[].code
        op: not-in
        value_type: swap
        value: "PowerState/running"

The docs for using blob storage at the command line show some of the advanced formatting options:
https://capitalone.github.io/cloud-custodian/docs/azure/advanced/bloboutput.html#azure-bloboutput

@stefangordon I was not aware of the execution options, or the schedule ability right within the policy, I haven't seen an example like this in the examples but perhaps I didn't dig enough (this is awesome, and may make me think some of my policies in cron schedule in k8s) I'll make this change and see what the output is in the output.

👍  That one is from this page with general overview of functions features https://capitalone.github.io/cloud-custodian/docs/azure/advanced/azurefunctions.html

Nothing appears to be written to the blob with the new policy:
policies:
  - name: azure-auto-tag-creator
    mode:
      type: azure-event-grid
      events: [{
          resourceProvider: 'Microsoft.Compute/virtualMachines',
          event: 'write'
          }]
      provision-options:
        servicePlan:
          name: cloud-custodian
      execution-options:
        output_dir: azure://myblob.blob.core.windows.net/log-folder
    resource: azure.resourcegroup
    description: |
      Tag all existing virtual machines with the 'CreatorEmail' tag using ARM events.
    actions:
     - type: auto-tag-user
       tag: CreatorEmail

The custodian service principal has the contributor role and the Blob Data Contributor role at the subscription level, looking at the app insights log it shows a 403, so not sure if that's referring to writing to the blob store or if that's for trying to tag the vm:
Client-Request-ID=XXXX Retry policy did not allow for a retry: Server-Timestamp=Fri, 30 Nov 2018 03:25:28 GMT, Server-Request-ID=XXXXX, HTTP status code=403, Exception=This request is not authorized to perform this operation. ErrorCode: AuthorizationFailure<?xml version="1.0" encoding="utf-8"?><Error>AuthorizationFailure<Message>This request is not authorized to perform this operation.RequestId:XXX</Message></Error>.

I'm guessing its some type of AAD issue?

I deleted the Resource group that is provisioned when not specifying one in the policy and spun up an new one, ensuring that the credentials that were supplied were correct, corresponding to the Cloud-custodian service principal that should have the correct AAD roles. When the functions execute in Azure, from the output I'm assuming that this is a permission issue of whatever SP the function is running under doesn't have the correct permissions? The function starts up correctly when I create a new vm, it sees that, but when it goes to perform the action, the error results. Nothing is written to blob storage and nothing is tagged:
prop__{OriginalFormat}
{ "Origin": "Worker", "MessageType": "RpcLog", "WorkerId": "XXSX", "Message": { "RequestId": "XXX", "RpcLog": { "InvocationId": "XXX", "Category": "custodian.azure.functions", "Level": "Error", "Message": "Unable to process policy: azure-auto-tag-creator :: This request is not authorized to perform this operation. ErrorCode: AuthorizationFailure\n<?xml version=\"1.0\" encoding=\"utf-8\"?><Error>AuthorizationFailure<Message>This request is not authorized to perform this operation.\nRequestId:XXXX\nTime:2018-11-30T13:38:01.1505006Z</Message></Error>", "EventId": "", "Properties": "" }, "ContentCase": "RpcLog" }, "Name": "RpcLog", "Source": "Rpc" }

The policy above looks like there is a mismatch in resource types resource: azure.resourcegroup while events are looking at VM so probably you would not end up with any resources, or if you do the type is going to be mismatched which might result in the errors.
The easiest place to see the log lines that you'd normally see at your console (if storage output is broken) is the "monitor" view of the Azure Function - you can drill into the actual log lines for each run, e.g.

I'm wondering if we are failing to write to storage if custodian exits in an error case, we'll have to track that down.

yeah I caught that previously, also tried executing a policy where the resource was listed as resource: azure.vm and the same logs appear in the azure monitor invocation details you point out

This weekend I've been testing in my personal account with the above policy ^ and with resource: azure.vm and get the following message:
prop__{OriginalFormat}
{ "Origin": "Worker", "MessageType": "RpcLog", "WorkerId": "XXXX", "Message": { "RequestId": "XXXX, "RpcLog": { "InvocationId": "", "Category": "custodian.azure.actions.auto-tag-user", "Level": "Error", "Message": "Principal type of event cannot be determined.", "EventId": "", "Properties": "" }, "ContentCase": "RpcLog" }, "Name": "RpcLog", "Source": "Rpc" }

I've gone into azure AD and given it every type of permission possible to every api, and the service principal running this has Contributor, storage blob contributor, storage queue contributor at the subscription level, with that in place I wouldn't think its an AAD issue, and doing so in my personal acct, that would remove any type of policy set at the EA level of my company causing it not to work.
If there's any other log messages you're looking for let me know and I can enter all of them.

Good info, agreed seems to rule out basic permissions errors - trying to get someone to look into this more ASAP

@aluong I followed all the steps and ran the same policy you have listed above. Unfortunately, when running the cli command to create a new resource group, the new RG is not tagged. Here's the queue message:

Id
XXXX
Message body
{ "subject": "/subscriptions/XXXX/resourcegroups/test2", "eventType": "Microsoft.Resources.ResourceWriteSuccess", "eventTime": "2018-12-10T18:44:04.451911Z", "id": "XXXX", "data": { "authorization": { "scope": "/subscriptions/XXXX/resourcegroups/test2", "action": "Microsoft.Resources/subscriptions/resourcegroups/write", "evidence": { "role": "Subscription Admin" } }, "claims": { "aud": "https://management.core.windows.net/", "iss": "https://sts.windows.net/xxxx/", "iat": "xxxx", "nbf": "xxx", "exp": "xxx", "http://schemas.microsoft.com/claims/authnclassreference": "1", "aio": "xxxx", "altsecid": "1:live.com:XXXXXXX", "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd", "appid": "xxx", "appidacr": "0", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"<EMAIL_ADDRESS>"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "xxx", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "xxxx", "groups": "xxxx", "http://schemas.microsoft.com/identity/claims/identityprovider": "live.com", "ipaddr": "xxxxxxxx", "name": "Account", "http://schemas.microsoft.com/identity/claims/objectidentifier": "xxxxxxx", "puid": "xxxxxxx", "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "xxxxxxxx", "http://schemas.microsoft.com/identity/claims/tenantid": "xxxxxx", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"<EMAIL_ADDRESS>"uti": "xxxxx", "ver": "1.0", "wids": "xxxxxx" }, "correlationId": "xxxxxx", "httpRequest": { "clientRequestId": "xxxx", "clientIpAddress": "xxxxxx", "method": "PUT", "url": "https://management.azure.com/subscriptions/xxxxxx/resourcegroups/test2?api-version=2018-05-01" }, "resourceProvider": "Microsoft.Resources", "resourceUri": "/subscriptions/xxxxxx/resourcegroups/test2", "operationName": "Microsoft.Resources/subscriptions/resourcegroups/write", "status": "Succeeded", "subscriptionId": "xxxxx", "tenantId": "xxxxxx" }, "dataVersion": "2", "metadataVersion": "1", "topic": "/subscriptions/xxxxx" }
Insertion time
Mon, 10 Dec 2018 18:44:33 GMT
Expiration time
Mon, 17 Dec 2018 18:44:33 GMT
Dequeue count
0

Interesting. I see the issue now. It's because your evidence property is missing some attributes that we expect when parsing our the user principal.
"authorization": {
      "scope": "/subscriptions/XXXX/resourcegroups/test2",
      "action": "Microsoft.Resources/subscriptions/resourcegroups/write",
      "evidence": {
        "role": "Subscription Admin"
      }

Just to make sure things work, can you try an action that has a static tag value?
    actions:
    - type: tag
      tag: Hello
      value: World

From my investigation, if the action is done by a Service Administrator you get a principal that has the "role": "Subscription Admin". I will look into adding support for this in the AutoTagUser action. I would assume if you were to create the resource group via an identity that is not a Service Administrator, you will not run into this error. Try creating a new service principal and login into the Azure CLI with it as described here. Then create a resource group using it, I would suspect there will be no issue.
Service Administrator in a Susbcription

So what you're saying is that any resources created by a service administrator, in this case the test resource group that I create via me being logged with my personal credentials in the CLI, will run into these issues... that seems like a bug to be resolved, no?

If this doesn't solve the issue let us know and we will reopen.

It appears that using the original service principal I have for Cloud-custodian, I'm still not able to run auto-tag-user with the following policy. I pulled the latest from source and ran the following in a new python3 virtualenv:
policies:
  - name: azure-auto-tag-creator
    mode:
      type: azure-event-grid
      events: [ResourceGroupWrite]
    resource: azure.resourcegroup
    description: |
      Tag all new RG with the 'CreatorEmail' tag using ARM events.
    actions:
     - type: auto-tag-user
       tag: CreatorEmail

Here is the error:
prop__{OriginalFormat}
{ "Origin": "Worker", "MessageType": "RpcLog", "WorkerId": "XXXXXXX", "Message": { "RequestId": "XXXXXXX", "RpcLog": { "InvocationId": "", "Category": "custodian.azure.actions.auto-tag-user", "Level": "Error", "Message": "Principal type of event cannot be determined.", "EventId": "", "Properties": "" }, "ContentCase": "RpcLog" }, "Name": "RpcLog", "Source": "Rpc" }

Again, the following policy does tag a new RG.:
policies:
  - name: tag-resource-groups2
    mode:
      type: azure-event-grid
      events: [ResourceGroupWrite]
      provision-options:
        servicePlan:
          name: eg-test-rg-tagging
    resource: azure.resourcegroup
    actions:
    - type: tag
      tag: CreatorEmail
      value<EMAIL_ADDRESS>

At this point this isn't affecting me and what I want to do, but it appears the auto-tag-user type still isn't working.

Each time I've tested this, I've actually created brand new resources for everything, brand new cloud-custodian resource group, new function, new policy, but just to humor this, I'll try it one more time and give it a good 20 min after deploying the policy to let it run. I'll keep you updated...

@aluong here is the message taken from the queue, scrubbed:
Id
XXXXXX
Message body
{ "subject": "/subscriptions/XX/resourcegroups/test3", "eventType": "Microsoft.Resources.ResourceWriteSuccess", "eventTime": "2018-12-17xx", "id": "XX", "data": { "authorization": { "scope": "/subscriptions/XX/resourcegroups/test3", "action": "Microsoft.Resources/subscriptions/resourcegroups/write", "evidence": { "role": "Contributor", "roleAssignmentScope": "/subscriptions/XX", "roleAssignmentId": "xxx", "roleDefinitionId": "xxx", "principalId": "xx", "principalType": "Group" } }, "claims": { "aud": "https://management.core.windows.net/", "iss": "https://sts.windows.net/xx/", "iat": "xx", "nbf": "xx", "exp": "xx", "http://schemas.microsoft.com/claims/authnclassreference": "1", "aio": "xx", "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd", "appid": "xx", "appidacr": "0", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "xx", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "xx", "groups": "xx, "ipaddr": "xxxx", "name": "XX", "http://schemas.microsoft.com/identity/claims/objectidentifier": "xx", "onprem_sid": "xx", "puid": "xx", "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "xx", "http://schemas.microsoft.com/identity/claims/tenantid": "xx", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "xx", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "xx", "uti": "xx", "ver": "1.0" }, "correlationId": "XX", "httpRequest": { "clientRequestId": "xx", "clientIpAddress": "xx", "method": "PUT", "url": "https://management.azure.com/subscriptions/XX/resourcegroups/test3?api-version=2018-05-01" }, "resourceProvider": "Microsoft.Resources", "resourceUri": "/subscriptions/XX/resourcegroups/test3", "operationName": "Microsoft.Resources/subscriptions/resourcegroups/write", "status": "Succeeded", "subscriptionId": "XX", "tenantId": "xx" }, "dataVersion": "2", "metadataVersion": "1", "topic": "/subscriptions/XX" }
Insertion time
Mon, 17 Dec 2018 19:27:11 GMT
Expiration time
Mon, 24 Dec 2018 19:27:11 GMT
Dequeue count
0

I see that you are using a different principal here than the one you were using before. You are using a group. We can look into adding default logic to attempt look for the emailaddress claim first and then the name claim before we stop processing.
 "evidence": {
    "role": "Contributor",
    "roleAssignmentScope": "/subscriptions/XX",
    "roleAssignmentId": "xxx",
    "roleDefinitionId": "xxx",
    "principalId": "xx",
    "principalType": "Group"
  }

I actually wasn't aware you could get a principal type group to show up there.  Interesting.

I must have tested on my personal account previously, what I pasted in 2 days ago was from a corporate account


Unable to copy some icons to cache, still used in menu file.

Running the command xdg-xmenu > menu results in some icons not stored in standard(?) paths not being copied to their intended location.
Error saving to file: /home/myrkvi/.cache/xdg-xmenu/icons/opt/intellij-idea-ultimate-edition/bin/idea.png
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/pixmaps/jetbrains-toolbox.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/home/myrkvi/.pia_manager/pia_tray_files/img/icon_512x512.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/bzflag/bzflag-48x48.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/hplip/data/images/128x128/hp_logo.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/icons/Humanity/devices/48/printer.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/local/bin/immersed-res/icon.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/opt/goland/bin/goland.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/lightworks/Icons/App.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/pixmaps/nvidia-settings.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/pixmaps/r.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/opt/runescape/share/img/runescape.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/opt/runescape/share/img/runescape.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/opt/runescape/share/img/update-runescape.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/home/myrkvi/.cache/yay/skype-desktop-bin/pkg/skype-desktop-bin/opt/skype_unofficial_client/skype.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/usr/share/racket/slideshow-exe-icon.png': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/opt/st/stm32cubeide_1.3.0/icon.xpm': No such file or directory
cp: cannot create regular file '/home/myrkvi/.cache/xdg-xmenu/icons/var/lib/snapd/snap/teams-for-linux/105/meta/gui/icon.png': No such file or directory

I'm assuming this is because the parent directories for the icon files within ~/.cache/xdg-menu/icons do not exist.
These paths are still included for the programs, and xmenu then fails to run because it cannot find the images.

I found where the problem is. For icons that is specified as a file path instead of a name in the .desktop files, I was trying to get their basename through shell string processing:
https://github.com/OliverLew/xdg-xmenu/blob/dc97c66492a640a936dcf11429a03704f7a38a52/xdg-xmenu#L79
The problem is I am only removing everything before the first / by ${1#*/}, thus the full path of the icon is appended to the cache location, so cp fails due to the absence of the nested dirs.
What I need to do is ${1##*/}, even though that is still not equivalent to basename but close enough in most cases.
I pushed a commit to fix this, you can try it and see if works.

I see a potential problem here, there are two icon.png icons for different apps: immersed-res and teams-for-linux. That could result in multiple apps using the same icon. I created a issue for that since I can't decide on a way to work around that for now #4

Seems to be resolved!
Teams and some other applications seem to be using the fallback icon. (I'm gonna admit that I don't know what immersed-res is as there does not seem to be a related executable).


path options when calling commands

I'm in a file a couple directories down from the top, ie ./src/app/xxx/yyy/zzz/file.js
I have a profile I'm trying to apply to an image that's located in ./src/filters/tester.icm.
How should I go about locating tester.icm? I tried using the path ./src/filters/tester.icm, it didn't work. I tried moving tester.icm (using gulp) into dist and just trying ./tester.icm and that didn't work either.
I tried -debug All, but that just told me it couldn't find the file, it didn't tell me the full path it was looking for.

Provide the file as input file together with input images and in the command reference it using the same name / path. The library will create files passed in inputFiles and then execute the commands. Didn't test it but this should work:
import { buildInputFile, execute, loadImageElement } from 'wasm-imagemagick'

const image1 = await buildInputFile('http://some-cdn.com/foo/fn.png', 'image1.png')
const testerIcm = {name: 'tester.icm', content: itsContentAsTypedArray}
const { outputFiles, exitCode} = await execute({
  inputFiles: [image1, testerIcm],
  commands: [
    'convert image1.png -rotate 70 -something tester.icm image2.gif',
...
  ],
})

See https://github.com/KnicKnic/WASM-ImageMagick/blob/master/apidocs/interfaces/magickinputfile.md
https://github.com/KnicKnic/WASM-ImageMagick/tree/master/apidocs#buildinputfile

Perfect! I got the file upload working, however ICM/ICC files appear to not be currently supported. It kept throwing an unknown file type. Could it be that the delegates precompiled do not include one that supports ICM/ICC file types?

ICM/CC are image profiles right ?
I think you can pass the files the same way as I commented above.
From : http://www.imagemagick.org/Usage/formats/#profiles  (check it out has extensive details)

You can also insert or re-insert a arbitrary profile as a 'blob' or binary string containing whatever information you like.
-profile 'profile_name:data_file'

Probably something like this (you will need to pack the files form the ImageMagick distribution and pass their content as input file)
convert rgb_image.jpg -profile USCoat.icm cmyk_image.jpg
Please tell me if you did succeed and so me (or perhaps yourself) could add a small section in the readme about this since seems to be a common blocker for users.
Thanks

So you did tried something like this and it didn't work?:
convert rgb_image.jpg -profile USCoat.icm cmyk_image.jpg
Did you checked http://www.imagemagick.org/Usage/formats/#profiles ?
I never done that but this seems to be a common problem for users... Could you share the command you are trying to execute ? not the files, just the command.
Also does the command work on the desktop ?
Maybe could be useful you to share how are building the file - as a blob? request ? embedded in a .js file as base64 string ?
S since other users have the same problem would be awesome to solve the issue and make some notes in the readme.
Thanks

Sure. I first import my ICM file through the file-loader webpack:
import tester from "../../../filters/tester.icm";
Then on a button click, I run the imagemagick command. I first convert the profile into a byte array:
const fetchedIcmProfile = await fetch(tester);
const icmContentArrayBuf = await fetchedIcmProfile.arrayBuffer();
const icmContent = new Uint8Array(icmContentArrayBuf);
const testerIcm = { name: "tester.icm", icmContent };
And then I ran the command:
const command = [
     "convert",
    "srcFile.jpeg",
    "-profile",
    "icm:tester.icm",
    "out.jpeg"
];

I get this output:
2019-0625-083547 Message: Error: Unsupported data type - URL: http://localhost:8080/magick.js - Line: 90 - Column: 0 - Error object: null
Error: Unsupported data type
Before, I was just using "tester.icm", but it was suggested to use "icm:tester.icm". Neither worked for me.

@DevinKott-KA
Can you clarify, this is no longer a path options bug, but rather a profile issue. Correct?

@KnicKnic Correct. I have successfully loaded the ICM file. The issue now is that ICM profiles are not supported with the current WebASM-ImageMagick build. That is the error output I am getting in the console.

I don't have real experience with profiles but did that command works on the server ? According to the profile (link above) is not a trivial topic... first make sure it works on the real thing...
But I suspect we are missing to include some IM configuration xml files in the build that supports this since some commands to get configuration are not working like (["convert","-list","configure"]). Hopefully with the new build  knik is working on this get's solved. @KnicKnic  could you please leave this issue open to track the problem since I and other users are having similar problems ? thanks!

@cancerberoSgx I can successfully run the command (["convert", "srcFile.jpeg", "-profile", "tester.icm", "out.jpeg"]) on my instance of ImageMagick in windows (from the command prompt) and have it work.
Running (["magick", "-list", "configure"]) on my desktop also produces a long list of delegates, including "lcms". However, running (["convert", "-list", "configure"]) in the WebASM-ImageMagick port, I get very little delegates compared to the windows version, and the javascript/webasm version does not have the "lcms" delegate.

Correct lcms needs to be added, I cannot add it to the build system if I don't know how to test it. please see https://github.com/KnicKnic/WASM-ImageMagick/issues/45#issuecomment-505562621
I am closing this due to it being a dupe.


Thank you

        git remote add origin https://github.com/Emanisay/https-github.com-emanisay27-create-react-app-b8fc7a0c.git

git branch -M main
git push -u origin main

What is this?
You are welcome I guess

Add

😊😊😊


dsl_parameterized_values.json modified

dsl_parameterized_values.json modified.

Hi @JLLeitschuh, @kabarret @hgvanpariya  Can someone look into this pull request that I submitted?

Hi @JLLeitschuh, @kabarret @hgvanpariya Can someone look into this pull request that I submitted?

Hi, which issue you have tried to fix?
Can you please conform to the guidelines here?
https://github.com/authorjapps/zerocode/blob/master/CONTRIBUTING.md

@nirmalchandra, I have tried to fix this issue: https://github.com/authorjapps/zerocode/issues/459#issuecomment-1259228522 and had submitted a pull request for it.

Looks like implementation and unit tests are missing in the PR.
Just Json changes are visible

You can reopen if you add the implementation.


Assign tasks per asset

Issue
Currently tasks are defined globally per project; there's a pre-specified list of tasks that can be initiated for any asset. This means any artist can initiate any task on any asset, for example starting rigging on shot one; likely unintended.`
Similarly as the artist works this means a long list is presented per asset as tasks.
Proposal
The project specific task list is good to define a set of "predefined defaults" to be used in a project, but in most cases not all assets would need all of them. Simillarly, sometimes it's good to query what tasks are available for a specific asset; assigning the task to the asset.
As such I want to propose to add the tasks per asset in the database.
This would allow some extra things:

This would also allow us to just find the assets that have a rigging task or only the shots with a comp task.
And, it would allow to separate the responsibility of initiating new tasks to a producer. For example the artist could only browse the assets and its linked tasks. It is then the producer who prior to this enabled the task for that specific asset.

In the database an extra field tasks could be added for assets that is a plain list, then to add a task:
# psuedocode
import mindbender.io as io

asset = io.find_one({"type": "asset"})
if "model" not in asset['tasks']:
    asset['tasks'].append("model")

Related to this... Is there any way currently to create custom tasks within the system? Say you have a big shot and want to split animation to 2 people one animating 'hero' and another one 'bg' chracters. In Ftrack we'd simply create 2 animation tasks with different name so each person can work on their own without interfering with the other.

@mkolar Yes, you can either create two tasks, e.g. bgAnimation and heroAnimation (see PCAPI), or have both animators on the same task, but publish to different subsets, e.g. hero and bgHero. If you wanted individual work files per artist, you can separate the folder layout by adding the {user} key to your folder template path (see {user} in PCAPI).

PCAPI

you can either create two tasks, e.g. bgAnimation and heroAnimation

However these are defined on a project basis aren't they? So all the shots would then have these two tasks? That's what it seems like anyways.

However these are defined on a project basis aren't they? So all the shots would then have these two tasks? That's what it seems like anyways.

That's right. It's a limitation at the moment. @BigRoy has been working on getting tasks parented to assets, I think that should work well. Would that work for you, you think?

@BigRoy has been working on getting tasks parented to assets

Yes, we prefer  it that way too. We just assign a task to an asset. It's stored in the asset's .data['tasks'] attribute. Next is for the launcher to support it too.

@mkolar We're now supporting this in the Avalon launcher too. It's not merged into the getavalon launcher yet though, but I'm expecting eventually it will. It will allow to set a specific list of tasks on an asset instead of showing all "statically" available ones of a project.

This should be available in core.
@mkolar was there anything you were still missing or had questions about?
@tokejepsen you played around with the tasks per asset too I recall. Was it now behaving the way you'd like?

Yeah, the last time I looked at it the tasks per asset were working at expected :)

I believe this definitely has been implemented and worked well now. (Second check after almost a year :laughing: )


Don't override request level Content-Disposition header if it exists

#437 added the ability to specify disposition at the middleware level.
However, this had the unexpected side-effect of steamrolling any per-request disposition headers currently set, which was a pretty massive change in behaviour in a patch release.
This updates the logic to only set the Content Disposition header if it doesn't already exist.

Could we get this one released @serene ?


Weird camera rotation in conjunction with panning

Whenever the user pans the camera over the ocean plane, the rotation should be centered around the point of observation. Whenever the panning offset is still in the origin, the rotation is correct. However, when the panning position is taken outside of it, something weird happens, and the behaviour is not as expected.

I've figured out what the problem is, I was thinking in the wrong coordinate-space. Problem fixed?


(#7) Scale game depending on resolution

Note that at the moment this scales the entire game, including text. Not sure if that's desired or not. I have taken the liberty to rename the toWorld and toScreen with more descriptive names. The toScreen method has been renamed to worldToCamera since now camera space and screen space are no longer identical, and the callers actually cared about camera space and not screen space.
Closes #7
edit: now that I think about it, it think also fixes #19 (though it might introduce the opposite problem where text is too small on small screens)

@sdegueldre looks goode to me! :+1: Thank you for your contribution!


Need the ability to edit recurring events that have already started

Our dojo loves the ability to make recurring events, but we really need the ability to update portions of the event like the address or ending date, without having to have a CoderDojo developer intervene.
We currently run a 4-5 month long session, and we've had the address change, and now we need to change the end date, but the UI won't let us.

Sorry @iandouglas , I didn't see the notification.
The reason behind is that addresses are part of the event, and people booked for a specific "version"/"information" of the event. Any changes to the address or the tickets cannot be easily reflected back to the user. cc @conoramurphy

Hey @iandouglas as @Wardormeur said we're looking to currently clean up and simplify events. Is there any chance I could hop on a call to talk about how your dojo uses recurring events sometime? We're looking for a lot of uses cases to see how we can make them broadly easier to use.

@conoramurphy sure, I'm game for that. Add .com to my github username and you can find my contact information (email, etc) on my web site and we can set up a call.

Still waiting for that phone call to discuss. :)


Bump SDK v0.43

Bump SDK v0.43 to rc3. This is likely the last RC and includes the IBC fix.

I'm going to pull main, run our e2e tests locally, then tag a release on this.


Module for maintaining diskspace

Is your feature request related to a problem? Please describe.
typical NVR applications are expected to watch the available disk space and make sure that the NVR does not crash due to disk space full errors hence it is important to have a module which can watch the archieve 's disk utilization
Describe the solution you'd like
A module which is able to watch the disk space and clean old files. Following simple props apply

Path: the pathe to watch (e.g. /var/nvr/cam1)
upper_water_mark: space in MB (e.g. 900MB) which triggers a corrective actions (e.g. deletion)
lower_water_mark:  space in MB (e.g. 750MB) which the a corrective action aspires to acheive
a pattern for file name which can be deleted to acheive the move from high_water_mark to lower_water_mark (e.g. *.mp4)

Describe alternatives you've considered
there is linux utility named "tmpreaper" that can be considered here
Additional context
we should try to avoid making too many filesystem queries in learning the current state... a good approach can be as follows

At a very low frequency we do a fine analysis, while at a higher (but still low) frequency we do coarser analysis
fine analysis => we know files sizes of each and every file
coarse analysis => just count the additional files and project based on some averaging scheme (average size of latest 10 files can be used to predict the size of next 10 files)
goal is to defer the fine analysis as mush as possible

Additionally strive to avoid disk full situation (other than the high and low water mark)
e.g. if the high watermark is misconfigured to be more than available disk space... we should try to avoid making diskful and go to lower water mark

Should we take multiple patterns as props ?

We can additionally use other strategies like:-

Moving archive
Compressing archive (in case of raw or other formats which can be further compressed)
Moving & Compressing


remove unneccessary deepcopy

Please provide a description of this PR:

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
394bb5d33343668eaa2ddff47159a49882c1bc59
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
394bb5d33343668eaa2ddff47159a49882c1bc59
link
true
/test unit-tests-arm64

unit-tests_istio
394bb5d33343668eaa2ddff47159a49882c1bc59
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
394bb5d33343668eaa2ddff47159a49882c1bc59
link
true
/test unit-tests

unit-tests-arm64_istio
f96a4949d1fa3b371919fb4d64ed7cd39ffc3f47
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Update Spring Boot to the latest version

Update the guide to use the most recent Spring Boot version.
Files that require changes are:
initial/build.gradle
initial/pom.xml
complete/build.gradle
complete/pom.xml

This project is now being managed automatically by dependabot.


IE11

Oh dear, I know...
But still I have to ask; what does it take to get Micromodal to work on IE11? I can guess this is linked to ES6 new stuff like spread operator but I wondered anyway.
Thanks a lot for this module which is super useful.

I also have been running into issues with getting Micromodal to work in IE 11, but after a few edits I was able to get this working... Here's how I went about fixing it:

Include the polyfills noted on #49
I cloned PR #313 and built Micromodal locally, using that version instead (I think this makes the Array.from polyfill unnecessary, but for now I still have it included)

At this point, I was still getting the invalid spread error. After a bit more debugging, I found that what was happening is Micromodal was calling its function _toConsumableArray(arr) when I called Micromodal.init(). The parameter arr was a NodeList of length 0 - I'm unsure why this is, and if this is expected or not.
In tracing my way through, I noticed that prior to throwing this error, the function _unsupportedIterableToArray is called to, I think, attempt to convert arr to an array so it is iterable. That function is defined with a parameter minLength but when it is called, no minLength is provided. I'm unsure if this is intentional or not, so I didn't change it.
What I did change, was _toConsumableArray by adding a quick condition before its return statement:
function _toConsumableArray(arr) {
    if (!arr || arr.length < 1) return [];
    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
  }

Now, if arr is undefined or has a length of 0, I simply return a new empty array. I'm unsure if this problem is because of my implementation / use, or an error in Micromodal in IE. I'm also not entirely certain if the build from PR #313 is necessary to resolve this error, of if the change I made alone is enough.
I hope this information is useful to @ghosh to determine if a fix needs to be made, or can shed some light on something i may be doing wrong in my implementation.

After working with this further, the fixes I describe in my previous comment only seem to have resolved the error when calling Micromodal.init(). Later when showing a modal, the error still occurs. IE 11 seems to take issue with receiving a NodeList for some reason.
I've worked around this in one instance by wrapping the method in a try/catch block, and while the modal does appear, I think this prevents all of Micromodal's features from working correctly in IE.
Happy to help implement a solution for this, if someone can point me in the right direction to get started.

What is the state of this issue? We still would like to support IE11 but at the moment this is not possible. Any news?

Include this in your head and the modal library will work as is:
<script crossorigin="anonymous" src="https://polyfill.io/v3/polyfill.min.js?features=NodeList.prototype.forEach%2CArray.prototype.includes%2Cdefault"></script>


vulkaninfo: Make presentation surface names a set

Previously, the printing logic stored surface names in a vector.
By switching to a set, this stops surface names from being listed
multiple times.
Files modified:
vulkaninfo/vulkaninfo.cpp
vulkaninfo/vulkaninfo.h
Change-Id: I5bf2acfd773c0fef6d17d21d3a489cc30df72e4d

Needs copyright 2020 bump


Resolve-Path: add parameter -RelativeTo

This parameter should be a path that is used instead of the current directory.

At first, I figured it would be just as easy to change location.

But that isn't necessarily scripting-friendly. I think what you want is something like this:
PS C:\scripts> resolve-path ~ -Relativeto c:\work\foo
..\..\Users\Jeff

Do I have this right?

@jdhitsolutions yes.
Right now I use the following function instead
function Normalize-Path
(
    [string[]][Parameter(ValueFromPipeline)]$Path,
    [string]$To=(Get-Location),
    [switch]$Relative
)
{
process
{
    Push-Location $To
    $res = $Path | Resolve-Path -Relative:$Relative | %{ [string]$_ }
    if($Relative -and $res){
        $res = $res | %{ $_.Substring(2) }  # don't want ".\"
    }
    Pop-Location
    return $res
}
}

I would like to know from the community other scenarios where having a RelativeTo parameter would be useful.

I investigate PowerShell providers for vNext and use the cmdlet for testing a parsing of PowerShell paths. And I thought about adding -Root parameter (it is more right term in the context). As for real script scenarios, I think we have no need the new parameter.
So if I will find the feature useful for PowerShell providers testing I will add it for vNext.

I think we've created something like this for the DSC Community and use in a couple of places.
When we manipulate Jacoco Test results and the like, sometimes we want to update the absolute path returned to a path relative to the source folder of our repos or similar...
We're also using this kind of feature in our test where we don't care about the absolute path in our test results, and the relative is more concise (specific case here, relative to module root): https://github.com/dsccommunity/DscResource.Test/blob/main/source/Private/Get-RelativePathFromModuleRoot.ps1

"Waiting on Author"? What for?

@Quaentor I guess it was a question about other scenarios where having a RelativeTo parameter would be useful.

The Cmdlet and Module Working Group has reviewed this issue. It is the group's consensus that although the requested feature is potentially useful, it does not reach the threshold for committing resources that would be required to implement it.
Additional parameters of this kind can often be implemented as Proxy Functions and the code shown on the issue could be used as the basis of a community-supported proxy function, which can be delivered from the PowerShell Gallery. When items in the gallery generate a significant positive response the PowerShell committee and/or working groups may reconsider whether they should form part of the main the PowerShell repo.


[QUESTION] Lazyfetch array with objects instead of urls

I've been using client-zip on deno to zip-on-the-fly some files on my origin server using the following code:
async function *lazyFetch() {
      for (const url of urls) yeild await fetch(url)
}

However with this way I cannot put files in different folders.
I would like to be able to have an array with an object for each file, for example:
let files = [
    {
        name: "folder1/file1.txt",
        size: 123,
        input: "https://file-download-url.com/file"
    }
]

and lazyfetch it. Is this doable?
Thank you.

Absolutely. We get a Response as usual, and instead of yielding it by itself, we put it in an object with its desired filename:
async function *lazyFetch() {
  for (const { name, input } of files) yield { name, input: await fetch(input) }
}

I didn't copy the 'size' property because it doesn't do anything when actually making the Zip. You can pass your original files array in the metadata option, so that downloadZip will set the correct Content-Length header (assuming your sizes are accurate, of course) :
const zipResponse = downloadZip(lazyFetch(), { metadata: files })


fix: snapshots now updating

Closes #686

@antfu I am looking for a good way to test our CLI commands, do you have anything in mind?


Is it possible for the Rasp Pi "shutdown now" command to automatically generate a "nocand power-off" command

from the forum: https://forum.omzlo.com/forum/nocan/is-it-possible-for-the-rasp-pi-shutdown-now-command-to-automatically-generate-a-nocand-power-off-command
Currently if you shutdown the Rasp Pi the CAN bus remains powered.
Would it be possible for the "nocand server" to respond to the SIGHUP by first sending a power-off command before exiting?

This will be available in the next version as a configuration option.

So now in version 0.3.3 you can use the sig-power-off flag on the command line or in the config file to make nocand power off when a SIGUP or SIGTERM signal is received.


Add build files to npm release

Add a npmignore file to the npm release ignore the gitignore file and include the builded version of files in the release.

Coverage remained the same at 45.53% when pulling 310085562c58ce4d92aef87177e4e109a0704f44 on feature/npm-release into bb2d733c990d923431b2862ee72ddca717c1353e on dev.

Coverage remained the same at 45.53% when pulling 310085562c58ce4d92aef87177e4e109a0704f44 on feature/npm-release into bb2d733c990d923431b2862ee72ddca717c1353e on dev.

Coverage remained the same at 45.53% when pulling 5420b5840c538ac980fb254280ba1470b1bec69b on feature/npm-release into bb2d733c990d923431b2862ee72ddca717c1353e on dev.


Bulk Edit button looks like just text

The bulk edit button is black text on white background, while other clickable links that are used as buttons have blue background with rounded corners, so they look like clickable buttons.
Dgraph Version
latest
Tech Specs

Ubuntu 18.04
Chromium 79.0.3945.130

Steps

Ratel
Schema
Observe Bulk Edit

Expected
Blue Background like other buttons (clickable text)
Actual
Black Text on White background

This is by design: "Refresh Schema" and "Bulk Edit" are considered secondary operations, only needed when UI is not enough, so they've been made less prominent in the UI.
Will add hover effects to make it clearer those are clickable


What does mdl-card--expand do?

Many of the sample cards have mdl-card--expand on the title, but I can't find any explanation of what it does - it's not listed in the classes at the bottom and I can't find anything obvious searching through the code.

It is an old modifier that shouldn't exist since it has no clear reason to exist per the specification. As far as I can tell it was made for templates since they had a purpose for it in building, but it doesn't necessarily translate to usage in everyday applications since it is flex-dependent.
V2 won't include it, so consider it deprecated.

.mdl-card--expand {     flex-grow: 1;     -webkit-flex-grow: 1;    -ms-flex-positive: 1; }


Why does PutMapping need and instance and a MappingOptions

Sorry to bother but I'm trying to use PutMapping but it needs both an instance annotated for json and elastic, and a Mappings Options. Can't it be that you need only one of those.
Even so, couldn't this be done by just using a json string??
If you need I can make the pull request
Thanks

hi @donnanicolas,
The thought was enforcing the use of a struct would be less error prone. I agree, it would be useful to have a json string version

I'll do a pull request for the JSON string ([]byte) version as soon as I can. Now I'm using an empty struct for it. Sorry to "hack" through your efforts, but otherwise a simple function would have been 4 times longer.
Close this issue if you want, I'll referenced it in the pull request

I just ran into some surprising behavior here (surprising to me, at least); I don't understand what the MappingOptions can do, except provide mappings for fields that are not present in the struct (which seems to be of limited usefulness?)
I was hoping to be able to override the mappings for a subset of the fields in my struct, and allow the default behavior to control the remaining fields.  However, it seems that the derived mappings take precedence over the ones I provide in the MappingObject.  Is this intentional?
I ended up just serializing my MappingObject to JSON, and then passing the bytes to PutMappingFromJSON, but that felt wrong, like I had one foot inside the concerns of elastigo's internals, and one foot outside:
		body, jsonErr := json.Marshal(es.MappingForType("user", mapping))
		if jsonErr != nil {
			return jsonErr
		}
		err = c.PutMappingFromJSON(indexName, "user", body)


Justification for Permissions?

Hi! It's very kind of you that you published this extension. <3
I have just rated it 5 stars on the extension store, but I wonder why it requires permission to read and change content on websites. Would it be possible to only require access to the URL instead?
Also, do you have a paypal or such where I could drop you money for a coffee?

Hello!
Thank you for raising this concern. The context about this decision is that I wanted the extension to work on all the Google domains, and keep it as maintanance-free as possible (current implementation uses a generic regexp to detect a Google domain).
It is possible to list all the Google domains (I used this link) in the permissions of the extension, but I found the approach with listing all the domains explicitly as a more fragile one, since if Google adds a new domain, it won't work for it.
Update: I checked it now, and found this official Google link: supported domains. This is pretty awesome and easy to monitor. I'll look into migrating the extension to this list and will create a watcher that notifies me about the changes of this page, so I can adjust the permissions in time.
This issue will be kept open unless the migration is complete.

Also, do you have a paypal or such where I could drop you money for a coffee?

Thanks! 🙂 Now I don't have it a link to share for that, but maybe later I'll add something like it to the description of the extension.

Thanks for the reply! Sounds great :)


Unhandled promise rejection (rejection id: 1): Error: Page crashed!

Steps to reproduce
Tell us about your environment:

Puppeteer version: 0.10.2
Platform / OS version: Windows 7

What steps will reproduce the problem?
1.Try the demo code
const puppeteer = require('puppeteer');

(async() => {
    const browser = await puppeteer.launch();
    console.log(await browser.version());
    const page = await browser.newPage();
    await page.goto('https://developer.mozilla.org');
    await browser.close();
})();

What happens instead?
output:
HeadlessChrome/62.0.3198.0
(node:11192) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Page crashed!

(node:11192) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:11192) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Navigation Timeout Exceeded: 30000ms exceeded

I cannot reproduce with v0.10.2 or v0.11.0-alpha on Windows 7 x64.

It works well for me too. Maybe is it related to a language version of this page?
@Vwings Please provide full URL to this page including a language version, for example: https://developer.mozilla.org/en-US/#

I'm also unable to repro this. "Navigation Timeout Exceeded: 30000ms exceeded" makes it seem like you had a connection issue fetching the page...?

Also having this issue.
macOs Sierra (10.12.6)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Browser never gets launched. It just... does nothing when I run it, haha.

Was this issue figured out ? I still get the same error intermittently. how do we handle an error when the time out happens? i am taking screenshots of multiple pages and dont want the process to hang when one the url times out or does not resolve

@VenPot two options:

You should try-catch the exception
You can use timeout: 0 option for page.goto if you're fine with waiting unconditionally.

Thank you, I mostly get this when I try to take a full page screenshot.
When I open it in chrome the page loads in like less than 5 sec but through
puppeteer I get the 30 second time out. If I turn off the full page option,
it works fine. But I need full page screenshots.
On Nov 2, 2017 1:08 AM, "Andrey Lushnikov"<EMAIL_ADDRESS>wrote:

@VenPot https://github.com/venpot two options:

You should try-catch the exception
You can use timeout: 0 option for page.goto if you're fine with
waiting unconditionally.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/puppeteer/issues/819#issuecomment-341319081,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVgcJydKsp-zNnn0AqfPfpzlGem4Ydq4ks5syU5cgaJpZM4Pb2Ge
.

@VenPot this might be a bug; please, file a new issue with a script and url so that we can reproduce it locally.

https://club.autohome.com.cn/bbs/thread-c-4206-69395910-1.html
when i request this url, the same error occurs.

i already closed the page ,but  the errors show me "UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 15): Error: Navigation Timeout Exceeded: 30000ms exceeded",


bug: Robot will not drop tip if labware calibration is exited early

Pulling this out of #7960:

when I only want to recalibrate some of the plates for a protocol (but not all)...the robot will grab a tip from the rack, do some calibrations, but neither return the tip nor drop it in the trash (since returning the tip to its rack only happens if you complete the entirely of protocol calibration).

Emphasis mine.

We expect future work on labware calibration to resolve this. Copying a Slack comment from @emilywools:

if a user goes through "labware calibration" which will in the future be "labware position check", the user will go through 1 guided flow and drop the tip at its conclusion. if they end the check early they will drop the tip before ending


How can I do by slug or id?

Can't figure this one out.
I used the 3.x version and it worked and then upgraded to 4.x package and can't figure this out.
Examples:
/lessons/1
/lessons/1/edit
/lessons/tuning-your-ukulele
Using
public function getRouteKeyName()
{
    return 'slug';
}

and slug works. Without and id works.

Personally, I think trying to do route model binding with slug-or-id is a Bad Thing (tm), which is why I removed findBySlugOrId from the package.
A quick look at Laravel's documentation (5.2), makes me think you'd need to do something like this in your RouteServiceProvider.php file (untested code):
public function boot(Router $router)
{
    parent::boot($router);

    $router->bind('lesson', function ($value) {
        if ($lesson = App\Lesson::findBySlugOrFail($value)) {
            return $lesson;
        }
        return App\Lesson::findOrFail($value);
    });
}

Let me know if this works, and I'll update the docs.

Just tested it. Works perfectly (with fully qualified namespace).
public function boot(Router $router)
{
    parent::boot($router);

    $router->bind('lesson', function ($value) {
        if ($lesson = \App\Lesson::findBySlug($value)) {
            return $lesson;
        }
        return \App\Lesson::findOrFail($value);
    });
}

Doesn’t work when using route model bindings.
$router->model('lessons’, 'App\CSP\Models\Lesson’);

that I’m using.
This is my RouteServiceProvider.php file
public function boot(Router $router)
{
parent::boot($router);
$router->bind('lesson', function ($value) {
       if ($lesson = \ App\CSP\Models\Lesson::findBySlug($value)) {
     return $lesson;
   }
   return \ App\CSP\Models\Lesson::findOrFail($value);
});

// https://laracasts.com/series/laravel-5-fundamentals/episodes/18 <https://laracasts.com/series/laravel-5-fundamentals/episodes/18>
//
$router->model('assets’, 'App\CSP\Models\Asset');
$router->model('books’, 'App\CSP\Models\Book');
$router->model('lessons’, 'App\CSP\Models\Lesson');
$router->model('listings’, 'App\CSP\Models\Listing');
$router->model('loginusers’, 'App\CSP\Models\LoginUser');
$router->model('series’, 'App\CSP\Models\Series');
$router->model('songs’, 'App\CSP\Models\Song');

$router->model('instruments’, 'App\CSP\Models\Instrument');
$router->model('subjects’, 'App\CSP\Models\Subject');

$router->model('topsites’, 'App\CSP\Models\TopSite');

// http://laravel.com/docs/5.1/routing#parameters-regular-expression-constraints <http://laravel.com/docs/5.1/routing#parameters-regular-expression-constraints>
	$router->pattern('id', '[0-9]+');

}
Tried the code as is and after the model bindings. Can’t get both to work.

On Jun 27, 2016, at 9:44 AM, Dees Oomens<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Just tested it. Works perfectly (with fully qualified namespace).
public function boot(Router $router)
{
parent::boot($router);
$router->bind('lesson', function ($value) {
    if ($lesson = \App\Lesson::findBySlug($value)) {
        return $lesson;
    }
    return \App\Lesson::findOrFail($value);
});

}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/cviebrock/eloquent-sluggable/issues/285#issuecomment-228749232, or mute the thread https://github.com/notifications/unsubscribe/AACrSdX6RMcDPedC0EKjjJJLBWeJBv6uks5qP9OggaJpZM4I8O6E.

Curt Sheller
Curt Sheller Publications
<EMAIL_ADDRESS><EMAIL_ADDRESS>www.curtsheller.com http://www.curtsheller.com/
www.learningukulele.com http://www.learningukulele.com/
www.howaboutmoreuke.com http://www.howaboutmoreuke.com/
Cell:<PHONE_NUMBER>
Studio:<PHONE_NUMBER>
Funky Frets:<PHONE_NUMBER>

"lessons" or "lesson"?  You have one in your RouteServiceProvider, and the other in $router->model(...).

It’s ‘lessons’ and I also tried ‘lessons’ in the $router->bind() call.

On Jun 27, 2016, at 11:08 AM, Colin Viebrock<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
"lessons" or "lesson"? You have one in your RouteServiceProvider, and the other in $router->model(...).

I suspect if you use router->bind with custom resolution logic in the RouteServiceProvider, then you shouldn't also be using router-model.

I sort of thought the same thing and will have to dive in and and see how I’m actually using ‘router-model’.

On Jun 27, 2016, at 2:05 PM, Colin Viebrock<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
I suspect if you use router->bind with custom resolution logic in the RouteServiceProvider, then you shouldn't also be using router-model.

Closing this, as I think the initial issue has been resolved.  If you have more comments, feel free to add them.

@cviebrock  thanks for tip for me this worked in 5.3
Route::bind('product', function ($param) {

    if ($product = Product::whereSlug($param)->first()) {
        return $product;
    }
        return Product::findOrFail($param);
});


Why am I getting some weird images, weird titles and weird body text from links?

I want to get image, title and body from link. However, I'm getting some weird images, weird titles and weird body text from the link.
Here is the strange result:

My link:
https://www.bloomberg.com/news/articles/2022-11-15/russia-expected-to-agree-to-extend-black-sea-grain-export-deal
My code:
AnyLinkPreview(
  link: "https://www.bloomberg.com/news/articles/2022-11-15/russia-expected-to-agree-to-extend-black-sea-grain-export-deal",
),

Feel free to leave a comment if you need more information.
Why am I getting some weird images, weird titles and weird body text from links? I would appreciate any help. Thank you in advance!

Hi @mycar98765
These are some default values configured in the library. You can always customise these. Please read the documentation clearly.


STY: double quotes for docs

Current coverage is 90.33% (diff: 100%)

Merging #252 into master will not change coverage

@@             master       #252   diff @@
==========================================
  Files             4          4
  Lines           476        476
  Methods           0          0
  Messages          0          0
  Branches         75         75
==========================================
  Hits            430        430
  Misses           31         31
  Partials         15         15

Powered by Codecov. Last update f579834...a014671

:metal:
I will help keep the collaboration going by merging this. Thank you, @CJ-Wright.

No problem.


added try except to combinatorial promoter

@dr3y
two errors left, check the Travis log:
https://travis-ci.org/github/zoltuz/biocrnpyler/jobs/698665530

You need to catch the error and do something with it. In other examples, there a simple pass in the catch case.

ah yes sorry about this. I couldn't test it on my machine because I didn't want to uninstall bioscrape.

No worries, once it works Travis should be able to build the code, which you can see below in the checks area.

Great! it works now. Thanks for the help, Andrey! @dr3y


clarification of the markdown documentation

Closing since it's been close to a year and I think we have covered this in the readme. If I'm wrong please rebase onto current master and reopen :)


h2 always reported in alpn_protocols

See: https://github.com/programatik29/axum-server/issues/80

Accomplished on present main branch.