'mmseg' is not installed.

Hi, when I try mim list, the following message is showed:
Package         Version    Source
--------------  ---------  ----------------------------------------------
mmcls           0.14.0     https://github.com/open-mmlab/mmclassification
mmcv            1.3.10     https://github.com/open-mmlab/mmcv
mmcv-full       1.3.9      https://github.com/open-mmlab/mmcv
mmsegmentation  0.16.0     http://github.com/open-mmlab/mmsegmentation

We can see that mmsegmentation is installed. When I use mim train mmseg xxx.config,  mim will remind me to install mmseg as The codebase mmseg is not installed, do you want to install the latest release? . However, there is a 'mmseg' package in https://pypi.org/project/mmseg/, which is not mmsegmentation actually. So errors occured as someone describe here: https://github.com/open-mmlab/mim/issues/55.
BTW, I notice that even though PKG2MODULE and MODULE2PKG are setting in mim/mim/utils/default.py, there still are logical bugs somewhere.

Sorry for the late reply. In fact, you should use mim train mmsegmentation xxx.config.

@zhouzaida I had the same problem. The mim-example also use mim train mmseg xxx.config https://github.com/open-mmlab/mim-example/tree/master/nuimages_seg. When I use mim train mmsegmentation xxx.config, it shows ValueError: Can't determine a unique package given abbreviation mmsegmentation.

@zhouzaida I had the same problem. The mim-example also uses mim train mmseg xxx.config. When I use mim train mmsegmentation xxx.config, it shows ValueError: Can't determine a unique package given abbreviation mmsegmentation.

hi @Kinpzz , thanks for your feedback. We are resolving the bug and you can degrade your mim version to temporarily solve the problem


Test title field required for default language on push notification

Short description

Test behaviour for the required title field for the default language should be added.
Proposed changes

Add test

Side effects

None

Resolved issues

Fixes: #2751

Pull Request Review Guidelines

@lunars97 @JoeyStk
Problems/conflict with the existing test must be now solved. I have changed test_push_notification_form_view.py to test the above mentioned case of two regions with different root languages. Sorry, those were too large or complicated to suggest as comment 😿 Feel free to reject or change.

@lunars97 @JoeyStk Problems/conflict with the existing test must be now solved. I have changed test_push_notification_form_view.py to test the above mentioned case of two regions with different root languages. Sorry, those were too large or complicated to suggest as comment 😿 Feel free to reject or change.

Thank you a lot @MizukiTemma for helping out. Now I see what I should have done :heart:

@lunars97 @JoeyStk Problems/conflict with the existing test must be now solved. I have changed test_push_notification_form_view.py to test the above mentioned case of two regions with different root languages. Sorry, those were too large or complicated to suggest as comment 😿 Feel free to reject or change.

Thank you a lot @MizukiTemma for helping out. Now I see what I should have done ❤

If you think my proposal is fine, could you squash the commits? I'll approve then this PR :)


[Speed Dial] tooltip moves while scrolling background

[X] This is not a v0.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔
Expect to not see abnormal behavior when Speed Dial Action Tooltips  are present
Current Behavior 😯
When Speed Dial is open, the SpeedDialAction's Tooltips moves when user scrolls the window.

Steps to Reproduce 🕹
Scroll  window while Speed Dial Action Tooltips are present.
Your Environment 🌎

Tech
Version

Material-UI/core
v3.6.2

Material-UI/lab
v3.0.0-alpha.25

React
v16.5.2

I'm getting this issue on v. 3.6.1 still. An solution to this?


enhance: Better handling of errors

Motivation

GQL can also have HTTP errors like REST
Solution

Steal logic from REST lib

Codecov Report

Merging #2168 (c5eab5b) into master (9c25e36) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2168   +/-   ##
=======================================
  Coverage   98.49%   98.49%
=======================================
  Files         103      103
  Lines        1933     1933
  Branches      407      407
=======================================
  Hits         1904     1904
  Misses         13       13
  Partials       16       16

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[4.0] [iOS] Pluggable application delegate

Extension for new iOS plugin system implemented in https://github.com/godotengine/godot/pull/41230 which allows to extend default UIAppDelegate with specific plugin functionality without swizzling.

Push notification example

Plugin repo: https://github.com/naithar/godot_ios_plugin_apns
Usage:
func _ready():
	print("start")
	if Engine.has_singleton("APNS"):
		print("connecting apns")
		apns = Engine.get_singleton("APNS")
		apns.connect("device_address_changed", self, "_on_device_address")
		apns.register_push_notifications()

func _on_device_address(device_address):
	print(device_address)

Result:

Thanks!


Introduce separate Akka dispatchers for CouchDB and Kafka Clients

Rest of system continues to use the default system dispatcher
Kafka and CouchDB clients each get their own dispatchers

This should prevent all of the akka based stuff from competing constantly for threads
Kafka and Couch can be tuned now based on individual needs

Dispatchers are defined in common reference.conf, so config can be overridden by dependents

Refs #2954

PG2 2348 🚀

I took the liberty to rebase this, you'll need to override your local branch.

@markusthoemmes Changed to leave fork-join-executor configs at the Akka default, until we can choose better default tuning for the separated dispatchers.

@bwmcadams I'll close this one for now, please reopen once you get to it.


fix: Property filter duplicates property name in suggestion when the label is empty

Description

When the label of a suggested value in the property filter is empty, it uses the value instead. However, the value contains the property name, so the property name is duplicated. With this change, an empty value of an option is correctly displayed as empty.
Related links, issue #, if available: AWSUI-19878
How has this been tested?

Manual testing in a dev page

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This fixes https://github.com/cloudscape-design/components/issues/523


Token refresh logs out the user in nextjs

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Once a token needs to be refreshed in nextjs the client will start to throw Invalid Refresh Token errors and will log out the user.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

git clone https://github.com/imownbey/supabase-auth-repro
supabase start
go to http://localhost:3000/
register a user
log in
wait 60 seconds and refresh the page
wait another 60 seconds and refresh the page again

You will now be logged out
Expected behavior
Tokens should refresh and not log a user out everytime
Screenshots
Sessions DB before initial refresh (after log in, I have logged in with 2 users is why there are two rows)

After first refresh:

Refreshing after that will not change the session table and user is logged out.
Debug log from refresh which logs the user out:
debugger_output.txt
System information

OS: [e.g. macOS, Windows]
Browser (if applies) [e.g. chrome, safari]
Version of supabase-js: latest
Version of Node.js: v20.5.1

Additional context
I am also seeing this in prod and local in my production app, it is a new behavior after switching to ssr from auth-helpers/next

To try to make it a bit easier to understand whats going on I changed the middleware to be:
  if (!request.nextUrl.pathname.startsWith("/_next") && !request.nextUrl.pathname.startsWith("/favicon")) {
    console.log({path: request.nextUrl.pathname})
    const { supabase, response } = createClient(request)

    // Refresh session if expired - required for Server Components
    // https://supabase.com/docs/guides/auth/auth-helpers/nextjs#managing-session-with-middleware
    await supabase.auth.getSession()

    return response
  }

so it doesnt try to refresh for every request just the main one.
Here are the logs from the first refresh (which generated 3 new refresh tokens in the DB):
first-refresh.txt
and the second refresh (where the user is logged out):
second-refresh.txt

Ok I am 99% sure that the cookie set middleware client code just like does not work.

Ok I figured out the bug, the middleware uses assigning as if javascript had pointers or something. Instead it needs to do something like this:
export const createClient = (request: NextRequest) => {
  // Create an unmodified response
  const response = {ref: NextResponse.next({
    request: {
      headers: request.headers,
    },
  })}

  const supabase = createServerClient(
    process.env.NEXT_PUBLIC_SUPABASE_URL!,
    process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
    {
      cookies: {
        get(name: string) {
          return request.cookies.get(name)?.value
        },
        set(name: string, value: string, options: CookieOptions) {
          console.log({name, setValue: decodeURI(value)})
          // If the cookie is updated, update the cookies for the request and response
          request.cookies.set({
            name,
            value,
            ...options,
          })
          response.ref = NextResponse.next({
            request: {
              headers: request.headers,
            },
          })
          response.ref.cookies.set({
            name,
            value,
            ...options,
          })
        },
        remove(name: string, options: CookieOptions) {
          // If the cookie is removed, update the cookies for the request and response
          request.cookies.set({
            name,
            value: '',
            ...options,
          })
          response.ref = NextResponse.next({
            request: {
              headers: request.headers,
            },
          })
          response.ref.cookies.set({
            name,
            value: '',
            ...options,
          })
        },
      },
      auth: {
        debug: true
      }
    }
  )

  return { supabase, response }
}

Ok I am 99% sure that the cookie set middleware client code just does not work.

It's worked for me [https://github.com/supabase/supabase/issues/18981]

