Duplicate wicker recipes

Both recipes for wicker use sugar cane, where as the intent is for one to use flax stalks

Thank you for the report.
Looks like I somehow botched the recipe generator cleanup here.
This issue will be fixed in the next minor version.

Hello again,
Given that this is a comparatively minor issue, I've decided to simply roll it into the upcoming 0.2.0 release. If all goes well, it should be out in the next few days.

sounds reasonable!


Add Screen.orientation

From @kenchris on September 14, 2017 13:42
[js] Property 'orientation' does not exist on type 'Screen'. Did you mean 'msOrientation'?
Though screen.orientation is what Chrome uses
  mat4.rotateZ(this.rotationMatrix, this.rotationMatrix, toRad(window.screen.orientation.angle || 0));
Copied from original issue: Microsoft/vscode#34381

Documentation in https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation

PRs welcomed. You can find more information about contributing lib.d.ts fixes at https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes.

PR here: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19779

The PR is merged :+1: (That was super quick.)

:+1: but I think it can be on TSJS-lib-generator itself.

I think it's because it's still a draft.

lib.d.ts recently added several new types which are still in Working Draft status, I think the policy has been slightly changed in undocumented way.

We have found it hard for users to add the types in DT then include them later on in the default library. generates a lot of churn when we include them in the library.
For a north star, we should break up the dom into features, and let ppl opt-in experimental parts, and only include standards by default. this would be enabled by we library references.

Both Firefox and Chrome has implemented the standard screen.orientation so IMO it can be in TS.


Add optional parameter 'app' to middleware.

I would like to propose an additional parameter being introduced to middlewares:
src/service/dialogflow/dialogflow.ts:384
    for (const middleware of this._middlewares) {
      conv = (middleware(conv, this) as DialogflowConversation<TConvData, TUserStorage, TContexts> | void)
        || conv
    }

The new parameter is this (referencing app) and will give middleware developers more power over their plugins/middlewares implementation, since it grants access to the app context from within the middleware.

Example:
bootstrap.js
// myPlugin adds changes to intent handlers
const app.use(myPlugin);

// myMiddleware makes conv recognize changes coming from myPlugin
app.middleware(myMiddleware)

// now we can use additional ways to handle request (i.e. via actions rather than intents)
app.action('my-action', actionHandler)

my-plugin.js
// add additional functionality to register actions handlers
module.exports = (app) => Object.assign(app, {
  _handlers: Object.assign(app._handlers, {
    actions: {}
  }),
  action: (action, handler) => (app._handlers.actions[action] = handler)
})

my-middleware.js
module.exports = (conv, app) => {
  let { intent, action } = conv
  if (action in app._handlers.actions) {
    intent = action
  }
  return Object.assign(conv, { intent })
}

The original design of plugins and middlewares was intended to use plugins as the way to export modifications and have middlewares as a helper for plugins to modify the Conversation instance.
So if you need the app instance for a middleware, you should use an plugin instead:
// create a plugin
module.exports = app => {
  app.middleware(conv => {
    // use app here
    return Object.assign(conv, { /* extra functionality here */})
  })
}

Then any importing of functionality are always just app.use(plugin).
I'm worried that if we add app as a parameter to middlewares too then there will be possibly two ways to distribute functionality so developers would have to remember to use either app.use or app.middleware.
For internal usage of middleware, there should be only one app instance so you shouldn't need an extra parameter for app as it would be the same Object every time. Maybe you can pass it through some other way or just create a plugin for internal use.

Thanks @Canain , I totally overlooked this option. Closing issue for my part.


update mio to 0.8.11

Problem
New security advisory popped up requiring moving from mio v0.8.8 to >= v0.8.11
Note: This appears to be a windows only vulnerability.
https://crates.io/crates/mio
https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md
Summary of Changes
Move to v0.8.11

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.8%. Comparing base (3f9a7a5) to head (dd81a3d).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master      #60     +/-   ##
=========================================
- Coverage    81.8%    81.8%   -0.1%
=========================================
  Files         837      837
  Lines      225922   225922
=========================================
- Hits       184955   184888     -67
- Misses      40967    41034     +67

I added the 1.17 and 1.18 backport labels as those branches are also failing for the same vuln

I added the 1.17 and 1.18 backport labels as those branches are also failing for the same vuln

can we do ignores instead?

cc/ @AshwinSekar @bw-solana

I added the 1.17 and 1.18 backport labels as those branches are also failing for the same vuln

can we do ignores instead?

cc/ @AshwinSekar @bw-solana

Yep, that's viable as well


Remove circular dependencies

It lets us not to guess where the circular dependencies are.
Instead, we could have a tool that reports it to us (pls see a screenshot below).
I saw your comment and wanted to help:

It seems to be related to some tricky circular dependency issues that are doing to take some time to figure out, so I'm removing the ESM module in<EMAIL_ADDRESS>

FWIW: I like this a lot and inspired by this PR I also tried to integrate madge in one of my own projects. But apart from detected circular dependencies it lacks a lot of other useful dependency linting rules. So I discovered dependency-cruiser which seems to be more advanced than madge.

@lo1tuma thank you, didn't know about dependency-cruiser
Would you mind pointing to a configuration you have set up in your projects so I could learn from you?

it'd help me to contribute to it, if possible

@colinhacks could you please share your view on whether you support this direction?

@o-alexandrov This is the config I came up with:

'use strict';

module.exports = {
    forbidden: [
        {
            name: 'no-circular',
            severity: 'error',
            from: {},
            to: {
                circular: true
            }
        },
        {
            name: 'no-orphans',
            severity: 'error',
            from: {
                orphan: true,
                pathNot: [
                    '\\.d\\.ts$',
                    'stryker.conf.js',
                    'prettier.config.js',
                    'dependency-cruiser.config.js',
                    'webpack.config.js',
                    '\\.test\\.(js|ts|jsx|tsx)$'
                ]
            },
            to: {}
        },
        {
            name: 'no-non-package-json',
            severity: 'error',
            from: {},
            to: {
                dependencyTypes: ['npm-no-pkg', 'npm-unknown']
            }
        },
        {
            name: 'not-to-unresolvable',
            severity: 'error',
            from: {},
            to: {
                couldNotResolve: true
            }
        },
        {
            name: 'no-duplicate-dep-types',
            severity: 'error',
            from: {},
            to: {
                dependencyTypes: ['npm'],
                moreThanOneDependencyType: true
            }
        },
        {
            name: 'not-to-spec',
            severity: 'error',
            from: {},
            to: {
                path: '\\.test\\.(js|ts|jsx|tsx)$'
            }
        },
        {
            name: 'not-to-dev-dep',
            severity: 'error',
            from: {
                path: 'src/',
                pathNot: ['\\.test\\.(js|ts|jsx|tsx)$']
            },
            to: {
                dependencyTypes: ['npm-dev'],
                moreThanOneDependencyType: false,
                pathNot: ['node_modules/@types/', '.d.ts$']
            }
        }
    ],
    options: {
        doNotFollow: {
            path: 'node_modules|build/',
            dependencyTypes: ['npm', 'npm-dev', 'npm-optional', 'npm-peer', 'npm-bundled', 'npm-no-pkg']
        },
        exclude: {
            path: 'build/'
        },
        moduleSystems: ['cjs', 'es6', 'tsd'],
        tsPreCompilationDeps: true,
        tsConfig: {
            fileName: 'tsconfig.json'
        },
        preserveSymlinks: false,
        combinedDependencies: true,
        reporterOptions: {
            dot: {
                collapsePattern: 'node_modules/[^/]+'
            }
        }
    }
};

I’m running this as an npm run-script via "lint:dependencies": "depcruise --config dependency-cruiser.config.js .".

@colinhacks
I plan to work on this issue later this week, by:

replacing madge with dependency-cruiser
manually fixing all circular dependencies trying to make as little changes as possible

I expect to make:

little importing adjustments
some restructuring of core logic into smaller modules that don't depend on anything

this should help with interdependent classes

Steps made:

merged my branch with https://github.com/colinhacks/zod/pull/266

surprisingly, there were still lots of circular dependencies' instances (see screenshot below)

added dependency-cruiser

resolved most of the circular dependencies

@colinhacks it'd be time consuming for me to resolve the ones below, so it'd be great if you could take a look at the remaining issues below

in short, they all are due to ZodType <=> and some types that ZodType imports

This is great stuff!
I tried to warn you about those issues here: https://github.com/colinhacks/zod/pull/266#issuecomment-742809353

Subclasses of ZodType (e.g. ZodOptional) are imported into base.ts and are used in method definitions. You can't get around that.

There's no way to get rid of them without removing those methods, which I'm not willing to do. My plan is to fix this issues by controlling the loading order. Like you mentioned, this is a LOT easier now that there are only a few cycles to worry about.
Can you explain how to reproduce #215 in detail? I'm trying to bundle Zod with webpack and run some test scripts but I can't reproduce. I'm not comfortable adding the ES module back into the npm package until I've confirmed that those issues are resolved.

All the tests are failing for me. Were they working on your end?
Test suite failed to run:
    TypeError: Object prototype may only be an Object or null: undefined
        at setPrototypeOf (<anonymous>)

Okay I got this working again. I'm essentially using a simple version of the internal modules approach. The trick was to import all the circular dependencies from src/index instead of from the individual src/types/*.ts files.
// BEFORE
import { ZodArray } from "../../array";
import { ZodNullable, ZodNullableType } from "../../nullable";
import { ZodOptional, ZodOptionalType } from "../../optional";
import { ZodTransformer } from "../../transformer";

// AFTER
import {
  ZodArray,
  ZodNullable,
  ZodNullableType,
  ZodOptional,
  ZodOptionalType,
  ZodTransformer,
} from "../../../index";

I also had to disable these two rules in eslintrc.json:
"simple-import-sort/imports": 0,
"simple-import-sort/exports": 0,

They were sorting all the imports by file name which was messing up the loading order every time I saved the file.

I'm not sure why these issues started appearing, but they appear to be the same ones that were happening in #215. So hopefully this solution will solve the ESM issues as well. I just pushed an updated branch that contains my fixes: https://github.com/colinhacks/zod/tree/o-alexandrov-v2.
The next step is to test this with Webpack, Node, and Rollup to see if it works.