Ah yeah sorry, I mean the middleware code described in the docs. Seems like you wrote your own

@imownbey what exactly was the fix?
This is how my middleware.ts file looks like (same as yours, only without the .ref thingy bc that gives me errors) and I still get the error:
import { createServerClient, type CookieOptions } from '@supabase/ssr';
import { type NextRequest, NextResponse } from 'next/server';

export const createClient = (request: NextRequest) => {
	// Create an unmodified response
	let response = NextResponse.next({
		request: {
			headers: request.headers,
		},
	});

	const supabase = createServerClient(
		process.env.NEXT_PUBLIC_SUPABASE_URL!,
		process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
		{
			cookies: {
				get(name: string) {
					return request.cookies.get(name)?.value;
				},
				set(name: string, value: string, options: CookieOptions) {
					// If the cookie is updated, update the cookies for the request and response
					request.cookies.set({
						name,
						value,
						...options,
					});
					response = NextResponse.next({
						request: {
							headers: request.headers,
						},
					});
					response.cookies.set({
						name,
						value,
						...options,
					});
				},
				remove(name: string, options: CookieOptions) {
					// If the cookie is removed, update the cookies for the request and response
					request.cookies.set({
						name,
						value: '',
						...options,
					});
					response = NextResponse.next({
						request: {
							headers: request.headers,
						},
					});
					response.cookies.set({
						name,
						value: '',
						...options,
					});
				},
			},
			auth: {
				autoRefreshToken: true,
				// debug: true,
			},
		},
	);

	return { supabase, response };
};
´´´

Thank you for investigating this.
I stumbled on your Issue, because I have a similar problem. I get logged out occasionally on using the supabase.auth.refreshSession() function. I use that, to detect if a user is deleted, on page load.
Using Next 14, with server components and custom middleware.
Not sure if it's related to your find though...

I spent a few hours debugging this and tracked it down to having already been fixed in #760. What was happening (in my case at least) is the server-set cookie would be chunked into 3 cookies, whereas the browser-set cookie would only require 2 cookie chunks. The browser would only set those 2 chunks with the new cookie data, and then attempt to combine those chunks with the third one leftover from the server, resulting in an invalid session and the cookies being all cleared.
Unfortunately, it seems to be taking a little longer than usual for Supabase to release an update here, and this is causing a major headache for us.

We've identified this as a symptom of a few issues. This is what we're doing about it: https://github.com/orgs/supabase/discussions/27037
Linking the PR for reference: https://github.com/supabase/ssr/pull/1

Unfortunately, it seems to be taking a little longer than usual for Supabase to release an update here, and this is causing a major headache for us.

I'm very sorry about taking so long, but we were basically 100% focused on this for about a month. We did not want to release any more partial fixes and then have to do another cycle of debugging to understand what's going on.

@hf thank you for the clarification and I'm glad this is being worked on! The main thing causing confusion and frustration from my end was the lack of communication on what was happening, so this public explanation is very welcome :)

I ran into a variant of this bug, but not sure if it's the same. However, I'm pretty sure the middleware code in the doc for set() doesn't work when the cookie is chunked. The middleware code in question from the doc is:
      set(name: string, value: string, options: CookieOptions) {
          request.cookies.set({
            name,
            value,
            ...options,
          })
          response = NextResponse.next({
            request: {
              headers: request.headers,
            },
          })
          response.cookies.set({
            name,
            value,
            ...options,
          })
        },

The symptom I see is that my cookie is split into two chunks. The chunks are set individually in this callback. However, because the call to NextResponse.next() replaces response, the first chunk that was set is now lost. In the end, the only chunk that is sent to the client is the last chunk. The cookie is now broken, with a stale first chunk, which includes the old expires_at timestamp. In subsequent trips, the user is logged out because of that. When I commented out that NextResponse.next() line, it works correctly.


[bug] fix the bug that Router can not become Leader in 3s

By very small chance, a Router does not become Leader in 3s.
This is caused by a dispatcher issue that it could advance time when the single router is not actually sleeping.

This issue is fixed by using virtual time UART #5


partial search of text fields

How do I do a 'like' search on a string field.
Something like select * from users where name like '%mxse%'
On command line, the following works   db.users.find("name" : /mxse/ )
But when I try this on web front-end, it does not fetch any records

It works just fine :)


Add API docs (at least for DataGrid)

As far as I can see there is no API documentation for ipydatagrid, and in particular no easy web-accessible way to discover the available options for DataGrid.
Astropy is incorporating ipydatagrid as the default way of providing a rich display of a table (https://github.com/astropy/astropy/pull/17165), with a pass-through kwargs to allow customization of the DataGrid object. It would be very nice to help our users with a link to documentation on the available keyword arguments.

Agreed!


Avoid making real requests in Demo

In the demo, each time I click on a runtime/mission I have a failing POST request made to "http://<IP_ADDRESS>:8001/undefinedapi/v1/stack-analyses"
Demo is not supposed to make any real request.
cc @invincibleJai

@ia3andy are you still seeing it? i tried both launcher and osio flow in standalone couldn't capture.

@invincibleJai Not seeing it anymore, weird.. did you change something in the dep editor?

yes i observed this issue yesterday, so put the check in dep-checker component to load dep-editor component only if the flow is osio and feature flag is enabled for it
https://github.com/fabric8-launcher/ngx-launcher/pull/340

@invincibleJai awesome closing then :)


SPI fast error

dear Ed
i made a simple version without a screen and i got this error message, can you help?

when i connect the speakers i got only the FAST SPI:

this is the connections :

@drunagr connect XRST pin to EN pin on esp8266 directly instead of 8k2 resistor. That diagram doesnt seem to be right


standaloneCode fails to include all referenced methods

What version of Ajv are you using? Does the issue happen if you use the latest version?
v7.0.0-rc.0
Ajv options object
{
    $data: true,
    strict: false,
    loadSchema,
    code: {
      source: true,
    },
  }

Your code
I added the source code as a zip here. I tried to simplify the FHIR schema but I failed to reproduce the issue when I did so so sorry for that!
reproduce_issue.zip
You can find the source code in this repl as well.
const Ajv = require('ajv').default;
const standaloneCode = require('ajv/dist/standalone').default;
const jsonSchemaDraft06 = require('ajv/lib/refs/json-schema-draft-06.json');
const fs = require('fs');
const path = require('path');
const util = require('util');
const _replace = require('lodash/fp/replace');
const _flow = require('lodash/fp/flow');
const requireFromString = require('require-from-string');
const fhirQSchema = require('./fhir.questionnaire.schema.json');

const readFile = util.promisify(fs.readFile);
const getSchemaPath = _flow(
  _replace(
    'http://dummy.com',
    path.resolve(__dirname, './'),
  ),
);
const loadSchema = async (uri) => {
  const data = await readFile(getSchemaPath(uri), 'utf8');
  return JSON.parse(data);
};

const test = async () => {
  const ajv = new Ajv({
    $data: true,
    strict: false,
    loadSchema,
    code: {
      source: true,
      lines: true,
    },
  });

  ajv.addMetaSchema(jsonSchemaDraft06);
  const validate = await ajv.compileAsync(fhirQSchema);
  validate({});

  const moduleCode = standaloneCode(ajv, validate);
  const standaloneValidate = requireFromString(moduleCode);
  standaloneValidate({});
};

//this throws ReferenceError: validate23 is not defined
test().catch(e => console.error(e));

What results did you expect?
The standalone code generation to succeed.
Instead requireFromString fails with error ReferenceError: validate23 is not defined.
Thank you for creating this great package and for helping me out!

Thank you. Would the issue remain if you remove async schema compilation or is it specific to async schema loading?

It would help having self-contained example, without any IO (and async can be mocked if it's async specific).
I also remember FHIR schemas had some issues with incorrect schema IDs - it was in gitter and in some issues - maybe it was addressed at source...

can reproduce without async loading<EMAIL_ADDRESS>

you don't need a wrapping schema btw, you can just:
ajv.addSchema(require('./fhir.r4.schema.json'))
const validate = ajv.getSchema("http://hl7.org/fhir/json-schema/4.0#/definitions/Questionnaire")

It doesn't change the issue though - standalone code fails on this schema - need to dig deeper - not today.

you don't need a wrapping schema btw, you can just:
ajv.addSchema(require('./fhir.r4.schema.json'))
const validate = ajv.getSchema("http://hl7.org/fhir/json-schema/4.0#/definitions/Questionnaire")

It doesn't change the issue though - standalone code fails on this schema - need to dig deeper - not today.

Yes, normally there is more added in that schema but I removed it trying to simplify things

The minimal failing schema is:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://hl7.org/fhir/json-schema/4.0",
  "$ref": "#/definitions/Questionnaire",
  "definitions": {
    "ResourceList": {
      "oneOf": [
        {
          "$ref": "#/definitions/Questionnaire"
        }
      ]
    },
    "Questionnaire": {
      "properties": {
        "contained": {
          "$ref": "#/definitions/ResourceList"
        }
      }
    }
  }
}