Thank you for resolving remaining issues.
I apologize, I cannot work on it in the next two weeks probably, because of some personal deadlines.
If anyone kindly could test this branch with their bundling tools, please do.
All you need to do is:

clone this official repo
checkout o-alexandrov-v2 branch
build the project by running yarn build
link zod dependency in your project with the locally built project
kindly report, if you have any issues

Looks promising! Worked with snowpack 2.18.4 (which uses rollup I gather for cjs modules).

@o-alexandrov I pushed an updated version to the "o-alexandrov-v2" branch of Zod. Play around with it and see if you discover any issues. I had to re-introduce several circular dependencies but it was necessary to get the tests to run correctly.

@o-alexandrov I pushed an updated version to the "o-alexandrov-v2" branch of Zod. Play around with it and see if you discover any issues. I had to re-introduce several circular dependencies but it was necessary to get the tests to run correctly.


atom support?

Will you be adding support for atom? Or is that specifically a non-goal, and would probably go in another package? If you do add it, it might be nice if this package were called something like 'feed-syndication' or something more general, but that is the least of things.

I have thought about it, but I am currently undecided. Right now, I am leaning towards the answer being 'no'. Ideally, there would be a separate rust-atom crate that handles Atom serialization, and then there would be a rust-syndication crate that would be an abstract wrapper around both. For now though (for my needs at least), RSS by itself suffices and so I haven't written anything Atom related. I'll leave this open for a little while in case I change my mind.

Fair enough!

Relevant repositories:
https://github.com/vtduncan/rust-atom
https://github.com/tomshen/rust-syndication


Showable ratios

Moved the implementation for the show typeclass from Rational to Ratio, Rationals just call the show method on the wrapped Ratio.
Ratios are now displayed with the '%' symbol as well as Rationals. If this is not wanted, as % is a constructor for the Rational, but not for the Ratio, I would nevertheless suggest to implement a simple show instance for Ratio.

I think we should have Ratios show as (Ratio x y) since, as you say %, is not an operator on Ratios.
But, why not newtype your Ratio type?

I just reverted the old commits, my first version actually showed Ratio x y.
It didn't seem neccessary to newtype my Ratio, but I'm not that experienced with FP, so maybe I'm missing something?

Wrapping in a newtype might not be neccessary but that would allow you to add custom type class instances, like Show.

Oh, and could you squash the commits into just one?

Thanks!


Queues are lost when stopping docker contrainer

I'm running Azurite via Docker and what I've found is even though I'm storing the blob & table data next to my project the queue data isn't stored there as well. If I then stop & start the container any queues I had are lost.
This behavior doesn't match what the Storage Emulator does since that persists queue data when restarting. It'd be great if Azurite did this as well. I'd prefer the queues stored alongside my project with the other data, but even persisting them on the container would be better than losing them.

@xt0rted Azurite currently doesn't persistent data for queue. Marked as feature request for this issue.


Sidebars cleanup

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on restructuring sidebar layouts across different components and pages in the dashboard.
Detailed summary

Removed unnecessary components and files related to sidebar layouts.
Updated sidebar layouts in various components and pages for consistency.
Introduced a new SidebarLayout component for improved organization of sidebar links and content.

The following files were skipped due to too many changes: apps/dashboard/src/app/(dashboard)/dashboard/connect/DashboardConnectLayout.tsx, apps/dashboard/src/pages/dashboard/settings/notifications.tsx, apps/dashboard/src/app/(dashboard)/dashboard/connect/ecosystem/create/EcosystemCreatePage.tsx, apps/dashboard/src/pages/dashboard/settings/api-keys/[id].tsx, apps/dashboard/src/pages/dashboard/settings/api-keys/index.tsx, apps/dashboard/src/pages/dashboard/contracts/publish.tsx, apps/dashboard/src/pages/dashboard/settings/devices.tsx, apps/dashboard/src/pages/publish/[...paths].tsx, apps/dashboard/src/pages/dashboard/contracts/deploy.tsx<EMAIL_ADDRESS>apps/dashboard/.storybook/preview.tsx, apps/dashboard/src/pages/dashboard/connect/analytics.tsx, apps/dashboard/src/app/(dashboard)/dashboard/connect/layout.tsx, apps/dashboard/src/pages/dashboard/connect/in-app-wallets.tsx, apps/dashboard/src/pages/dashboard/settings/storage.tsx, apps/dashboard/src/app/(dashboard)/trending/page.tsx, apps/dashboard/src/pages/dashboard/connect/account-abstraction.tsx, apps/dashboard/src/app/account/layout.tsx<EMAIL_ADDRESS><EMAIL_ADDRESS>apps/dashboard/src/core-ui/sidebar/contracts.tsx, apps/dashboard/src/pages/explore/index.tsx, apps/dashboard/src/core-ui/sidebar/settings.tsx, apps/dashboard/src/components/pages/publish.tsx

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#4534  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MananTank and the rest of your teammates on  Graphite


Feature/is admin middleware

i emptied the isLogged file so now it show not have conflict

conflict solved but we dont have isLogged now why this is happened ??

@felmez isLogged shouldn't be emptied.. you should have merged with main and resolved conflicts emptying isLogged and PRing that cleared the file

yeah i noticed something strange because when i edited the file isLogged in this branch it was the latest file from isLogged in main i guess this happened because we have already merged the isLogged with main before editing. makes sense now thanks a lot


⚠ Bofrost.lu has degraded performance

In ceee1da, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 931 ms

Resolved: Bofrost.lu performance has improved in db3f75b after 6 minutes.


Remove pkg/drive/ioctl and replace with original dependency

Signed-off-by: Christopher Meis<EMAIL_ADDRESS>

I have no idea. I didnt see any difference, so I remove the intree stuff. Less code to care about :)

I have no idea. I didnt see any difference, so I remove the intree stuff. Less code to care about :)

I also compared the code and it is identical.


[bug]: FastAPI is broken in main

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Linux
GPU
cuda
VRAM
No response
What version did you experience this issue on?
17d8bbf3
What happened?
Nodes API is broken for me on main (@ 17d8bbf3 as of right now). Any request returns a 500 type error. Attempt to get the docs results in "Failed to load API definition" (see screenshot).
This is on a fresh .venv.
Stack trace:
INFO:     Started server process [1532906]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:9090 (Press CTRL+C to quit)
* Initializing, be patient...
>> Internet connectivity is True
>> InvokeAI, version 3.0.0+a0
>> InvokeAI runtime directory is "/tmp/inv"
## NOT FOUND: GFPGAN model not found at /tmp/inv/models/gfpgan/GFPGANv1.4.pth
>> GFPGAN Disabled
## NOT FOUND: CodeFormer model not found at /tmp/inv/models/codeformer/codeformer.pth
>> CodeFormer Disabled
INFO:     <IP_ADDRESS>:37622 - "GET /docs HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:37622 - "GET /openapi.json HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 436, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/applications.py", line 276, in __call__
    await super().__call__(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 84, in __call__
    await self.app(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi_events/middleware.py", line 43, in __call__
    await self.app(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/applications.py", line 231, in openapi
    return JSONResponse(self.openapi())
  File "/home/clipclop/Code/invokeai/invokeai/app/api_app.py", line 85, in custom_openapi
    openapi_schema = get_openapi(
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/openapi/utils.py", line 423, in get_openapi
    definitions = get_model_definitions(
  File "/home/clipclop/Code/invokeai/.venv/lib/python3.10/site-packages/fastapi/utils.py", line 49, in get_model_definitions
    model_name = model_name_map[model]
KeyError: <class 'pydantic.main.CollectInvocation'>

Curiously, the KeyError refers to different classes between runs.
I tracked this down to the commit that pins fastapi  and friends to newer versions: bc347f74. Checking out any commit prior to that (and rebuilding the .venv) restores normal behaviour.
Screenshots

Additional context
No response
Contact Details
No response

my IvokeAi is working on macos, but error:
2023-09-04 22:43:29,715]::[InvokeAI]::INFO --> Patchmatch initialized
[2023-09-04 22:43:30,071]::[uvicorn.error]::INFO --> Started server process [1225]
[2023-09-04 22:43:30,071]::[uvicorn.error]::INFO --> Waiting for application startup.
[2023-09-04 22:43:30,072]::[InvokeAI]::INFO --> InvokeAI version 3.1.0
[2023-09-04 22:43:30,072]::[InvokeAI]::INFO --> Root directory = /Users/thienbao/Downloads/InvokeAI-Installer
[2023-09-04 22:43:30,073]::[InvokeAI]::INFO --> GPU device = mps
[2023-09-04 22:43:30,089]::[InvokeAI]::INFO --> Scanning /Users/thienbao/Downloads/InvokeAI-Installer/models for new models
[2023-09-04 22:43:30,202]::[InvokeAI]::INFO --> Scanned 7 files and directories, imported 0 models
[2023-09-04 22:43:30,213]::[InvokeAI]::INFO --> Model manager service initialized
[2023-09-04 22:43:30,215]::[uvicorn.error]::INFO --> Application startup complete.
[2023-09-04 22:43:30,216]::[uvicorn.error]::INFO --> Uvicorn running on http://<IP_ADDRESS>:9090 (Press CTRL+C to quit)


Automatically include @deprecated directive where ObsoleteAttribute is used

Is your feature request related to a problem? Please describe.
When creating a code-first GraphQL schema, placing an ObsoleteAttribute on fields for a model/type/query require an explicit call to the IFieldDescriptor.DeprecationReason(). This can lead to a disconnect between the code I've written and the GraphQL model since I need to denote the deprecation in multiple locations.
Describe the solution you'd like
As part of schema generation, it would be great to look for attributes on fields (implicit or explicit) that use the ObsoleteAttribute and have a valid Message property value that conforms to the GraphQL spec. This would prevent the need to use both an ObsoleteAttribute and the DeprecationReason() method to denote a deprecated field.
Describe alternatives you've considered
I have not considered additional alternatives at this time.
Additional context
This is a feature that is supported by some ASP.NET Core Swagger implementations, and would be nice to include this as part of HotChocolate to provide additional support for code-first schema generation.

I like your ideas :) we should do that. We should integrate that in the conventions.

Let us implement this for 9.1

The way we should do this is by having some kind of functionality in the conventions where the descriptors can ask the conventions for a depreciation reason. This way people can override out default convention and introduce their own attributes if they wish to.

Do you want to have a go at it?

So,
we should add this one to the naming conventions INamingConventions.
It does not really fit perfectly there but it sounds ok :)
Basically we would need to add a new method GetDepricationReason there that gets a MemberInfo and returns a String.

Would be more than happy to take a go at this! I would agree that, for now, INamingConventions will probably be the best spot to place this and then use the new method in the object creation similar to #715

So, have a go at this one... I will try finishing of the #715 this week. Thanks for your work on both of them!

This is closed as of merge #826. One addition I could see being made is a new GraphQLDeprecatedAttribute(string) that could be added, similar to the GraphQLDescriptionAttribute. Would be nice to have both "implicit" support from core attributes, as well as a HotChocolate specific method like descriptions have.

@willwolfram18 I agree with you. We should add this one. If you find the time create a pr and add this one.

Reopening issue and will get a PR together for a GraphQLDeprecated attribute 😄

Closed as of #843


How to get a jar

current pom does not generate a jar.
I had to remove
<packaging>pom</packaging>

and add:
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>

To get a jar being generated.
Is that expected ?

This is now fixed


[Feature Request]

Checklist

[X] I'm reporting a feature request
[X] I've verified that I'm running yt-dlp version 2021.04.22
[X] I've searched the bugtracker for similar feature requests including closed ones

Description

I was curious if there was a way to add Sling-TV to the list of APOs. There are a few sites that allow login to view content with Sling and didn't see an option within the ap-list-mso.

This is not a feature request. Open a site-support request with the necessary details


Slowing down of Lovelace and Companion App when using PopUp & Triggers

First of all, thanks for the Bubble set! Great addition, especially the popup.
However, I did encounter some issues.
With the Bubble PopUp card, I made a popup with a trigger on motion detection. This worked well in itself, but I did notice that the Lovelace Dashboard started getting slower and slower with each triggered popup. When viewing the dashboard on a phone (Android, V13, via Companion App) the dashboard, the phone was using CPU in such an amount that the phone began to noticably heat up. While other apps remained operational, I could not close the HA Companion App and had to resort to restarting the phone. After this the companion app started normally again, until I let it display the dashboard using the (triggered) popups.
Disabling the trigger remedied the problem with viewing the dashboard on the phone. Although I have not tested it, I suspect that the problem will re-occur when triggering a popup often (as the trigger did).
I have also noticed, editing the dashboard on my computer (Win10, I5 equivalent, no shortage of memory, firefox browser) will slow the entire browser editing session down after editing the dashboard for some time: slow loading of the editing screen, slow saving of changes.
Hope you can look into this and optimize some code so this is remedied.
Again, thanks for an excellent addition to dashboard possibilities.

Hi and thanks for your feedback, can you tell me if it's working like it should in v1.3.0?

Hi Clooos,
Thanks for your reply!
I've downloaded 1.31. this morning (I never got a message that 1.3.0. was available).
However, I did upgrade to 1.2.4 earlier (when it was released) and that already made a big difference!
Let me test for a couple of days and get back to you.
Thanks, again: great work! :)
DenW

Hi Clooos,
Thanks for your reply!
I've downloaded 1.31. yesterday morning (I never got a message that 1.3.0. was available).
However, I did upgrade to 1.2.4 earlier (when it was released) and that already made a big difference!
Let me test for a couple of days and get back to you.
Thanks, again: great work! :)
DenW