if $ref in root is removed or oneOf is removed, it works...

The fix is merged to master - @Beretta1979 please test with your code if you can, I will deploy later.

And thank you - good catch - I am happy you caught it before it was released as the main version.

Thank you so much! I will test ASAP

Hi @epoberezkin I can confirm that the compilation now completes successfully at my side!

It's now released in v7.0.0-rc.2


update readme

Signed-off-by: Xieql<EMAIL_ADDRESS>What type of PR is this?
/kind documentation
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
When I use a new machine,  the error ”ERROR Timeout waiting for file exist” occurs again.
It can be reproduced by set fs.inotify.max_user_instances to a small value
Does this PR introduce a user-facing change?:
NONE

/lgtm

/retest


Implement the Mysql Adapter

This feature depends on #3
Detail
I think the mysql adapter should be easy enough to implement in a basic form. This would be a good target for a first cut. There is a package called sqljockey which will be ok for this one.
Probably at the point where the specific database adapters are being done, there will need to be some restructuring of the files. Definitely any adapter like this needs its own file.dart. Probably under a folder like src/databases/mysql_adapters.dart or something
The issue is complete if the functions from the linked milestone can be achieved.

Its very obvious that this should have its own package / repo so before any release to pub occurs that will need to happen. For now its relatively easier to work as it is in the adapters folder but it wont be long before that becomes a real bother.

Its still a way off but actually simple selections and inserts are possible. There is an issue where the connection remains open and not sure if its me yet or the driver...

Lol the thing does almost all the required functions but its ridiculous and requires refactor in next iteration.

First cut of this is done, all the functions work but its ultra ugly and will be rewritten.


refactored featured projects section code to align with vocabulary context for projects

Fixes

Fixes #852   by @Queen-codes

Description
This PR updates the markup for the featured projects section to align with the projects section in the program-index.html context.
Screenshots
Before

Current look after refactoring

Guide/ Reference: The aim is for it to look somewhat similar to this

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Hi @TimidRobot,
The Vocabulary context provided for this component doesn’t account for elements like external links, Slack channels, or tags, which are present in the current featured projects section. Here’s what I have so far with the new markup.
Since we previously discussed aligning the markup first (even if it looks a bit off) and then determining how to handle local design changes, I’m wondering: Is there a way to reintroduce elements like the external links, Slack channels, or tags back into the new code, or leave it as is for now?
Let me know what you think!

Hi @TimidRobot,
The Vocabulary context provided for this component doesn’t account for elements like external links, Slack channels, or tags, which are present in the current featured projects section. Here’s what I have so far with the new markup.
Since we previously discussed aligning the markup first (even if it looks a bit off) and then determining how to handle local design changes, I’m wondering: Is there a way to reintroduce elements like the external links, Slack channels, or tags back into the new code, or leave it as is for now?
Let me know what you think!

@Queen-codes my recommendation is to avoid making CSS changes and for HTML to either:

include "old" content HTML, where nothing exists in Vocabulary

if HTML looks good, no additional action
If HTML looks a little bad, update it to match Vocabulary standards or add a TODO comment
if HTML looks very bad, add a TODO comment and comment it out

include commented out "old" content HTML where including it seems out of scope of the existing effort/pull request

thank you. this is helpful

This seems like a duplicate effort as it is part of changes made in #856 . If you agree, @TimidRobot . I'll go ahead and close it up.


[feature request] Level/Scene editor

A user friendly and extensible level/scene editor is crucial for a modern game engine.

I 100% agree! We have plans for both 2D and 3D scene editors in our backlog. However implementing them will be a massive undertaking so we'll need to grow the team a little before we can start looking into it.
In the meantime though, there are many third party scene editors which a CS game could make use of. For example, Tiled is a fantastic and simple tile editor that would work great for many 2D games.


fix: redirect URL option for resend of confirmation emails

What kind of change does this PR introduce?
Bug fix: add option to specify the redirect URL when using supabase.auth.resend().
What is the current behavior?
Was currently not possible, related issue: #718
What is the new behavior?
It is now possible to specify the redirect URL:
supabase.auth.resend({
  type: 'signup',
  email: '<email>',
  options: {
    redirectTo: '<URL>',
  }
});

Additional context
The backend (GoTrue) already supported specifying the redirect URL for the link in the signup/change_email mail.

fixed in https://github.com/supabase/gotrue-js/pull/724 - thanks for reporting this issue though!


Drag&Drop Drop List Dynamic Preview

What are you trying to do?
I want to be able to change the drag and drop preview depending on which container you're dropping into.
In my stackblitz I have three different containers. The first and third one have regular drag and drop previews, but the second one I'd like to customize the drag and drop preview. Using
        <img *cdkDragPreview src="https://upload.wikimedia.org/wikipedia/en/4/40/Star_Wars_Phantom_Menace_poster.jpg"> works when dragging elements from the second container, but I'd like the preview to be dynamic depending on where you're dropping it.
For example, if you grab an item from the first container and drag it over the second, I'd like the preview to be the image. But it you drag that same item over the third, it should switch back to the regular preview.
What troubleshooting steps have you tried?
I've tried to manually do it using cdkDragDropEntered and cdkDragDropExited events but it did not work as expected. Especially with the differences in the width of the previews.
Reproduction
https://stackblitz.com/edit/angular-suzb2h
Environment

Angular: latest
CDK/Material: latest
Browser(s): All
Operating System (e.g. Windows, macOS, Ubuntu): All