Hi Clooos,
First day running 1.3.1..
I opened a popup on my phone and let it remain open. Busy doing other things, the phone remained unlocked with the popup open. After a while I returned (about 2 hours or so) and noticed the phone was (much) warmer than it should be.
Also, Home Assistant Companion App was unresponsive. I had to force stop the app, after which (after a while) the phone cooled down.
I did use the Dashboard I made with the popup cards during the remainder of the day, but it appears as long as you close the popup there is no issue.
I understand the AutoClose timeout value might be a workaround here.
Thanks!
DenW

Interesting, I will take a further look at what can cause that.

I've just released v1.3.2 and it should improve performances a lot for people using pop-ups 🤞

Thanks for your quick changes!! Really cool!
Downloaded the new version, will do some more tests tomorrow.

Hi Clooos,
After doing some tests it appears this version (1.3.3) is much more power-friendly.
Phone doesn't get warm anymore.
Also, editing in browser on PC appears faster, and tabs don't crash or stall as much..
So: big improvement!!
Thank you!
DenW

Thanks for the feedback! I'm glad that you are seeing improvements! I'm working hard on a new version that will be so much more power friendly, but I still don't know when I will be able to release it.

Eager to test V1.4.1 out!
Have a great holiday, hope you'll get some inspiring new ideas for BubbleCards.. :)

Thanks! Glad that this new version fixed it for you!


Please support DateTime-related Array

Please support Date32Array, Date64Array, TimestampMillisecondArray, TimestampSecondArray or DateTimeArray like arrow.

Hi @marvinpan8 could you elaborate a bit on you request? What are you missing? My understanding is that polars reads these arrays and converts them accordingly to the proper polars type.

We support them, we just do not declare them as structs since each variation is backed by a common physical representation (i64 or i32). This significantly reduces code complexity and binary size.
For example,
// cargo run --features chrono-tz --example

use arrow2::array::{Int32Array, Int64Array};
use arrow2::datatypes::{DataType, TimeUnit};

fn main() {
    let array = Int32Array::from_vec(vec![10]).to(DataType::Date32);
    println!("{array:?}"); // Date32[1970-01-11]

    let dt = DataType::Timestamp(TimeUnit::Second, Some("Europe/Lisbon".to_string()));

    let array = Int64Array::from(&[Some(1), None, Some(2)]).to(dt);

    println!("{array:?}"); // Timestamp(Second, Some("Europe/Lisbon"))[1970-01-01 01:00:01 CET, None, 1970-01-01 01:00:02 CET]
}

note that how we fully support timezones. For example, this test https://github.com/jorgecarleitao/arrow2/blob/main/tests/it/compute/temporal.rs adds intervals to times and datetimes taking timezones into account.


Improve docstring

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (d829efe) to head (3222217).
Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #199   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           69        69
  Lines         1703      1703
  Branches       169       169
=========================================
  Hits          1703      1703

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix dec_month implementation to make previous_time work for last days of months

previous_time did not work properly for the last days of months (not just for 29th of Februray, but for like 31st of October as well), for example:
Fugit::Cron.parse('0 20 31 oct *').previous_time(Time.parse('2019-11-01 04:00')).to_s
=> "2018-10-31 20:00:00 +0100"

As you can see the year is off by one. This is because dec_month had a bug, where it decreased the current time with one more day then necessary (this is tricky, because hours are indexed from 0, but days are from 1). Also the current dec_month implementation did not set the hours, minutes and seconds, so anything after '2019-10-31 04:00' was inaccessible with previous_time.
After this change, previous_time works properly:
Fugit::Cron.parse('0 20 31 oct *').previous_time(Time.parse('2019-11-01 04:00')).to_s
=> "2019-10-31 20:00:00 +0100"

Excellent, thanks a lot!


Java processes are not getting killed

If the Twister2 job fails in the Juliet Cluster the Java processes are not getting killed and it affects the NFS. Also, sometimes MPI processes are not getting killed.

@chathurawidanage is tihs fixed now?

No. This problem is still there.

@chathurawidanage how do we reproduce this? I cannot reproduce it now.

This occurs mostly when one worker fails due to out of memory. Can you try
a system.exit in one of the workers.
On Sat, Nov 23, 2019, 14:00 Supun Kamburugamuve<EMAIL_ADDRESS>wrote:

@chathurawidanage https://github.com/chathurawidanage how do we
reproduce this? I cannot reproduce it now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DSC-SPIDAL/twister2/issues/730?email_source=notifications&email_token=ABXZKCIT2YIFCJOITSHSW5DQVF4T3A5CNFSM4JK2ZJAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE73PEQ#issuecomment-557823890,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABXZKCOY5X4UNV6HAYO7VO3QVF4T3ANCNFSM4JK2ZJAA
.

I tried with OOM. But the processes finish. I couldn't test with System.exit() though.