This has come up in issues in the past, but we haven't implemented it because it's not totally clear what the API would look like or what the UX would be. E.g. would you set the template for the preview on the cdkDropList or on the drop item? Also at what point would it switch to the new preview (e.g. only when it's over the new container, half way through etc)?
A better approach here might be to try and make your example work a bit better. E.g. if the preview changes halfway through a drag sequence we should re-position it next to the user's cursor.

@crisbeto I'd imagine the preview would be set on the drop list and would switch the preview whenever an item enters the container.

My problem with setting it on the list is that then you won't have a way of distinguishing which item is currently being shown. Technically you could do it with template variables, but a lot of people aren't familiar with how they work.

I had also this problem .
Cannot change the preview content dynamically,
Think it's basic functionality that needed a lot

@Jonatino
Like crisbeto said, this can be done with template input variables and custom event methods.
Example:
https://stackblitz.com/edit/angular-suzb2h-vacqfr?file=app%2Fcdk-drag-drop-connected-sorting-group-example.html
Though it is not very pretty, and it is using private DragRef variables to access the preview view ref context.


Minor directory typo & LuisAPIHostName value - 04. core-bot sample

Sample information

Sample type: [BotBuilder-Samples/experimental/adaptive-dialog]
Sample language: [C#]
Sample name: <04.core-bot>

Describe the bug
In this readme file: https://github.com/microsoft/BotBuilder-Samples/tree/master/experimental/adaptive-dialog/csharp_dotnetcore/04.core-bot
In LUIS stepup

there is a minor typo here:
In the four step, "Select botbuilder-samples/experimental/adaptive-dialog/csharp_dotnetcore/13.core-bot/CognitiveModels/CoreBot.luis.json", I think should be "Select botbuilder-samples/experimental/adaptive-dialog/csharp_dotnetcore/04.core-bot/CognitiveModels/CoreBot.luis.json"

what is the right configuration value - LuisAPIHostName
Originally in the readme file, it says "You can get your 'Authoring key' by following instructions here. You can get your application id and endpoint region by following instructions here"

Both 'Authoring key' and 'application id' can be found directly from LUIS app -> manage.
The "endpoint region" can be found from LUIS app -> manage, too. But in the appsetting.json file, the value of "LuisAPIHostName": "" is not clear. This is the one I tried and works: .api.cognitive.microsoft.com I found from this article: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0&tabs=csharp
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
fix the typo and specify LuisAPIHostName value (is this one correct? .api.cognitive.microsoft.com) in appsetting.json file
Screenshots
Additional context
Add any other context about the problem here.
[bug]

@zxyanliu thank you for opening this issue.  I pushed a fix into master that addresses it.


Is v3 or v3.1 supported in the SDK?

Still trying to determine if these new endpoints are supported in the SDK? Or is there any plans to? These SDKs seem to be not getting alot of love lately with any updates :/

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

ID: 867c13a4-259b-5686-3208-9c335cc504c1
Version Independent ID: dad41b97-f678-7807-0837-df9b426e9009
Content: Optical Character Recognition (OCR) - Computer Vision - Azure Cognitive Services
Content Source: articles/cognitive-services/Computer-vision/concept-recognizing-text.md
Service: cognitive-services
Sub-service: computer-vision
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@wahyuen Please use the new OCR technology available as the "Read" API - see overview for processing documents. The SDK v6.0.0 has a preview label as a general precaution to gather any major feedback but we will remove the label soon and you should feel free to use the new SDK.
https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.ComputerVision/6.0.0-preview.1
The v3.0 of the Cognitive Services Computer Vision API entered General Availability. This release features a major upgrade to Read API, bringing support for six new languages to General Availability: Dutch, French, German, Italian, Spanish, and Portuguese, major improvements to our English results, support for top global currency symbols, and auto mixed languages mode in the same document.
Get started w/ Computer Vision + Read API here using this Quickstart today.
https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts-sdk/client-library?pivots=programming-language-csharp

@ram-msft Thanks for the info. To clarify, does your post imply that the SDK v6.0.0 does target v3.0 endpoints? Is the SDK likely to target the new 3.1 endpoint soon? We are attempting to assess if we should be waiting for the imminent release of the SDKs or do we completely rewrite our code to call the REST endpoints directly to utilize the new features.

yes @wahyuen. The SDK v6.0.0 does target the v3.0.
https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/cognitiveservices/Vision.ComputerVision
For azure updates please check the following link https://azure.microsoft.com/en-us/updates/.
@sanjeev3 Could you please share road map on SDK for v3.1 endpoint.

@wahyuen and @ram-msft - The latest .NET SDK supports Read 3.0 GA version and endpoint. The next iteration of the SDK will be most likely when 3.1 is GA'ed in FY21 second half (March-May 2021). The "preview" label is a routing process to ensure time for feedback - likely to be removed soon. Thanks.


fix: 코드 효율 개선

Overview
정규식 효율개선, 불필요한 계산의 생략을 했습니다.
각각의 commit 메세지를 참조해주세요.
PR Checklist

[v] I read and included theses actions below

I have read the Contributing Guide
I have written documents and tests, if needed.

Codecov Report
Attention: Patch coverage is 95.83333% with 1 line in your changes missing coverage. Please review.

Please upload report for BASE (main@7d3f5ab). Learn more about missing BASE report.
Report is 3 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #124   +/-   ##
=======================================
  Coverage        ?   98.72%
=======================================
  Files           ?       14
  Lines           ?      235
  Branches        ?       53
=======================================
  Hits            ?      232
  Misses          ?        3
  Partials        ?        0


Fixed wrong ownership for cyphernode_container_monitor volume

The mounted volume cyphernode_container_monitor ownership was not changing to $USER since we added user: $USER in docker-compose file.  The container status files were not created.

Pretty straightforward changes.  Tested on Mac and Linux, on fresh env as well as old ones.

I removed the chown commands in the Docker's healthchecks since it's now done once on startup.

To clean my env, I did this before pulling your PR:
(docker rm -f $(docker ps -a -q) || echo “>>>> no container”) && (docker image rm -f $(docker image ls -q) || echo “>>>> no image”) && (docker volume rm $(docker volume ls -q) || echo “>>>> no volume”)
In start.sh, I noticed it's pulling Alpine:latest.  Should it be using a version used by the other images ?
The volume looks good on my MB:
$ ls -al /container_monitor
total 8
drwxr-xr-x 2  501 dialout 4096 Jul 29 13:38 .
drwxr-xr-x 1 root root    4096 Jul 29 13:36 ..
-rw-r--r-- 1  501 dialout    0 Jul 29 13:41 bitcoin_ready
-rw-r--r-- 1  501 dialout    0 Jul 29 13:41 postgres_ready
-rw-r--r-- 1  501 dialout    0 Jul 29 13:41 proxy_ready


Toggling fullscreen in update() of gui script creates error

Hi! This is asvegren from the Defold forums.
First of all - massive thanks for this amazing extension.
I have encountered an issue using defos.set_fullscreen(bool_value) and defos.toggle_fullscreen(). I have a gui component that deals with various game settings, including full screen. I noticed that toggling full screen interrups the completion of the rest of the update() cycle in my gui script.
When I click the fullscreen button in my script (which immediately triggers defos.toggle_fullscreen()), the next gui node accessed using gui.get_node() is not found, yielding an error like this:
ERROR:SCRIPT: /HUD/settings/settings.gui_script:19: No such node: scaling_bg
scaling_bg in this example isn't actually deleted however.
I've realised that I don't have any issue if I just move my fullscreen toggle check to the end of the update() cycle (thereby not accessing any more gui nodes), however I thought I would raise this just in case it's important for anyone else.

I agree with @britzl you probably will be able to deal with this best by sending a message to itself or another script to do the toggling on getting the message to avoid any interrupt. But you should also try to make a minimal reproducing example for us to test and see what's really going on.
What OS is this happening on?

Thanks for the suggestions on sending messages to shift where the call happens.
I am getting this error on Windows 7.
I tried making a reproducing example, but am failing to do so. The example I am pasting below is indicative of what happens in my main project and should trigger the error, but doesn't. I suppose that means either I'm misunderstanding the cause or there is something else interacting in my main project.
`function init(self)
full_toggled = false
end
function update(self, dt)
if not full_toggled then

	print("getting:", gui.get_node("box1"))

	defos.toggle_fullscreen()

	full_toggled = true

	print("getting:", gui.get_node("box2"))

end

end
`

@8bitskull is this still happening?

@8bitskull is this still happening?

I reset the offending script to its original configuration and can no longer reproduce the issue.

I reset the offending script to its original configuration and can no longer reproduce the issue.


⚠ Bofrost.at has degraded performance

In 96d5960, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2204 ms

Resolved: Bofrost.at performance has improved in 51c4301 after 6 minutes.


Seq.iteri, exists, contains, forall, trypick, pick, tryfind, find, re…

…duce, last, trylast
cleanup for Seq.iter, fold
Also moves the functions in the seq.fsi file to be alphabetical

Over half way there on the list of functions (54/99) but I think we've definitely broken the back of the problem. Nice Work!
I've come down with a cold, so not sure if this will mean I'll get extra time (if I'm just a little sick) or no time (if I'm fully sick!) We'll see how we go.

Hope you feel better and it's the first situation instead of the latter.

@liboz
OK; I should have checked this a little better, but I have fixed them up now.
So the API is a bit confusing for foreach; I could have added another layer in there to remove the confusion, but considering performance is what we are after I didn't... Anyway the confusing thing is that the ProcessNext that it requests ignores the result. So you can return true or false and nothing happens. This then ties into the other confusion, which was that stopping the steam using the pipeline halts after the current step (as no other processing is happening further up). So you don't need to (and it is an error to) process one more item after you desired result.
Anyway, I have patched them all up. Hopefully got them right...

Whoops, sorry for that.
I noticed that your latest set of changes uses a function to get the values from the folder. Is that better than using the property? I feel like that is likely to be a cost in performance.
Also, if we just use this new inline foreach do we still need to expose toComposer in the public surface. Maybe we can just expose foreach in the SeqComposer module, which is probably much less confusing to deal with?

Surely fun folded -> folded.Value is a function? I agree that using the struct is better, but what is the difference (and do we care) between your implementation and say:
let fold =
    let folded = source |> foreach (whatever)

    folded.Value

Oh sorry I didn't know what you were referring to :-)
The fsharp compiler inlined the |> so it's all good, and I think reads nicer.


stuggling with install on a redhat centos

Installing collected packages: fasttext
  Running setup.py install for fasttext
    Complete output from command /home/bbowles/newenv/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-bAR0_M/fasttext/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-MB9Mmd-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/bbowles/newenv/include/site/python2.7/fasttext:
    running install
    running build
    running build_py
    running build_ext
    building 'fasttext.fasttext' extension
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python2.7 -c fasttext/fasttext.cpp -o build/temp.linux-x86_64-2.7/fasttext/fasttext.o -O3 -pthread -funroll-loops -std=c++0x
    cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python2.7 -c fasttext/interface.cc -o build/temp.linux-x86_64-2.7/fasttext/interface.o -O3 -pthread -funroll-loops -std=c++0x
    cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
    In file included from fasttext/interface.cc:17:
    fasttext/cpp/src/fasttext.h:15:18: error: atomic: No such file or directory
    In file included from fasttext/interface.cc:17:
    fasttext/cpp/src/fasttext.h:35: error: ISO C++ forbids declaration of ‘atomic’ with no type
    fasttext/cpp/src/fasttext.h:35: error: invalid use of ‘::’
    fasttext/cpp/src/fasttext.h:35: error: expected ‘;’ before ‘<’ token
    fasttext/interface.cc: In member function ‘std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > FastTextModel::classifierPredict(std::string, int32_t)’:
    fasttext/interface.cc:177: error: ‘uniform_real_distribution’ is not a member of ‘std’
    fasttext/interface.cc:177: error: expected primary-expression before ‘>’ token
    fasttext/interface.cc:177: error: ‘uniform’ was not declared in this scope
    fasttext/interface.cc:186: warning: comparison between signed and unsigned integer expressions
    fasttext/interface.cc: In member function ‘std::vector<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > FastTextModel::classifierPredictProb(std::string, int32_t)’:
    fasttext/interface.cc:218: error: ‘uniform_real_distribution’ is not a member of ‘std’
    fasttext/interface.cc:218: error: expected primary-expression before ‘>’ token
    fasttext/interface.cc:218: error: ‘uniform’ was not declared in this scope
    fasttext/interface.cc:227: warning: comparison between signed and unsigned integer expressions
    fasttext/interface.cc: In function ‘void trainWrapper(int, char**, int)’:
    fasttext/interface.cc:255: error: ‘nullptr’ was not declared in this scope
    error: command 'gcc' failed with exit status 1

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.```

Does anyone know what might be going on here?

Did you find any solution @bowlesbe ?

I have got the same issue in CentOS 6.7.
I have tried with several versions of Cython (from 0.20 to 0.25.2), but nothing worked.

The issue is due to the gcc version.
By default, in my CentOS was 4.4.7; I've installed the 5.3.1 and everything works properly!
To install the new GCC I suggest:
https://stackoverflow.com/questions/36327805/how-to-install-gcc-5-3-with-yum-on-centos-7-2


Cannot read properties of null (reading '$type')

Getting this error in my app after upgrading to 0.2.0 and 1.6. Originates from this file, line 95. Might be user error, if it is let me know.
https://github.com/solidjs/solid-start/blob/b720ae2b5dffcbb2cef39217b849ee0b8cbb16c6/packages/start/server/server-functions/browser.ts

We need to add a check to make sure value is not null on this line:
https://github.com/solidjs/solid-start/blob/b720ae2b5dffcbb2cef39217b849ee0b8cbb16c6/packages/start/server/server-functions/browser.ts#L95


[FEATURE REQUEST] Set unable to collect comments back to warnings.warn

Can we get this set back to warnings.warn so it stops flooding us with its message
 if not video.comments:
            print(
                "Was unable to collect comments.\n"
                "A second attempt or setting a nonzero value for scroll_down_time might work.",
                file=sys.stderr,
            )

Done in version 0.1.13.post1. I also went ahead and made these warnings issued under a new category, TikTokAPIWarning, which can be ignored as follows:
import warnings
from tiktokapipy import TikTokAPIWarning

warnings.filterwarnings("ignore", category=TikTokAPIWarning)


CORE-2325 Improve the merge conflict resolution between CORE-2325 and CORE-2318

I had a slightly different idea of how to handle the merge conflict between CORE-2325 and CORE-2318. This should make behavior more predictable if someone later overrides LiquibaseDataType#numberToSql(Number, Database). The code in UUIDType#otherToSql(Object, Database) was also able to be simplified due to the inheriting the necessary code to handle a DatabaseFunction from LiquibaseDataType#objectToSql(Object, Database).

Thanks


fix: local warning in the frontend development

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

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

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

@stephenLYZ can you add a description to describe the proposed changes. Thanks!


When will the new version be released?

I care about when the new version be released?

@casyFire
you can be use it at least in July.

3.5.0 is released


Breaking Change: Replace fragment concatenation with named fragments

This breaks the existing fragment API in favor of a new API that allows arbitrary nesting of fragments along with the ability to replace specific parts of the page with a named fragment. This gives us much more flexibility than the previous strategy of simple concatenation.

Fragment definitions are now a tree like structure with fragments being able to have child fragments.
Replace the concept of "layout" components with "root" components.
Remove fragment collections. Fragment collections should instead be migrated to be children of fragments.

For example, prior to this change you would define a layout and a fragment collection for each route:
viewProxyServer.Get("/hello/:name", fragment.Define("/layouts/test_layout", fragment.WithoutValidation()), fragment.Collection{
	fragment.Define("/header/:name"),
	fragment.Define("/body/:name"),
	fragment.Define("/footer/:name"),
})

Given the above, we would take the results of each fragment in the collection, concatenate the results, then replace the <view-proxy-content></view-proxy-content> directive with the concatenated results.
Now, instead of defining a layout and several fragments, you can define a fragment tree:
viewProxyServer.Get("/hello/:name", fragment.Define(
	"/layouts/test_layout", fragment.WithoutValidation(), fragment.WithChildren(fragment.Children{
		"header": fragment.Define("/header/:name"),
		"body":   fragment.Define("/body/:name"),
		"name":   fragment.Define("/footer/:name"),
	}),
))

Instead of concatenating each fragment, we take each child name (header, body, name) and look for the matching replacement directive (e.g. <viewproxy-fragment id="header"/>) and replace it with the contents of the matching fragment. This allows content to be injected anywhere on the page.


Log IP country

Despite requiring US participants as part of our Turk Qualifications, we seem to be getting a number of folks joining from other countries.
One way to measure this is to use the IP address to identify the country a person is calling in from. We can't store IP addresses with the data (to preserve privacy) but country level should be fine. This won't help if people are using a VPN, but should at least help in some cases.

Don't need to record the user's IP - the client fetches a location from an external API, and we can save that to the player object.
http://ip-api.com/json seems to be free for non-commercial use: https://members.ip-api.com/
Another check is to compare browser timezone against location timezone from the IP database, to see if they are using a VPN
Can also check IP address against list of known VPN IPs
https://github.com/X4BNet/lists_vpn

Need to add to postflight report:

number of IP addresses from each country
number of IP address timezones that don't match browser timezones
demographic survey country locations

Checking everything on client, so we never save IP information to the server data.

Turns out that you can't access http:ip-api.com/json from an https website, because of Mixed content rules And to get https, you need a paid plan:

Which seems a lot for our small scale...

Possible alternatives: https://radar.com/pricing?type=consumer


Feature-set Qns

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
does youtube-dl also have a play list extraction / export component?
Have a tonne of play lists, want to grab all or a subset of my playlists urls & their sub urls.
So can then import into some other sw...

what, exactly, is "incomplete" about my query?


Wrong coordinates with vertically oriented images

Your tool worked amazing for thousands of images I've landmarked over the last year. However, I've stumbled over some images that were oriented vertically (height > width) and the landmarks are completely off only on those images. There are some vertical images where everything works as expected (in the same landmarking session). I can reproduce the error on the images that don't seem to work. Also, if I rotate those images to a horizontal orientation, landmarking works as expected again. Rotating all vertical images is my workaround for the time being.
Any hint to what could be wrong would be much appreciated.
Thank you for the great tool, I've tried many landmark annotation tools and yours is by far the fastest and easiest to use.

I have to add, it's not consistent. On some vertical images it works. I attached two images, one where it worked (landmark at corner of the eye) and one where it doesn't (landmark somewhere in the fur of the animal, should be at eye also). The images come from the same landmarking session.

Great to hear that you are getting so much use out of this tool :-)
Interesting error you are getting there. I wonder if maybe the images that do not work have been taken with the camera rotated 90 degrees. Then the EXIF orientation tag would be set, which unfortunately I completely ignore in the tool and which could possibly explain the error...
Could you try out the following with one working and one failing image?
from PIL import Image
image = Image.open("filename.jpg")

# 274 = orientation, not used for every image, so might give a KeyError
print(image.getexif()[274])

I tried both your images and both worked for me, but I think this is because these are not the original images, but rather your postprocessed images.

Thanks for the quick reply and idea where the error probably lies. The images are taken with different cameras. I tried printing the orientation tag with a working and a failing image, and indeed with the failing image I get the output 8 and the KeyError you mention on the working image.


errors: Print the actual CKR_ value, not its address

This fixes a small oversight in error printing: the current code prints the address of the variable holding the CKR_ value rather than the CKR_ value itself.

Codecov Report

Merging #39 into master will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
- Coverage   65.43%   65.41%   -0.03%
==========================================
  Files           4        4
  Lines        3446     3444       -2
==========================================
- Hits         2255     2253       -2
  Misses       1191     1191

Impacted Files
Coverage Δ

src/errors.rs
0.00% <0.00%> (ø)

src/lib.rs
65.12% <0.00%> (-0.04%)
:arrow_down:

src/tests.rs
80.41% <0.00%> (-0.02%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d66fee4...bd50cbb. Read the comment docs.

Potentially jumped the gun here: I was seeing error codes that looked like pointers, but CK_RV boils down to usize and err vs *err shouldn't matter for that. I'll keep digging.


IPython.html moved to notebook in IPython/Jupyter 4.0

Attempt to import from notebook to avoid the (loud) deprecation warning fired off by the shim https://github.com/ipython/ipython/blob/master/IPython/html.py

This is great!  Thanks @nicktimko


NakedUnit calculation is not explicit about fields

In object_hash.js, the getNakedUnit function makes a deep copy of the provided objUnit and then deletes several fields that are not to be included in what constitutes a "naked unit".  This runs the risk of leaving extraneous fields from objUnit that should not be included when passing the resulting "naked unit" to other functions such as, getBase64Hash.
On the one hand, it's possible to argue that getNakedUnit operates this way to be a "cleaning" function for excluding certain known fields. However, given how the code uses getNakedUnit, it's clear that it is intended to prepare the objUnit for hashing. As a result, failing to remove rogue fields will influence the unit's hash and corrupt the result.
One possible solution would be to not use a deep copy + delete, but instead construct a new object and selectively copy all fields from objUnit that should be present. This approach protects from the issue above and has the additional benefit of being explicit about what fields should be in a valid "naked unit", which makes it easier to reason about.

it's actually good that it fails when there are extraneous fields, so we'll know it immediately.  validation.js also checks for them.

Okay - my intuition is that the hashes will fail to line up but they will "silently" without any indication of failing. Units will hash to different values without warning.
Feel free to resolve this issue, though, as I may be misunderstanding.

I see now. validation.js:validate throws an Exception (callbacks.ifUnitError) on unknown fields being present.
This makes sense. I do feel it's easier to reason about the unit's hash inputs if they are explicitly copied but that's a style question, I suppose, not a correctness question.
Resolving this.


Weekly calender issue

Facing some issues with weekly calendar. Need help.
I am facing issue when month change for week calendar current week contains date form 22nd April to 28th April when I click next to get next week dates it gives 29th and 30th April and 1st to 5th May clndr.js  each time check current month and generate dates for some situation week may contain dates for two consecutive months and that is why when we click next or prev clndr,js not able to detect current month and due to that code break
Please find my code below
var $chooseDate = $('#' + this.breakpoint + '-book-me-calendar');
currentDate = _.isNull(currentDate) ? moment.tz(this.selected_timezone).startOf('day') : currentDate;
        self.calenderScript = $chooseDate.clndr({
          //  template: $('script#bookMeClndrTemplate').html(),
            template: $('script#clndr_template').html(),
            constraints: {
                startDate: currentDate.format('YYYY-MM-DD')
            },
            ignoreInactiveDaysInSelection: true,
            trackSelectedDate: true,
            showAdjacentMonths: true,
            ready: function () {

            },
            clickEvents: {
                click: function (target) {

                    }
                },
                onMonthChange(momentObj) {

                }
            },
            extras: {
                availableSlots: [],
                currentWeek: Math.floor( ( ( (moment().date() + moment().startOf('month').weekday() ) - 1 ) / ( self.weeksInMonth(moment() ) * 7) ) * self.weeksInMonth( moment() ) )
            },
            doneRendering: function() {

                    var selfCalender=this;

                    /* Next button handler */
                    $('.book-me-week-calender .clndr-next-button').on('click', function() {

                        /* Get numbers of weeks in the month */
                        var weeks_in_month = Math.floor(self.calenderScript.month.daysInMonth() / 7) + 1;

                        if(self.calenderScript.options.extras.currentWeek < weeks_in_month) {
                            /* Increase the week count */
                            self.calenderScript.options.extras.currentWeek += 1;
                        } else {
                            /* Reset the week count */
                            self.calenderScript.options.extras.currentWeek = 0;

                            /* Go to next month */
                             self.calenderScript.next();
                        }

                        self.calenderScript.render();

                        self.showTimeSlot = false;

                        console.log("next",self.calenderScript.month.daysInMonth());

                        console.log("next",self.calenderScript.options);

                    });

                    /* Previous button handler */
                    $('.book-me-week-calender .clndr-previous-button').on('click', function() {

                        /* Get numbers of weeks in the month */
                        var weeks_in_month = Math.floor(self.calenderScript.month.daysInMonth() / 7) + 1;

                        if(self.calenderScript.options.extras.currentWeek > 0) {
                            /* Decrease the week count */
                            self.calenderScript.options.extras.currentWeek -= 1;
                        } else {
                            /* Reset the week count */
                            self.calenderScript.options.extras.currentWeek = weeks_in_month;

                            /* Go to previous month */
                            self.calenderScript.back();
                        }

                        self.calenderScript.render();

                    });

            }
        });

@anindyakm Unfortunately this Issues list is for bugs and all issues need to follow the template. You'll have better luck at a Q&A site like Stack Overflow, but my suspicion here is the start date constraint. Take a look through the tests in this repo to see how the weekly calendars work there.

When doing a weekly view (or not months really) i think there is a real issue with events not firing (& something is a little wonky with the header rendering too). Works great with monthly.
I tried a lot of different settings and I have combed through the source code very thoroughly.  The only event that seems to reliably fire for weekly views is that the interval changed. It does not seem to tell us about months, although the trigger function's if-statements are logically sounds and seems the month change events should be called.
Anyways, not to beat a dead horse,  I assumed this won't be fixed but i like the calendar so I found a workaround using the onIntervalChange event and recreating the "week" math to detect changes in dates.
hope this saves someone else some head scratching and hours... Sorry for the mess, but it's a work in progress haha
      onIntervalChange: function(startOfTheNewInterval){
        console.log('weekly onIntervalChange startOfTheNewInterval:', startOfTheNewInterval);
        var endOfWeekDate = startOfTheNewInterval.clone().add(6, 'days');

        weeklyCalendarHeader = startOfTheNewInterval.format('MMMM yy');

        // this week shows a month change...
        if(startOfTheNewInterval.format('MMMM') !== endOfWeekDate.format('MMMM')){
          console.log('RK; month change detected. start:', startOfTheNewInterval.format('YYYY-MM-D'), 'end: ', endOfWeekDate.format('YYYY-MM-D'));

          // TODO: is it next month or last month we hit?how can i tell? do we need a varibale locally to track the last known start date?? confusing with 3 calendars to manage though...
            // maybe doesn't matter, we just know 2 months need filled, so we wil get all the data from 1st of the StartInterval month through the end of the EndofWeekMonth

            var startOfMonth = startOfTheNewInterval.format('YYYY-MM-') + '01'; // 1st of the month...
            var endOfMonth = endOfWeekDate.format("YYYY-MM-") + endOfWeekDate.daysInMonth();
          populateEvents(startOfMonth, endOfMonth, 'TODO: Location from selected attribute');

          weeklyCalendarHeader = weeklyCalendarHeader + " - " + endOfWeekDate.format('MMMM yy');
        }

        console.log('TODO: rk 20230212. header title:', weeklyCalendarHeader);
        $('#calendar-weekly .clndr .controls .month').html(weeklyCalendarHeader);
        ////transloadNowCalendarWeeklyView.render();// try to trigger the header to redraw itself like when we enter a new month.../// not working... header stil shows original month; like header not redrawing..
      },```


ApiError: REQUEST_DENIED (This API project is not authorized to use this API.)

I request two api:

Place API
Maps Static API

I use api to access the map link get_google_maps_link(location_name,api_key)
but it turns out this error

Solution:

Make sure you have enabled all the next Google Maps Services

If you have key restrictions, make sure you add the services like the next image.

##　References:
https://stackoverflow.com/questions/61294093/google-maps-api-error-this-api-key-is-not-authorized-to-use-this-service-or-api

load more api will solve this error


Scrollbar not appearing when data extends beyond date range

Data is loaded dynamically and task dates running beyond the arbitrary to-date and from-date I've set below. I am not seeing scrolling work reliably in the demo app, either, and the documentation is not clear on enabling it. In addition, the on.scroll event does not appear to be firing. So, adding this as a potential issue. Do you have suggestions? I've added my existing configuration below.
It is a great library, I really appreciate your work and sharing it.
<div gantt="true"
        data="data"
        api="settings.registerApi"
        current-date="settings.currentDate"
        headers="settings.headers"
        task-out-of-range="settings.taskOutOfRange"
        auto-expand="settings.autoExpand"
        from-date="settings.fromDate"
        to-date="settings.toDate"
        column-magnet="settings.columnMagnet"
        time-frames-magnet="settings.timeFramesMagnet"
        id="gantt_chart">
    <gantt-groups enabled="true"></gantt-groups>
    <gantt-progress></gantt-progress>
    <gantt-resize-sensor></gantt-resize-sensor>
    <gantt-tooltips></gantt-tooltips>
    <gantt-tree></gantt-tree>
</div>

$scope.settings = {
    fromDate: moment('2016-01-02', 'YYYY-MM-DD'),
    toDate: moment('2016-01-15', 'YYYY-MM-DD'),
    autoExpand: 'both',
    columnMagnet: '15 minutes',
    currentDate: 'column',
    headers: ['month', 'day'],
    registerApi: registerApi,
    taskOutOfRange: 'truncate',
    timeFramesMagnet: true
};

There's no horizontal scroll when using truncate mode for taskOutOfRange, tasks are just truncated or hidden in this case. You have to set a value for column-width and remove the task-out-of-range or set it to expand

Very helpful, thanks for the quick response.


Controller Issues: Dualsense controller

When I run two instances, the same controller controls both of them while the other controller doesn't register. They are both connected through USB wire and I'm sure that they both work ok.

Duplicate of #179


Querying on authorized view

Hi there,
I am trying to create an authorized view via the nodejs-bigquery library. I have followed the tutorial on https://github.com/googleapis/nodejs-bigquery/blob/main/samples/authViewTutorial.js
I have a few questions.

Can we create authorized views within the source dataset id or do we need to create a shared one?
How can I check whether the user trying to query is authorized within the code? Do I need to check the metadata.access object? How does that work?
Is it possible to have an authorized view just via role and not email? i.e if I want all users with a role to be able to query
Thanks!

hey @hamza-busuri thanks for asking:

Can we create authorized views within the source dataset id or do we need to create a shared one?

The shared dataset is required so we can restrict which users/groups/role can access the table/views inside of it.

How can I check whether the user trying to query is authorized within the code? Do I need to check the metadata.access object? How does that work?

You would have to check the metadata.access object and see if the user part of the email group, role, etc, depending on how the Dataset access was set up.

Is it possible to have an authorized view just via role and not email? i.e if I want all users with a role to be able to query

Yes, you can assign to a role. You can check all the options here in the src/types.d.ts file or in the BigQuery Datasets Reference docs.

Thanks @alvarowolfx !
I wanted to double check is it possible to apply the access policy on the created view or does the access policy need to be created on the dataset? Say for example I want to apply a role on one view but not the other view but within the same dataset? How can I go about doing that?
is there a code sample somewhere where I can achieve this?

Would some thing like this not work?
`const adminAccessEntry = {
role: "READER"
};
// // Make API request to retrieve dataset metadata
const [sharedMetadata] = await sharedDataset.getMetadata();

const sharedAccessEntries = sharedMetadata.access;
sharedAccessEntries.push(adminAccessEntry);

sharedMetadata.access = sharedAccessEntries;

// // Make API request to update dataset metadata
const [updatedSharedMetadata] =
  await sharedDataset.setMetadata(sharedMetadata);`

It results in the following:
"An access entry must have exactly one of userByEmail, groupByEmail, domain, specialGroup defined, view, routine, or dataset."

Thanks @alvarowolfx !
I wanted to double check is it possible to apply the access policy on the created view or does the access policy need to be created on the dataset? Say for example I want to apply a role on one view but not the other view but within the same dataset? How can I go about doing that?
is there a code sample somewhere where I can achieve this?

That access configuration It's only available on a Dataset level.  For that example that you gave, you have to create two datasets with the given set of permissions/roles and each view on a separate dataset.

Would some thing like this not work?
`const adminAccessEntry = { role: "READER" };
// // Make API request to retrieve dataset metadata
const [sharedMetadata] = await sharedDataset.getMetadata();

const sharedAccessEntries = sharedMetadata.access;
sharedAccessEntries.push(adminAccessEntry);

sharedMetadata.access = sharedAccessEntries;

// // Make API request to update dataset metadata
const [updatedSharedMetadata] =
  await sharedDataset.setMetadata(sharedMetadata);`

It results in the following: "An access entry must have exactly one of userByEmail, groupByEmail, domain, specialGroup defined, view, routine, or dataset."

Yeah, sorry for the confusion, the role attribute is the BigQuery IAM role that is going to be applied to the given target, which needs to be a user, group or domain. From the docs:
An IAM role ID that should be granted to the user, group, or domain specified in this access entry

A more recommended approach is to create groups using the Cloud Identity API and assign users to those groups and have each authorized view attached to a group. Essentially those groups would work like the role that you mentioned before.

Node client for Cloud Identity: https://github.com/googleapis/google-api-nodejs-client/tree/main/src/apis/cloudidentity
https://cloud.google.com/identity/docs/groups
https://support.google.com/a/answer/10427204?hl=en

Maybe for a more granular control that you need, there is a Pre-GA APIs called IAM Conditions, where you can write custom conditions to give access to a given BigQuery resource. See https://cloud.google.com/bigquery/docs/conditions#examples.  But this is not on GA yet.


DRILL-6633: Replace usage of Guava classes by JDK ones

In the PR for DRILL-6422 was decided to create a separate Jira (DRILL-6633) for changes connected with replacing usage of some Guava classes by JDK ones.
In this PR revised most of the Guava classes and replaced their usage where possible.

@vdiravka could you please review?

@arina-ielchiieva / @vvysotskyi The changes look trivial, but 682 files are a lot to review! Should this PR be broken up in parts?

@kkhatua, I don't see a reason for splitting the PR, even splitting changes for modules where they were made. Either single or multiple PRs should be reviewed in any case.
Since almost all of the changes are trivial, it wouldn't be a problem to do a screen review.

A question about this PR: what's the benefit we can gain with this replacement ?

@weijietong, this PR is an intermediate step for https://github.com/apache/drill/pull/1264

get it, thanks for the explanation.

Besides the commit were addressed CR comments, I have added two commits: the first one contains changes in commits before the rebase (some of the commits added methods which I tried to replace, so replaced them again).
The second commit contains changes to ban some guava methods.

@vrozov / @vdiravka this PR has been open for a month already. I think you all agree that Volodymyr has done enormous work, doing replacement is not the most interesting or rewarding part for the developer but Volodymyr did that, also he has already made changes after several rounds of code review. So let's not demotivate him unless you want to rework the PR yourself.
Please wrap up your comments (rather than adding new ones each day), highlight what should be done to get it merged. We cannot fix all Drill problems in one PR, so please agree on follow up Jira when possible. Let's target to merge the PR next week.

@arina-ielchiieva / @vvysotskyi I don't see a benefit of blindly replacing Guava classes/methods with JDK ones that provide equivalent or similar functionality. It should be sufficient to replace deprecated and unstable classes/methods. So, even though an enormous amount of work was done, I don't see how Drill and drill dev community benefit from that work. I already mentioned that in my review comments and also on the mailing list. IMO, it will be more beneficial for Drill customers to resolve DRILL-6422 and #1264.
@arina-ielchiieva:

I don't share your concern with PR being open for a month. In Apache PR may be open for much longer and there are multiple examples of PRs being open for 2, 3 and more month in Drill and other Apache projects.
I agree that it is not only possible but it is much better not to fix all problems in one PR. In some cases, instead of a follow up JIRA that may never be fixed, I'd prefer to see a pre-cursor JIRA and PR and this PR is an example where I'd like to see several Drill classes being removed or refactored first (due to a larger benefit that I see for removing those classes compared to removing Guava classes).

The main aim for replacing usage of guava was code consistency. Except for methods, deprecated by guava team, there was a lot of other classes/methods, which without any risks may be replaced with JDK analogs. Among them a lot of functional interfaces (Supplier, Function etc.), utility methods etc.
This pull request took much more time and effort than it should, comparing to its benefit, so I don't want to work on it anymore.


Starter Demo App crashes on installing react-storefront-magento2-connector

Whenever I install the react-storefront-magento2-connector package in the starter demo app, the app crashes giving the following error:

And gone after uninstalling that specific package

I think this is related to: #24.


Issue69  TCK test updates (for the LRA terminal attribute)

#69
Issue #40 removed the delayClose attribute of the LRA annotation since it effectively duplicated the terminal attribute. The fix for that issue also changed the default behaviour for closing an LRA at the end of the method. But some of the TCK test resources methods were changed to have a different semantic (in particular the @lra annotation applied at class level provides did not specify the new attribute value).

@rdebusscher Would it be possible for you to take a look at this small update?


iroh start command

Command for starting a long-running iroh process that participates in an IPFS network.
$ iroh start --help
iroh-start
start a long running iroh process

USAGE:
    iroh start

OPTIONS:
    -h, --help    Print help information

Iroh start kicks off a long running process that manages p2p connections, serves
any configured APIs, and proxies access for other iroh processes to shared
resources like store and network connections. While iroh start is running iroh
will initiate connections to other peers in the network to both provide and
fetch content, all of which can be governed through configuration.

When iroh start is running, it acquires a lock on shared resources. Running an
iroh command from another terminal will be executed as a remote procedure call
on the 'iroh start' process. To check if a command will run through 'iroh start'
use `iroh status`.

Shutdown

To stop iroh start, send a SIGINT signal to it (e.g. by pressing 'Ctrl-C')
or send a SIGTERM signal to it (e.g. with 'kill'). It may take a while for the
daemon to shutdown gracefully, but it can be killed forcibly by sending a
second signal.

This is analagous to kubo daemon.
Differences from Kubo
Kubo has 17 flags on kubo daemon, none of which we plan to support in the v0.1.0 release.

I'll note that iroh-one currently defines a bunch of options already to start it, and currently it errors out if you don't supply --store-path. I think we should go with the principle that iroh-one should just work without configuration and default to some path for th store, like iroh-one-store or something.
The other options are something to review in the near future.

How do we know whether to start iroh one or iroh cloud? Or do we go for just starting iroh one for now?

Great question. We've decided to skip trying to figure out what starting iroh cloud from a single command would be because deploying cloud is super involved and platform dependent. So start will only apply to iroh one for the foreseeable future.

I slightly prefer iroh serve over iroh start. iroh serve implies there's some kind a server you can connect to, whereas iroh start doesn't.

See, I think you're right, and yet many folks in web3 will scream at us because "it's not a server! decentralize!". We'll have to leave some space to let others weigh in, but the distinction is silly imho, and I'd vote we go with iroh serve because it's the most clear label for the command. It's a server. There happens to be lots of them and they can talk to each other.

Related to this: in https://github.com/n0-computer/iroh/issues/274 we discussed implicitly starting the iroh services if we use other commands.

Let's not do that. One-off commands that don't have a server process to delegate to should release all resources upon completion. Yes, this might be slow. It'll be our job to make it fast in the long run.

I'll note that iroh-one currently defines a bunch of options already to start it, and currently it errors out if you don't supply --store-path. I think we should go with the principle that iroh-one should just work without configuration and default to some path for the store, like iroh-one-store or something.

We should pick a default store path, creating it automatically if it doesn't exist. Default path should be inside a store directory in the application files location, so $HOME/.local/share/iroh/store on linux.

I think iroh serve could be confused for something else, new users might mistake serve for providing or syncing to the network rather than a daemon process (I still see many new users think content itself is uploaded to IPFS), using the full name of server would make this as clear as possible

both server and serve are too little in my opinion. It starts a p2p server, a gateway server and a database. Please let’s just stick with start and stop, any additional qualifiers are half truths we need to explain and can confusee users.

nginx is even simpler, you just run nginx, no additional command, just options for configuration

I bring up nginx as it is a much better example of software to take inspiration from when it comes to UX than kubo.

is there any reason the term daemon is being avoided here?
We think we can do better in terms of UX. deamon isn't obvious to a newcomer for a command that should be invoked. Kubo puts kubo daemon in the "advanced" command group, yet kubo cat for a non-local CID requires running a deamon. If we're going to run this command often, let's give it a common name and group it with often-used commands.

both server and serve are too little in my opinion. It starts a p2p server, a gateway server and a database.
Agree with this. Let's stick with start.

My current understanding:

There's a separate iroh-one binary

iroh start starts this as a sub-process. https://github.com/n0-computer/iroh/issues/274#issuecomment-1272029165

I'm wondering whether the decision to have the iroh CLI be a thin wrapper makes iroh start something we don't want to do yet; it's extra work and there are unanswered quetions. iroh start starts iroh-one, but if you want to start iroh-cloud in the future we don't really know whether iroh start even makes sense. Why not maintain iroh-one as the official way to start iroh then?

[copied from Discord]
The more I think about it given the change in direction I think we should maintain iroh-ctl as a crate for the iroh CLI for now, and have iroh-one be the way to start iroh, and have no iroh start at all for the time being. Because the proposed behavior for iroh start means it just passes stuff along to iroh-one, and we have no meaning for iroh start for iroh-cloud, and we may never have a useful meaning for it with iroh-cloud (as fundamentally it's separate processes likely to be running on separate servers started by something else).
If we make iroh start start iroh-one we're really saying "please install binary iroh-one and iroh both, and iroh start won't work if you don't have iroh-one." That's cumbersome and tricky to debug if it goes wrong. We make everyone's life simpler by saying "to start iroh-one, run it", and "to control iroh, use the iroh command".

I get that we want iroh to be a single entry point into iroh and that there's a start for that reason. Here are some reasons I have trouble with this approach:

With iroh-cloud, iroh start should be actively avoided. Now these are advanced users so it's not a biggie, but it's still weird that we have such fundamental looking commands in the top CLI namespace that should not be used.

In the possible future that we're not going to do right now, where we have a fat iroh that automatically runs enough of iroh in the background to complete a iroh get or iroh add, again iroh start and iroh stop become confusing. Do I start first and then add? What's the difference? How do I tell what's happening from each other? We may never go into this future but it's a trade-off.

When iroh start fails due to installation problems, people need to learn about iroh-one anyway. Whereas if we just explained run iroh-one it's clear from the start. Maybe this won't happen very often.

iroh-one has a bunch of command line arguments. iroh start would need to forward them all. To have a good -h in iroh start it somehow needs to replicate these, but at the same time cannot depend on the iroh-one codebase. So either we're maintaining the CLI twice with the risk of skew between them, or we're maintaining some kind of odd -h forwarding behavior, or we have to extract a special package just for the CLI types of iroh-one so we can reuse it in iroh, or we don't document stuff fully in iroh start.

The last weighs most strongly on my mind as we have to get this right sooner rather than later. The other arguments do contribute to my worry though.

Here's what iroh-one takes as arguments right now:
Usage: iroh-one [OPTIONS]

Options:
  -p, --gateway-port <GATEWAY_PORT>  Gateway
  -w, --writeable <WRITEABLE>        [possible values: true, false]
  -f, --fetch <FETCH>                [possible values: true, false]
  -c, --cache <CACHE>                [possible values: true, false]
      --metrics
      --tracing
      --denylist
      --store-path <STORE_PATH>      Path to the store
      --cfg <CFG>
  -h, --help                         Print help information
  -V, --version                      Print version information

the best route I can see to make sure iroh start takes the same CLI arguments is to extract the CLI structs from iroh-one and maintain them in a new iroh-one-clap crate. (I think iroh-one-cli is not the right name, as the CLI is still implemented in iroh-one).

Please think about this from the perspective of a first time user. We've designed iroh so it can't do anything at all without a running daemon. How on earth could we not provide a first time user with a simple command to get them up & running?
Asking users to learn things is a big ask. Asking users to learn about 2 things is a bigger ask. Our architectural choices mean the daemon & CLI are in separate binaries, but that's our problem, and it's our job to push learning about multiple binaries until they actually need it.

With iroh-cloud, iroh start should be actively avoided.

Not actively avoided. Anyone working with cloud is going to need to read the manual. Running a local node is a common pattern for talking to a remote node via the IPFS protocol. We will absolutely write guides where DevOps users deploy somewhere in the cloud, then run iroh start to spin up a local node & confirm they can connect to their new remote.
In the future we also want to allow hybridized configurations where some services are backed by remotes (for example: serve gateway & p2p with a local iroh node, but talk to a cloud-backed store). That setup will be defined in configuration and still work with iroh start.

In the possible future that we're not going to do right now ...
Let's not code against a possible future we've explicitly decided against. Iroh requires a daemon process. Users need an easy way to start the daemon. They don't care about a command that might go away one day.

we only make iroh start do a strict subset of iroh-one (and refer people to iroh-one if they want to do the rest)
Let's do this. I don't think start should accept any flags, which is why I specified it should have none in the help text that opens this issue.

Let's look at if this way: iroh start is a porcelain command. If you needed to manually construct git commits using plumbing commands, you wouldn't be so inclined to use git, would you?

a possible future
we've explicitly decided against. Iroh
requires a daemon process.

Ah, I hadn't realized that the idea that iroh get etc will run the necessary services implictly was definitely off the table forever.


Image Manipulation

It seems to me that as well as the image optimisation already possible that it would be good to be able to do other image manipulation with Assetic to get the benefits of its caching/dumping of the results. I thought I would have a play about at creating a basic filter to do this. The first issue I have run into is that I cannot see anyway to get options from the Twig template or formula into the filter, I can only see it being possible via the service definition. That though fixes it for all uses of the filter, whereas it would be useful to be able to set options such as height and width for resizing on a per image basis.
Is this already possible? If not is it something it would make sense to add or is there a good reason not to?

This is kind of a late answer but I just created a library of Assetic filters for all the Imagine Image filters:
https://github.com/renaatdemuynck/assetic-imagine-filters.git


Update README with example of running hello example

The ./ in front of libhello.so is significant (otherwise it returns an error saying it can't open the dll). Took me a couple of minutes to figure out, so I thought it might be worth documenting.

Thank you.
Yes, Currently the documentation is very much lacking.


Hello

Pinecone is greate language, but can u make an ex. .bat: pinecone filename and it will run, I can help

Sorry, this project is no longer active