I think I found the exact cause for this issue, but not sure about a proper solution for this. The barrier call just before the finalize call prevents failed worker from calling finalize(). Other workers keep calling progress since they can't proceed as iSends posted to the failed worker will never get resolved. Here is a simple code that replicates the exact issue with twister2. Ultimately, failed worker blocks on barrier(), others keep calling progress() in an unending loop.
MPI.Init(args);

        final int rank = MPI.COMM_WORLD.getRank();

        System.out.println("Spinning " + rank);
        new Thread(() -> {
            try {
                Request request = MPI.COMM_WORLD.iSend(MPI.newByteBuffer(10), 0, MPI.BYTE, 0, 0);
                boolean progress = true;
                try {
                    while (progress) {
                        if (rank == 0) {
                            Thread.sleep(10000);
                            throw new RuntimeException("Twister2 Exception");
                        }
                        boolean test = request.test();
                        System.out.println("Looping... " + test);
                        Thread.sleep(1000);
                    }
                } catch (RuntimeException re) {
                    re.printStackTrace();
                } finally { // we do this in twister2
                    MPI.COMM_WORLD.barrier();
                    MPI.Finalize();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }).start();

Great. Lets remove the barrier and see what happens. Since now the process exitis, the iSends should give an error.

This is fixed now.


[Tracking issue] Angular support

What subject does this issue tracking?
Angular17 support

duplicate of #3158


article.password not a String, but something else

Date: Mon, 26 Sep 2011 19:10:35 -0500
From: henry74<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: [typo] errors with latest typo blog v 6.0.9
I downloaded the latest version and attempted to upgrade from 6.0.4.
I've tried it on both 1.8.7 and 1.9.2 and I've gotten similar but
different errors related to YAML.  See below:
Ruby 1.8.7
ActionView::Template::Error (undefined method empty?' for #<YAML::PrivateType:0xb5cf2118 @value="", @type_id="null">):     1: <% if article.password.nil? or article.password.empty? %>     2:   <%= render 'articles/article_content', { :article => article } %>     3: <% else %>     4:   <%= render 'articles/password_form', { :article => article } %>   app/views/articles/_protected_article_content.html.erb:1:in _app_views_articles__protected_article_content_html_erb___984258178__622293848_3709598'
app/controllers/articles_controller.rb:211:in render_paginated_index'   app/controllers/articles_controller.rb:38:in index'
app/controllers/articles_controller.rb:37:in `index'
Ruby 1.9.2
ActionView::Template::Error (undefined method empty?' for #<Syck::PrivateType:0xbe42f18 @type_id="null", @value="">):     1: <% if article.password.nil? or article.password.empty? %>     2:   <%= render 'articles/article_content', { :article => article } %>     3: <% else %>     4:   <%= render 'articles/password_form', { :article => article } %>   app/views/articles/_protected_article_content.html.erb:1:in _app_views_articles__protected_article_content_html_erb__815734403_99983130_96183190'
app/controllers/articles_controller.rb:211:in render_paginated_index'   app/controllers/articles_controller.rb:38:in block (2 levels) in index'
app/controllers/articles_controller.rb:37:in `index'
Thoughts?

Same here, already reported to fdv - he is working on it

If someone have a reproduce case, I can take care of it. I guess it's a migration problem and/or a default value problem.

This looks like the problem I fixed in commit 156b63b6dbdbfd2fdcdbdb748fbdea6e453cd217. Can you see if that fixes it for you?

I had my typo blog running on Heroku, after some views all my articles claimed to be password protected. I restarted the instances and they went back to their defined behavior of public posts.

This was fixed with commit https://github.com/fdv/typo/commit/5ae108a4b3077a24e956daf818655d10b4e49b72


App. Crashes after a few seconds of execution.

The application crashes after a few seconds of execution.
To Reproduce
Steps to reproduce the behavior:

Setup the account and add your pin.
Wait a few seconds.
The application crashes.

If the application opens after the point 3. crashes again.
Smartphone (please complete the following information):

Device: Samsung galaxy s10
Android  10

this problem was fixed in the PR  #138


Fix IPLV calcs for reformulated chillers in EnergyPlus

PLR is passed as an argument to the function used to calculate the LCT, however, PLR depends on the LCT
The evaporator flow rate is used in place of the condenser flow rate to calculate the LCT
The ECT and LWT temperatures are a mix of both AHRI 550/590 and AHRI 551/591.

Fixed with https://github.com/NREL/EnergyPlus/pull/9569


Week_1 Assignment

Should I create a new Pull Request ?
On Sat, 24 Dec 2022 at 12:11 PM, Parth Mittal @.***>
wrote:

@.**** requested changes on this pull request.
Hey, @sujalamati https://github.com/sujalamati good job!
Pls you some formatter to prettify your code. You can find extensions in
VS Code that do so. Makes the code more readable.
Otherwise, looks good!
Some stylistic comments - would be nice if you could keep all the form
elements aligned properly
—
Reply to this email directly, view it on GitHub
https://github.com/IRIS-NITK/IRIS-RoR-Bootcamp-2022/pull/24#pullrequestreview-1229535263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4ZUABMJSTVOQNBULMELZOTWO2LIPANCNFSM6AAAAAATHLEDBM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Should I create a new Pull Request ?

Hey no no!
The idea about PRs is that you can keep updating the same PR until its ready to be merged. So now, if you just commit new changes and push them on the same branch, they will automatically appear here! :)


Migrate "golang.org/x/net/context" -> "context"

In some places, where ctxhttp or gRPC are concerned, we still need to use the
old contexts.

👍

Hrm, since we're using native contexts now, CodeClimate can find more context-related issues and is failing here:
https://codeclimate.com/github/prometheus/prometheus/pull/3333
All issues around context cancellation, but I don't think they're all real (e.g. the notifier one doesn't seem to be). I haven't had a look at CodeClimate yet, do you happen to know what to do in this case? CodeClimate shows @beorn7 as the user for the integration in GitHub here...

I introducted CodeClimate as an experiment a while ago, and the only easy way I saw back then was to use my own user as the one granting permissions and such. Thus, my face shows up there.
We have Codacy now, too, and I'm sure others played with several other tools as well. We should decide at some point which tools we want to have, and then create some consistency across repos. I'm not in a position to drive that right now, though.
If you find CodeClimate un-helpful, feel free to remove it. No emotional or other attachment to it from my side. However, should the problem it exposed here be real, it would be pretty awesome.

If you find CodeClimate un-helpful, feel free to remove it. No emotional or other attachment to it from my side. However, should the problem it exposed here be real, it would be pretty awesome.

The reported problems are just go vet results, and we know that those also provide false positives at times. That seems to be the case here. So I'll remove CodeClimate.


Completely new dispatch for _FULFILLED and _REJECTED

Currently we call next() inside the middleware for either rejected or fulfilled actions.
Say you want the _FULFILLED action to return a thunk for whatever reason, now we have some issues where the order or configured middleware limits this possibility. Alternatively you may need thunk actions to later dispatch promises! Right now we can't get both of these middleware to communicate without adding one of these middleware to our store configure twice.
An easy solution to this is to fire a completely new store.dispatch per _FULFILLED or _REJECTED instead of calling next.. this way other middleware inserted before promiseMiddleware can be applied to the _FULFILLED or _REJECTED action types.

Ok, this is released in<EMAIL_ADDRESS>Closing.


[#105] updating requirements

forgot to update requirements

 Complete output from command python setup.py egg_info:
    /tmp/pip-build-bx2nqh1n/hdbscan/setup.py:8: UserWarning: No module named 'Cython'
      warnings.warn(e.args[0])
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-bx2nqh1n/hdbscan/setup.py", line 13, in <module>
        import numpy
    ModuleNotFoundError: No module named 'numpy'


feat: Add a new database driver for Amazon DynamoDB

SUMMARY

There is no database driver for Amazon DynamoDB so far. I developed a Python DB API 2.0 (PEP 249) client for Amazon DynamoDB and did some work to be compatible with Superset. My Project is here. The latest version is 0.4.2 which have already supported Superset connector.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

This is just a DB engine spec. No unit test required. For the setup in the Superset, please refer to the doc in my project.
https://github.com/passren/PyDynamoDB/wiki/5.-Superset
I tested in my Superset environment (v2.0) and it works.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[X] Introduces new feature or API
[ ] Removes existing feature or API

This is an awesome start @passren !
It may be worthwhile to add the database -> driver mapping here as well: https://github.com/apache/superset/blob/master/setup.py#L126
cc @villebro too

This is an awesome start @passren !
It may be worthwhile to add the database -> driver mapping here as well: https://github.com/apache/superset/blob/master/setup.py#L126
cc @villebro too

Thanks for your reminder. It has been added here.

@srinify @villebro Hi, is there anything I can do to move forward this PR?


Add pipe operator to Portuguese(Brazil)

Translating pipe-operator.md
Updating order of basic lessons

@brunoasantos please review :D

@pragmaticivan I added a comment to the commit.
One typo and one grammar error on the last line.
Other than that, looks good to me :+1:

Just fixed! Thanks @brunoasantos o/


Wrong reference in "Can I make guest objects visible in the global address list?

Ref #64807 which was closed without actually being fixed.
The section 'Can I make guest users visible in the Exchange Global Address List?' states 'For details, see Can I make guest objects visible in the global address list? in Manage guest access in Microsoft 365 Groups.'
But 'https://docs.microsoft.com/en-us/microsoft-365/admin/create-groups/manage-guest-access-in-groups?view=o365-worldwide' does not contain any reference to the topic.
Not much use referring us to documentation that doesn't exist. Please actually resolve it this time!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c6eb6697-4ace-adb6-c922-df8a9a485283
Version Independent ID: fd4ce34d-d55e-92af-d71a-625210ad3a63
Content: Properties of a B2B guest user - Azure Active Directory
Content Source: articles/active-directory/external-identities/user-properties.md
Service: active-directory
Sub-service: b2b
GitHub Login: @msmimart
Microsoft Alias: mimart

Hi @ChrisAtMAF, thanks for following up. The fix was made so the issue was auto-closed, but the article hadn't quite published yet. It's live now.

Closing this out since the fix is live.


One time binding does not work with expression bindings

I am writing a directive that has an expression (&) binding, and I want my consumers to be able to pass a one time binding if they wish. For instance, both of the following uses should be valid:
<my-directive option="::someOption"></my-directive>
<my-directive option="someOption"></my-directive>

I want to do this because the consumer of my directive knows whether or not their expression is ever going to change, and would like them to be able to add this optimization.
The problem is that if I use scope.$watch to watch the option, the listener still runs multiple times:
{
  restrict: 'E',
  scope: {
    option: '&'
  },
  link: function( scope ) {
    scope.$watch( 'option()', function() {
      // may run multiple times even if the user provided the expression "::someoption"
    }
}

The workaround for this is to use scope.$parent.$watch, but this seems like it should not be the primary way of consuming expressions. I think that expression bindings should benefit from one time bindings automatically, without the directive-writer having to think about whether or not the consumer might have a valid use-case to use a one time binding.
I think reason this is happening is due to the fact that while the parsed expression has metadata indicating that it should only be run once, the & binding wraps that function in order to pre-bind it to the correct scope, but does not copy the relevant metadata.
Here is a plunker demonstrating the behavior

I'm running into this as well;  can someone take a look?  Thanks!

This is a misunderstanding of how one-time bindings and statement bindings work. They were not designed to function in this way.
If you want to get the performance optimization, you could do something like this:
<my-directive option="someStatement()"></my-directive>
<my-directive option="someStatement()" run-once></my-directive>

Then your DDO would look like this:
{
  restrict: 'E',
  scope: {
    option: '&'
  },
  link: function(scope, el, attrs) {
    var runOnce = attrs.hasOwnProperty('runOnce');
    var stopWatching = scope.$watch('option()', function(value) {
      if (angular.isDefined(value) {
        doSomethingWith(value);
        if (runOnce) {
          stopWatching(); // <-- that accomplishes the same thing
        }
      }
    });
  }
}

That's a little more work, but like I said, what you're suggesting is simply not how statement bindings (the &) and one-time bindings (the ::) work.

@kentcdodds How were they designed to function then?  What's the use case for one time bindings if not to do exactly what we're trying to do in the example directive?  At the moment, one-time bindings are only useful in non-isolate scope directives where you can watch attrs.foo or manually parse the expression and use $scope.$parent.$watch which is absurd.
Your example also falls over in the event that any given directive has more than one binding that may be intended to be a one-time binding.

@kentcdodds IMO having framework features work in harmony is very important.

They were not designed to function this way

I'm fully aware of the shortcomings of the current implementation, which is why I filed the issue. If this was a conscious design decision, I would be interested in hearing the rationale behind it.
I absolutely do not think that consumers of a particular directive should have to know about the implementation detail and think about "is this a place where I can use the one time syntax". If ng-if="::myOneTimeVar" works, then how is the consumer supposed to know that <isolate-scope-directive some-attr="::myOneTimeVar"> won't work? In fact, the situation is even worse by failing silently. The person consuming the directive very clearly indicated their intent to have the binding run once, yet it will run every digest cycle without warning.

@dcherman, the example implementation is just an example of how you might accomplish it. If you needed multiple one-time statements like that, you could come up with something for that...
@fenduru,

I absolutely do not think that consumers of a particular directive should have to know about the implementation detail and think about "is this a place where I can use the one time syntax".

I totally agree with you. Which is why we have a brand new syntax in Angular 2.0, because the current implementation of the template syntax makes not being forced to know the directive implementation impossible.
The difference between ngIf and someAttr is that ngIf is an expression binding (with =) and someAttr is a statement binding (with &) (at least, that's what options was in your example above). The one-time binding only works for expressions, not statements.

@kentcdodds again, I fully understand how it currently works, but disagree with how it currently works, hence the issue.
The & binding still calls $parse which knows all about ::. The only benefit that & provides me is avoiding to have to combine $parse with the parent scope manually. If I want to support ::, I still can, I just have to give up the convenience of &
WRT ngIf, that is not at all how it is implemented. The only reason ngIf doesn't run into the same issue is that it doesn't need an isolate scope.
In any of the possible ways of working around this bug (I consider something that we agree is wrong -- as indicated by your Angular 2 comment -- to be a bug, regardless of how it is implemented now), the directive developer has to make a conscious decision to support one-time bindings. But this is backwards, since very rarely does a directive know all of its consumers use cases and whether or not they require one time binding support. So as a library-author, I am left with a choice:

Write convenient, idiomatic Angular directives and prevent consumers from choosing where to bind once
Write inconvenient, unidiomatic Angular directives to support a framework feature (I want my framework to support me, not the other way around)

Also, criticism without ideas is not very worthwhile, so my suggestion is to modify the function that $parse returns to look something like this (obviously this is high level pseudo code, and the actual implementation would take some thought):
function $parse( expression ) {
  var value,
        hasRun = false,
        oneTime = isOneTime( expression );

  return function() {
    if ( !oneTime || !hasRun ) {
        value = actuallyEvaluate( expression );
    }
    return value;
}

Now I understand what you mean. Thanks for clarifying. The pseudo code was helpful.

Hi,
I will try to deconstruct all this as there are several aspects that need to be handled differently. I do not want to make this too long of a post, so I will put enough information for everybody to fill the gaps, but it will not be a complete explanation of everything talked here.

A one time binding expression is one that, if used in a $watch then: If at the end of a digest cycle the last value is not undefined then the watcher will get automatically unwatch

Within a single digest cycle, a watched expression can get called multiple times

A $parsed expression, if called multiple times, then the expression should get evaluated regardless of the fact that this is a one-time expression or not

    scope.$watch( 'option()', function() {
      ...
    });

will get called multiple times as the expression option() is not a one-time expression. If the idea is to use the value of the attribute option then it should be
    scope.$watch(attrs.option, function() {
      ...
    });

One-time binding is on bindings, not on expressions.

The issue with the pseudo-code provided is that one-time binding is, in practice, dependent on the scope its being watched on.
So a given one-time binding expression (e.g. ::expression), can be watched on multiple scopes at the same time, and might become stable in some scopes while still running in others (Think of one-time binding in an ng-repeat. Parsed once, watched multiple times)
So $parse can only do its one-time binding job correctly if it knows the $scope its being watched on.
For & to work, the original expression doesn't know what it's being watched on.
But aside from that, & is never meant to be watched. It works as a callback, you can pass it local variables, like a $event, and its great at doing its job.
Why are you watching it? Why not use = instead?

For your use case, I can't think of a reason why = wouldn't cut it.
Maybe you're trying to do something more elaborate? Don't hesitate to expand your example if you believe  = isn't enough :)
Here's your plunkr with = instead of &.

@lgalfaso Thank you for summarizing, but please see the original post/plunkr to see why scope.$watch is insufficient (unless you advocate scope.$parent.$watch, in which case why do we have & bindings).
The person consuming a directive is going to write:
<some-directive some-attr="::thisIsExpensivePleaseOnlyRunMeOnce">...

They have very nicely and declaritively indicated that they only wan't that to happen once (just like in the ngIf case where this does work). But now I, the author of some-directive need to have foresight to know that it is possible that my users may want some-attr to only run once, and I have to write my directive defensively. In fact, I may have many directives that were written pre-1.3 that would need to be re-written if I want my end-users to benefit from a feature added in Angular.
@rodyhaddad I understand the distinction between watchers/expressions, and the issues in my pseudo-code.

& is never meant to be watched

This is news to me, and find it hard to believe. = requires that you give it something assignable, so an expression like calculateFoo() or true is not allowed. Using & is extremely useful for 1-way binding, which is what I want in most of the directives I write. For instance, I am writing a calendar widget at the moment. It makes sense for the date attribute to be 2-way bound, but it does not make sense for something like minDate or maxDate to be 2-way bound since 1. the widget never writes to it, and 2. those can be calculated values.
I want to boil down the problem very simply:

ngIf supports ::
If ngIf had an isolate scope, then :: would break

Do you consider this correct? Are my consumers disallowed from using :: because I happen to have an isolate scope?

@fenduru why not use = for 1-way binding? Expressions like calculateFoo(), true or a + b should work just fine as long as the isolated scope doesn't try to assign to them...

I still don't get it. One-time binding is a concept that applies (as the name suggests) to binding.
& does not set up a binding; it "provides a way to execute an expression in the context of the parent scope".
What you are trying to achieve is add support for indicating that the result of a function is considered stable once it is not undefined (and thusthe function does not need to be called any more), but that is a different thing than binding an parent scope expression to a local scope function (which is what & is does).
Basically, you are proposing a whole new symbol for binding a value to the result of a one-time watched expression executed in the context of the parent scope. Whether this new type of "binding" is common/yseful enough to justify further complicating the DDO is debatable, but in any case I don't think it is anyhow related to &.
--
As already discussed above, there are several way to achieve what you want, which is not idiomatic to Angular, but to your directive. Here are a couple more suggestion (both wth their pros and cons; not necessarily better or worse than what's already been proposed):

Use a = binding which "understands" one-time.
Pros:

Natively understands one-time binding.
Automatically executes the expression for you and re-assigns, so you don't need a $watch.

Cons:

If you want your user (the developer) to be able to bind to functions expressions (which are non-assignable), you need to ensure that you are not trying to assign back. Basically, you are setting up a bi-directional binding, but should only use the one direction (from parent to isolate), or else an error will be thrown. So this approach is more susceptible to accidental errors.

Use a & and (idiomatically to your directive) recognise a leading :: to set up a one-time watch.
E.g.:
var oneTime = attrs.expr.indexOf('::') === 0;
var watchExpr = (oneTime ? '::' : '') + 'expr()';
scope.$watch(watchExpr, ...);
Pros:

Less susceptible to errors / More decralative.

Cons:

Use of leading :: is idiomatic to your directive.
Needs more boilerplate code. (If used extensively, you could wrap it into a helper and keep the overhead minimal.)

Demo of the above two approaches.

@fenduru as @jbdeboer and @gkalpak pointed out, you can still use = if the user expression isn't assignable, as long as your directive doesn't actually assign something to it. That's probably already the case if you were using & anyway.
For minDate and maxDate in a calendar component, I would use =.
That would also allow users to change their min/maxDate on the fly, and have it automatically update in the directive, without any extra code from our part (cool!). Plus one-time binding works as it should.

For a calendar component, I would only use & for events. Something like <my-calendar on-change="executeThis($extraData)" />.
Actually, instead of having a date attribute, I would make my calendar integrate with ngModel, so users would be able to use things like ngChange and ngModelOptions out of the box. Once that's done, my minDate and maxDate would be binded via =, and used as extra validation in the validation pipeline of ngModel.
<my-calendar ng-model="user.birthday" my-min-date="::getBirthOf('Jesus')" my-max-date="todayWillChangeAtMidnight()" ng-model-options="{updateOn: 'blur'}" />

Then your calendar will start having classes like ng-untouched, ng-invalid and ng-dirty. Plus people familiar with ngModel won't have any surprises. Neat.

I think we can close this, as there is broad consensus that this works as intended, and there are a number of ways which this can be done. If you want to reformulate this as a feature request, feel free to open a new issue. Thanks!


chore(http): api error codes as of 2021-10-22

Part of #1171.

Punctuation in the error code docs seems very inconsistent, some end in . and some don't. Is this just copied from discord docs or an issue that we can resolve ourselves?


Get CDC SearchAPI visitors information

By using HTTP Headers

Include information such as IP Address and location  in API search metrics


Version 0.3.5

Features

Simple and easy-to-use gradient regularization technique
Compatible with various optimizers and learning rate schedulers
Supports per-parameter drop rates for fine-grained control
Implements drop rate schedulers for dynamic regularization
Provides an option to apply "full" update drop for further regularization
Utilizes mixed-precision training for improved performance and memory efficiency (CUDA devices only)
Cross-platform compatibility: Works seamlessly on macOS, Windows, and Linux

What's New in Version 0.3.5?

Added support for the Lion optimizer in the ViT experiments
Implemented gradient clipping to prevent gradient explosion and improve training stability
Enhanced data augmentation techniques for better model generalization
Improved error handling and user interruption handling during training
Updated test suite to cover various aspects of DropGrad, including initialization, optimization step, drop rate scheduling, and saving of loss values
Code refactoring and documentation enhancements for better readability and maintainability

Will review this weekend when I have bandwidth. Thanks for the contribution!

Are there any updates or changes for this pull request? Please let me know so I can update my local repository.

Sorry about the delay. I haven't been feeling that great this weekend. I'll try to look over the PR before I go to bed.


" * Executing task" showing up in shell integration

I can't reproduce 🤷♀

We closed this issue because we are unable to reproduce the problem with the steps you describe. Chances are we've already fixed your problem in a recent version of VS Code. If not, please ask us to reopen the issue and provide us with more detail. Our issue reporting guidelines might help you with that.
Happy Coding!


Pasting Rich Text Into Chrome & Firefox on Windows Adds A Space On Either Side

When pasting rich text into Chrome it adds a space on either side of the string (first screenshot). When pasting in any other browser (Safari or Firefox) it behaves fine (second screenshot). It seems that Chrome is using the HTML text and the others are using plain text.
Is there a way to get Chrome to trim the string on paste? Tried using handlePastedText but I'm not sure how to update the state on firing.
Chrome:
Safari:

I can confirm this.

not sure why this would happen, but this code should work to trim the trailing whitespace assuming your change handler is called onChange:
  handlePastedText(text) {
    const {editorState} = this.state;
    const blockMap = ContentState.createFromText(text.trim()).blockMap;
    const newState = Modifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), blockMap);
    this.onChange(EditorState.push(editorState, newState, 'insert-fragment'));
    return true;
  },

@aem Thanks, your code block fixed the issue. Should I leave this issue open as it's a problem with the DraftJS framework and not just my code or just close it?

@maxmatthews i'm not really a code contributor on this project so I can't say for sure, I would leave it open and wait until next week when the primary contributor returns from vacation (#355)

Thanks I'll wait until @hellendag returns.

What is the source application for the paste?

We've seen this issue as well, this time with Chrome on a Windows machine. Will try out the workaround though.

@aem, Thanks, the code works fine.

For those using version 0.9.0+ (per to https://github.com/facebook/draft-js/commit/e64c2c3f2a3654b925b18baff448100cfbbf3738#diff-3e4f7f7129a394d16c3592dd894fd31eL92):
this.state is undefined. It should be:
handlePastedText(text) {
    const {editorState} = this; // this.state is the context
    // ...

<Editor handlePastedText={this.handlePastedText} ... />

@spence it's been a couple of months since I've worked with Draft, so correct me if I'm wrong, but the location of editorState should be whatever the client wants it to be, no? you could keep the editor state in Redux state and then it would look like const {editorState} = this.props;. I'm guessing your specific use just assigns the new editor state in onChange to this.editorState = editorState instead of using setState or a Redux function

@aem Good call. Just started playing with Draft today and had pulled from the example,
this.onChange = (editorState) => this.setState({editorState});
}
render() {
return (

@aem I'm following the Overview page which uses this.setState({editorState}). I'm not doing anything special that I can see.
Since the referenced change (and without binding the handlePastedText call) I can't access the resulting react class object. handlePastedText is called using the Editor as context.
Here's the full example with bind:
class TestEditor extends React.Component {
  constructor(props) {
    super(props);
    const initialContent = ContentState.createFromText(props.inititalText);
    const editorState = EditorState.createWithContent(initialContent);
    this.state = {editorState: editorState};
    this.onChange = (editorState) => this.setState({editorState});
  }
  handlePastedText(text) {
    const {editorState} = this.state;
    const blockMap = ContentState.createFromText(stripNewLines(text)).blockMap;
    const newState = Modifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), blockMap);
    this.onChange(EditorState.push(editorState, newState, 'insert-fragment'));
    return true;
  }
  render() {
    return (
      <Editor editorState={this.state.editorState} onChange={this.onChange}
              handlePastedText={this.handlePastedText.bind(this)} />
    );
  }
}
// ...
<TestEditor inititalText="Test" />

ES6 class members aren't auto-bound like they are in React.createClass, implementing members as arrow functions solves this problem:
class TestEditor extends React.Component {
  constructor(props) {
    super(props);
    const initialContent = ContentState.createFromText(props.inititalText);
    const editorState = EditorState.createWithContent(initialContent);
    this.state = {editorState};
  }

  onChange = (editorState) => this.setState({editorState});

  handlePastedText = (text) => {
    const {editorState} = this.state;
    const blockMap = ContentState.createFromText(stripNewLines(text)).blockMap;
    const newState = Modifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), blockMap);
    this.onChange(EditorState.push(editorState, newState, 'insert-fragment'));
    return true;
  };

  render() {
    return (
      <Editor editorState={this.state.editorState} onChange={this.onChange}
              handlePastedText={this.handlePastedText} />
    );
  }
}

So I'm having the same issue (windows chrome, works fine on mac chrome/ff windows ff), and unfortunately using the custom handlePastedText won't work with html like blah, it will just paste 'blah'.
I've done a little debugging and I'm noticing in the code here:
``
if (!isOldIE && document.implementation && document.implementation.createHTMLDocument) {
    doc = document.implementation.createHTMLDocument('foo');
    !doc.documentElement ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing doc.documentElement') : invariant(false) : void 0;
    doc.documentElement.innerHTML = html;
    root = doc.getElementsByTagName('body')[0];
  }
return root;

root.innerText is different on win/mac chrome.
For mac I see the following:

and for windows I'm seeing this:

I'm not familiar on why we are using createHTMLDocument nor am I really all that familiar with the document.implementation api.  But I thought I'd pass this info along.
Thanks!

Hey folks - I can't repro this on the latest Chrome v68 on a Mac. I assume that it got fixed at some point, but can anyone on this thread still repro this?

Thanks @khawkinson. Still figuring out what the next steps will be for bugs like this one that only repro in certain environments, so just tagging them for now.

This is still an issue for me using Chrome on Mac and PC. I paste rich text and I have stripPastedStyles to false. All of the formatting is great, but I get an empty leading paragraph block and a trailing space. I tried the workaround with handlePastedText, but it doesn't work in my case because I very much need the rich text formatting. Any help would be greatly appreciated!

Only the part cleans the pasted HTML:
/**
 * When pasting text in some cases (e.g. from Word or another editor instance on Windows),
 * an empty space and/or empty lines are inserted, because DraftJS doesn't handle newlines correctly in this instance.
 * This workaround removes newlines before/after the main content to fix the behavior.
 */

const handleMicrosoftNewlines = (html: string): string => {
    const microsoftCopyPasteStartFragment = /^<html[^]*<!--StartFragment-->[^]*?</;
    const microsoftCopyPasteEndFragment = />[^<]*?<!--EndFragment-->[^]*$/;

    const startFragment = microsoftCopyPasteStartFragment.exec(html);
    const cleanedStartFragment = startFragment ? startFragment[0].replace(/>\s+</g, '><') : '';

    const endFragment = microsoftCopyPasteEndFragment.exec(html);
    const cleanedEndFragment = endFragment ? endFragment[0].replace(/>\s+</g, '><') : '';

    return html
        .replace(microsoftCopyPasteStartFragment, cleanedStartFragment)
        .replace(microsoftCopyPasteEndFragment, cleanedEndFragment);
};

Hey @crispiestsquid, our team handled this issue by some ugly replaces within the handlePastedText Handler. Maybe it handles your Mac issue too?
Only the part cleans the pasted HTML:
/**
 * When pasting text in some cases (e.g. from Word or another editor instance on Windows),
 * an empty space and/or empty lines are inserted, because DraftJS doesn't handle newlines correctly in this instance.
 * This workaround removes newlines before/after the main content to fix the behavior.
 */

const handleMicrosoftNewlines = (html: string): string => {
    const microsoftCopyPasteStartFragment = /^<html[^]*<!--StartFragment-->[^]*?</;
    const microsoftCopyPasteEndFragment = />[^<]*?<!--EndFragment-->[^]*$/;

    const startFragment = microsoftCopyPasteStartFragment.exec(html);
    const cleanedStartFragment = startFragment ? startFragment[0].replace(/>\s+</g, '><') : '';

    const endFragment = microsoftCopyPasteEndFragment.exec(html);
    const cleanedEndFragment = endFragment ? endFragment[0].replace(/>\s+</g, '><') : '';

    return html
        .replace(microsoftCopyPasteStartFragment, cleanedStartFragment)
        .replace(microsoftCopyPasteEndFragment, cleanedEndFragment);
};

@martinkutter Thanks for the response! So I am trying now to figure out how I should get this new clean HTML into the editor. The method that I am trying is inserting the HTML itself as the text, and not displaying the content as rich text like I need. What method should I be using to get the clean HTML into the editor?

@martinkutter Never mind. I actually discovered the solution on my own. I did use your function, so thank you very much again! Leaving my HandlePasted.js file for reference

const HandlePasted = (state, onChange) => ({
    handlePastedText(text, html) {
        const { editorState } = state;
        const blocksFromHTML = convertFromHTML(handleMicrosoftNewlines(html));
        const newState = ContentState.createFromBlockArray(
            blocksFromHTML.contentBlocks,
            blocksFromHTML.entityMap,
        );
        const finalState = Modifier.replaceWithFragment(editorState.getCurrentContent(), editorState.getSelection(), newState.getBlockMap());
        onChange(EditorState.push(editorState, finalState, 'insert-fragment'));
        return 'handled';
    }
});

const handleMicrosoftNewlines = html => {
    const microsoftCopyPasteStartFragment = /^<html[^]*<!--StartFragment-->[^]*?</;
    const microsoftCopyPasteEndFragment = />[^<]*?<!--EndFragment-->[^]*$/;

    const startFragment = microsoftCopyPasteStartFragment.exec(html);
    const cleanedStartFragment = startFragment ? startFragment[0].replace(/>\s+</g, '><') : '';

    const endFragment = microsoftCopyPasteEndFragment.exec(html);
    const cleanedEndFragment = endFragment ? endFragment[0].replace(/>\s+</g, '><') : '';

    return html
        .replace(microsoftCopyPasteStartFragment, cleanedStartFragment)
        .replace(microsoftCopyPasteEndFragment, cleanedEndFragment);
};

export default HandlePasted;


python311Packages.numba: enable

python310Packages.numba: unstable-2023-08-11 -> 0.58.0
python310Packages.numba: remove unused local patch
Python 3.11 support was merged in https://github.com/numba/numba/pull/8822
Description of changes
Bump maximum supported Python version from 3.10 to 3.11.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
23.11 Release Notes (or backporting 23.05 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

[x] Fits CONTRIBUTING.md.

Can we update to 0.58?

Can we update to 0.58?

Sure, pushed.

Thanks, I think we need to remove postPatch.

postPatch and related comments removed.

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

22 packages marked as broken and skipped:

piper-train
piper-train.dist
python310Packages.graspologic
python310Packages.graspologic.dist
python310Packages.qiskit
python310Packages.qiskit-machine-learning
python310Packages.qiskit-machine-learning.dist
python310Packages.qiskit.dist
python310Packages.scikit-tda
python310Packages.scikit-tda.dist
python310Packages.umap-learn
python310Packages.umap-learn.dist
python311Packages.graspologic
python311Packages.graspologic.dist
python311Packages.qiskit
python311Packages.qiskit-machine-learning
python311Packages.qiskit-machine-learning.dist
python311Packages.qiskit.dist
python311Packages.scikit-tda
python311Packages.scikit-tda.dist
python311Packages.umap-learn
python311Packages.umap-learn.dist

40 packages failed to build:

python310Packages.awkward
python310Packages.awkward.dist
python310Packages.coffea
python310Packages.coffea.dist
python310Packages.dask-awkward
python310Packages.dask-awkward.dist
python310Packages.mplhep
python310Packages.mplhep.dist
python310Packages.pynndescent
python310Packages.pynndescent.dist
python310Packages.shap
python310Packages.shap.dist
python310Packages.trackpy
python310Packages.trackpy.dist
python310Packages.uproot
python310Packages.uproot.dist
python310Packages.vector
python310Packages.vector.dist
python311Packages.awkward
python311Packages.awkward.dist
python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python311Packages.gumath
python311Packages.gumath.dist
python311Packages.mplhep
python311Packages.mplhep.dist
python311Packages.pynndescent
python311Packages.pynndescent.dist
python311Packages.pyscf
python311Packages.pyscf.dist
python311Packages.shap
python311Packages.shap.dist
python311Packages.trackpy
python311Packages.trackpy.dist
python311Packages.uproot
python311Packages.uproot.dist
python311Packages.vector
python311Packages.vector.dist

145 packages built:

openai-whisper (python310Packages.openai-whisper)
openai-whisper.dist (python310Packages.openai-whisper.dist)
pentestgpt
pentestgpt.dist
pianotrans
pianotrans.dist
pitivi
python310Packages.aeppl
python310Packages.aeppl.dist
python310Packages.aesara
python310Packages.aesara.dist
python310Packages.arviz
python310Packages.arviz.dist
python310Packages.bambi
python310Packages.bambi.dist
python310Packages.clifford
python310Packages.clifford.dist
python310Packages.cppe
python310Packages.cppe.dist
python310Packages.dask-glm
python310Packages.dask-glm.dist
python310Packages.dask-ml
python310Packages.dask-ml.dist
python310Packages.datashader
python310Packages.datashader.dist
python310Packages.ffcv
python310Packages.ffcv.dist
python310Packages.galois
python310Packages.galois.dist
python310Packages.gumath
python310Packages.gumath.dist
python310Packages.hyppo
python310Packages.hyppo.dist
python310Packages.langchain
python310Packages.langchain.dist
python310Packages.librosa
python310Packages.librosa.dist
python310Packages.numba
python310Packages.numba-scipy
python310Packages.numba-scipy.dist
python310Packages.numba.dist
python310Packages.numbaWithCuda
python310Packages.numbaWithCuda.dist
python310Packages.phik
python310Packages.phik.dist
python310Packages.piano-transcription-inference
python310Packages.piano-transcription-inference.dist
python310Packages.pygmo
python310Packages.pymatting
python310Packages.pymatting.dist
python310Packages.pymc
python310Packages.pymc.dist
python310Packages.pymoo
python310Packages.pymoo.dist
python310Packages.pyscf
python310Packages.pyscf.dist
python310Packages.pytensor
python310Packages.pytensor.dist
python310Packages.quaternion
python310Packages.quaternion.dist
python310Packages.resampy
python310Packages.resampy.dist
python310Packages.sparse
python310Packages.sparse.dist
python310Packages.stumpy
python310Packages.stumpy.dist
python310Packages.stytra
python310Packages.stytra.dist
python310Packages.timezonefinder
python310Packages.timezonefinder.dist
python310Packages.torchlibrosa
python310Packages.torchlibrosa.dist
python310Packages.tsfresh
python310Packages.tsfresh.dist
python310Packages.xarray-einstats
python310Packages.xarray-einstats.dist
python311Packages.aeppl
python311Packages.aeppl.dist
python311Packages.aesara
python311Packages.aesara.dist
python311Packages.arviz
python311Packages.arviz.dist
python311Packages.bambi
python311Packages.bambi.dist
python311Packages.clifford
python311Packages.clifford.dist
python311Packages.cppe
python311Packages.cppe.dist
python311Packages.dask-glm
python311Packages.dask-glm.dist
python311Packages.dask-ml
python311Packages.dask-ml.dist
python311Packages.datashader
python311Packages.datashader.dist
python311Packages.ffcv
python311Packages.ffcv.dist
python311Packages.galois
python311Packages.galois.dist
python311Packages.hyppo
python311Packages.hyppo.dist
python311Packages.langchain
python311Packages.langchain.dist
python311Packages.librosa
python311Packages.librosa.dist
python311Packages.numba
python311Packages.numba-scipy
python311Packages.numba-scipy.dist
python311Packages.numba.dist
python311Packages.numbaWithCuda
python311Packages.numbaWithCuda.dist
python311Packages.openai-whisper
python311Packages.openai-whisper.dist
python311Packages.phik
python311Packages.phik.dist
python311Packages.piano-transcription-inference
python311Packages.piano-transcription-inference.dist
python311Packages.pygmo
python311Packages.pymatting
python311Packages.pymatting.dist
python311Packages.pymc
python311Packages.pymc.dist
python311Packages.pymoo
python311Packages.pymoo.dist
python311Packages.pytensor
python311Packages.pytensor.dist
python311Packages.quaternion
python311Packages.quaternion.dist
python311Packages.resampy
python311Packages.resampy.dist
python311Packages.sparse
python311Packages.sparse.dist
python311Packages.stumpy
python311Packages.stumpy.dist
python311Packages.stytra
python311Packages.stytra.dist
python311Packages.timezonefinder
python311Packages.timezonefinder.dist
python311Packages.torchlibrosa
python311Packages.torchlibrosa.dist
python311Packages.tsfresh
python311Packages.tsfresh.dist
python311Packages.xarray-einstats
python311Packages.xarray-einstats.dist
tts
tts.dist

Looks like we need #256140 to update awkward since it doesn't want to build against the new numba.

There are other problems as well, so I've simply dropped the 0.58 update for now.

Thanks for trying the update.
I agree that we should postpone it.


Event Request - page 900 "Assembly Order" OnBeforeAsmToOrderWhseShptLine

🕮 Describe the request
HI,
On page 900 "Assembly Order", can we add a new Event Request called OnBeforeAsmToOrderWhseShptLine at the beginning of action "Asm.-to-Order Whse. Shpt. Line".
Additional context
            action("Asm.-to-Order Whse. Shpt. Line")
            {
                ApplicationArea = Warehouse;
                Caption = 'Asm.-to-Order Whse. Shpt. Line';
                Enabled = NOT IsAsmToOrderEditable;
                Image = ShipmentLines;
                ToolTip = 'View the list of warehouse shipment lines that exist for sales orders that are linked to this assembly order as assemble-to-order links. ';

                trigger OnAction()
                var
                    ATOLink: Record "Assemble-to-Order Link";
                    WhseShptLine: Record "Warehouse Shipment Line";
                    // NEW +
                    IsHandled: Boolean;
                // NEW -
                begin
                    // NEW +
                    IsHandled := false;
                    OnBeforeAsmToOrderWhseShptLine(Rec, IsHandled);
                    if IsHandled then
                        exit;
                    // NEW -
                    Rec.TestField("Assemble to Order", true);
                    ATOLink.Get(Rec."Document Type", Rec."No.");
                    WhseShptLine.SetCurrentKey("Source Type", "Source Subtype", "Source No.", "Source Line No.", "Assemble to Order");
                    WhseShptLine.SetRange("Source Type", DATABASE::"Sales Line");
                    WhseShptLine.SetRange("Source Subtype", ATOLink."Document Type");
                    WhseShptLine.SetRange("Source No.", ATOLink."Document No.");
                    WhseShptLine.SetRange("Source Line No.", ATOLink."Document Line No.");
                    WhseShptLine.SetRange("Assemble to Order", true);
                    PAGE.RunModal(PAGE::"Asm.-to-Order Whse. Shpt. Line", WhseShptLine);
                end;
            }

            // NEW +
            [IntegrationEvent(false, false)]
            local procedure OnBeforeAsmToOrderWhseShptLine(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)
            begin
            end;
            // NEW -

What is the scenario that you want to cover? If you want to add your custom logic to this action, isn't it easier to add your custom action with page ext?

@tomasevics With all my recent events we are making it so that you can do Assemble to Order on Transfer Orders in our extension.  If you are on an Assembly Order that is ATO for a Transfer order and click that action it is filtering on Source Type Sales, and will not show those orders.  We want to be able to override this so that if the user clicks the action we can also override and switch to Source Type Transfer Line if the ATO is from a Transfer Order.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11755.


use serial print instead of macro in azure c sdk to solve mac exception

@SummerSun,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Remove referer header when looking up words - #91

The changes of this PR is discussed in #91.

Thank you!


Display Assumptions in BlawxBot Test Data

Right now if there are assumptions in the test, they don't show up in the interface, and I don't think they are reported in the ontology endpoint.

This issue is not important with regard to BlawxBot, but remains with regard to Scenario Editor, so renaming.


[Chat] Notification ios

Specify the sample to which the issue belongs (use [x]):
[x] Chat sample
[] P2P Call sample
[] Conference Call sample
Platform (use [x])
[x] Android
[x] iOS
[] macOS
[] Windows
[] Web
Describe the bug:
I uncheck  "ENABLE AUTOMATIC NOTIFICATIONS FOR OFFLINE USERS IN CHAT" from ConnectyCube Admin Panel
Because when my app onpause i don't want to logout socket. And then I use send push notifications of connectycube_sdk  for chat
But ios not show notification when my app in background. Then i subscribe APN of firebase_messaging . And notification show in ios but I Click notification ios not firing event. Please help me resole it? Thanks

Because when my app onpause i don't want to logout socket.

for this case, you can use our new feature Active/Inactive, in this case you still logged in to the chat bar server will send chat push notifications if your user is inactive.

but I Click notification ios not firing event.

sorry, but this issue is not related to the Connectycube SDK or API, follow the documentation for used plugin for getting required functionality

Ok, I will try it. thank you so much

How to remove "YOU HAVE 3 NEW MESSAGES." notification And where i can receive event click notification open app ?

How to remove "YOU HAVE 3 NEW MESSAGES." notification

you can configure the template of the chat push notification in the Connectycube admin panel

where i can receive event click notification open app ?

follow the documentation for the used plugin

follow the documentation for the used plugin
Can you share me link document? thanks. I create the same as sample but i can't receive event click notification open app in ios platform.


test: Fix tty test to handle partial log

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

LGTM assuming happy tests

LGTM

Closing in favor of #1806


Can we standardize and optimize the tools and libraries that are used in teaching Python at NICAR?

Based on suggestion at PyCAR 15 feedback thread
@mikejcorey writes:

I sat in on at least one Python session where at least the first half-hour was spent trying to get everyone's IPython Notebook up and running. Partly this was because the instructor was trying to accommodate people using their own laptops, but people taking the class had to learn how IPython Notebook acts before they could start learning Python. IPython Notebook is a great tool, but that doesn't strike me as the most efficient or necessary use of time.
There are other, lighter-weight options, like using the shell in the command line directly, IPython without the notebook (which would give learners more feedback than Python by itself on the command line), or using Sublime Text's built-in Python interpreter.
I don't want to be needlessly restrictive in how people teach, but it would be great if students could sit down in any of those classes and be able to use a familiar environment in any of them once they've taken any of the others.

@rdmurphy writes:

Agreed. Even in PyCAR we clash a bit – the first lesson uses urllib.urlretrieve, then the third lesson uses requests. I was kinda surprised no one in our course asked why it suddenly changed.
Some of the Python courses used anaconda, others didn't. I feel like if we could standardize on a suite of tools (BeautifulSoup vs. PyQuery) that all the courses would build from, we could ensure consistency and that "drop in anywhere" ability.

@aboutaaron writes:

Sublime Text 3 saved our asses. Many folks found IPython confusing and while it was great for data types, it was a bit more complex down the road (to us). We ended up using the Build tool in Sublime Text to print the script output directly in the editor. This was really successful when we worked with and manipulated CSVs.
....
Oh, and it looks like there were several pycar folders on the desktop so we ran into some issues were folks were in the wrong directories. For example, one computer had around four pycar directories and it took us a minute to figure out exactly which one was which.
I think if we fork the project, we'll definitely need to scope the projects to their days and instructors unless it's entirely the same class being taught.

The setup issue is not trivial. Even in the reserved classes, people understandably insisted on using their own machines. But as we all know, setting them up can murder the momentum of the class. How can we get people, especially new learners, bootstrapped ahead of time? Should teachers be required to post setup walkthroughs 1 week ahead?

I support the idea of posting walkthroughs, not only because people can get bootstrapped, but also because those who do use the provided machines are going to need to do some amount of set up on their own computers at home.

I do think you can set up some level of expectation for being pre-setup – I noted in my writeup for the grunt/node course that all attendees were expected to have some experience with the shell, and it went fine. For an advanced course, going in with the expectation they have already installed Python and can follow install instructions seems reasonable.
I think it'd be good for us to prep a write up on setup either way for PyCAR. That way people can go home and get to work (instead of leaving them to their own devices/Googling).

@rdmurphy: Regarding...

Agreed. Even in PyCAR we clash a bit – the first lesson uses urllib.urlretrieve, then the third lesson
uses requests. I was kinda surprised no one in our course asked why it suddenly changed.

My thought process was because this was the first lesson and we were focusing on numbers and strings it made sense to use modules provided by the standard library, hence urllib...
With additional structure we can become consistent, but there's a balance in not overwhelming...

Just want to bring over this email from NICAR-L – I scrubbed the name:

I was about to install virtualenv directly (as in, not in VMWare from the techrake-bootstrap event) and got this warning:

user$ pip install virtualenv

WARNING: using virtualenv with Anaconda is untested and not recommended.
We suggest using the conda command to create environments instead.
For more information about creating conda environments, please see:
http://docs.continuum.io/conda/examples/create.html

Proceed (y/n)?

>Here’s my major concern. I am trying not to clutter up the hard drive on my MacBook Pro because I don’t want to crash it.

>A couple of you noted the VM installation on top of Mac’s native Python and said it was unnecessary. I also found three Python installations on my machine BEFORE NICAR15.

>I installed Anaconda as part of the Python 1-2-3 workshops.

>I’m not sure at this point what to keep, what to jettison, whether the VM environment is redundant or a good precaution.

>Opinions welcome. We can take it off-list to save others the hassle. Thanks again to all who are offering help!

I feel like this is the sort of confusion we want to avoid. Beginners are receiving conflicting information from multiple courses and being left asking, "what's actually the right way to do this?"

As we continue these discussions, I think it would be good to re-evaluate the use of things like Anaconda in an introductory teaching environment, especially when we are having people do initial setups with it on their computers.

Many tutorials/libraries/guides assume you're doing things the "normal" `pip/virtualenv/virtualenvwrapper` way – if people potentially only get taught `conda` I worry we're leaving them in a bind.

I tend to lean toward picking a version of Python - ie 2.7 - and starting out with nothing but a clean install. Here's why:
We are skipping steps
Moving from urllib in Project 1 to Requests in Project 3 makes sense if we are teaching the students the difference between modules already in the standard library versus ones you have to import. There is the potential for frustration when students go home and realize they do not have Requests installed because we do not cover how to install a third party library. We don't teach pip or easy_install and we do not teach them what to do when pip is not available. This can be a big barrier for a new programmer to overcome. I remember being very frustrated when I had to spend time searching the Internet to overcome these issues when I came home from my first Python class (though the argument could be made that in itself was a good exercise).
We are making decisions for the students
Using a specific distribution of Python is largely a matter of personal preference - just like how we all have different environments we develop in. We should not be extending those preferences onto the students, in many ways those are decisions they should be making themselves. The only preferences we should be imposing on our students is compliance with PEP 8 style (I am actually pretty bad at this myself).
It can be confusing
Even the instructors spend some time adapting to the new environment we are presented with when we try to code on a NICAR-provided computer. We are able to adapt quickly because we are more experienced and can figure out things faster. Students do not have that luxury.
We can't simulate all the variables when it comes to coding at home
Some students did bring their own laptops, but many did not. We have no idea what they will be facing when on their own at home. We don't know what operating systems or what permissions they will have. Staying with a clean, basic install of Python will be the best we can do to simulate the student's first time coding on their own.
We probably should not be teaching shortcuts
Initially I had supported the idea of getting a standard text editor and figuring out how to configure it ahead of time for the entire class. Now I wonder if that is a good idea. We should have one text editor, but students should have to deal with the frustration of hitting spacebar four times for a while. We do lose time in class constantly playing the game of "find the random tab" constantly, but imagine the time loss and frustration a student will experience when they try to code on their own for the first time.

Re: anaconda, I got several questions the last couple days about how to deal with it. I responded to one of the listservs with this;

This may seem odd since I used Anaconda/conda to teach a class the other day, but if I were you, I'd probably uninstall it and use one of the regular Python windows installers instead. Anaconda can be good for teaching, because it includes most of the packages we'd commonly use. But it's a huge distro, and it's really made for data scientists that need all of that. I've used it so we wouldn't have to go down the rabbit hole of virtualenvs and pip when trying to teach the basics. The shortcoming of that approach, I'm realizing, is that it glosses over this key step in the process that then leaves people more confused on Monday when they try to do it at home.

Sounds like many of you are having a similar reaction this week.

We've made an attempt to centralize planning of different coding avenues (Python, R, Ruby, JS) by having a couple of volunteers in each help organize "tracks" that range from novice to more intermediate/advanced. One of the central goals here by doing this is to help keep lines of communication open between teachers ahead of the conference while everyone plans there classes — this will also mean (hopefully) that teachers can debate the merits of one library over another for similar tasks and ultimately find a compromise as far as which one to teach.
As far as the right way to do this at home or work, we use Anaconda for conferences primarily because it simplifies the process of having lab computers that are all things to all class attendees — Python and beyond. You've seen the software folders on those machines.
We've discussed going the attendees-bring-their-own-computers route, but there's a huge risk when you're dealing with an extremely limited timeframe in which to teach. Having classes that grind to a halt and go nowhere because of installation problems or because conference-goers didn't install the right thing ahead of time can really pose a problem and undermine everyone's experience.
I guess I'll close by saying an Anaconda installation is never what I'll recommend to someone at home; I'm going to tell them to do a clean Python install (or Homebrew's verson, on a Mac), along with virtualenv and virtualenvwrapper, plus the text editor they decide they like the best.
We're getting together a couple hours of open lab space in Denver where people can seek in-person help on issues like this. More on that to come.