Ensuring all component specific policies are removed when the component is deleted

NIFI-2301:

Ensure all component specific policies are removed when the component is removed.

Reviewing

I believe there is the unintended consequence of preventing deleting multiple components at a time that I have write permissions but no view permissions. To recreated:
Multiple different components without view permission but write permission
select 2 or more and attempt to delete
See pop-up saying your denied
try to delete them individually and succeed

Great catch @JPercivall. I've updated the PR to address the comments. Thanks!

Sorry for not noticing this earlier but it appears that encapsulated components (processors, controller services, etc.) inside a process group that gets deleted do not have their associated policies deleted too.
Also I believe there is a small oversight with the UI in regards to CS and RT, when you have "write" but not "view" the button for deleting a CS or RT does not appear. Probably a super simple fix if you wanted to add it.

Another good catch. I've updated the PR accordingly. Thanks!

@mcgilman I don't think the UI button to delete the CS/RT works properly. When I tried to use it when I had "write" but not "view" I saw a 405.

Thanks @JPercivall. PR updating accordingly.

+1
Visually verified code and did a contrib check build. In a 3 node secure cluster tried adding and modifying policies for every component and then deleting each. Saw policies removed as components were deleted as expected. Thanks @mcgilman, I will merge it in.


4/keyvault interaction

adds all keyvault interaction implementation, though not yet finished. Unfinished tasks are marked with a TODO within the code (mostly because these should be done within a different issue, respective task is being stalled due to pending PR)
The following tasks are still on TODO:

[get] store retrieved shamir shard in file, waiting for #5
[check, get, provision] handle return type of enclave, waiting for #6
[provision] retrieve secret from file, waiting for #2, resp. PR #15

@brenzi  the current provision call needs an urllist file input (according to #1). But I guess the standard use case will be to use the keyvault_pool.txt default file which is generated by the keyvault list command. Would it be a possibility to make the  input of the provision call optional? If it is not given, the default filepath will be taken.

@brenzi the current provision call needs an urllist file input (according to #1). But I guess the standard use case will be to use the keyvault_pool.txt default file which is generated by the keyvault list command. Would it be a possibility to make the <urllist> input of the provision call optional? If it is not given, the default filepath will be taken.

the idea is that the user can select a subset of keyvaults. There may be many more than necessary


I got a compile error,but I don't know what it has happened

My compiler is clang++-20

Are you trying the modules branch?

Are you trying the modules branch?

I am in the CXX20Modules branch,and my compile command is
cmake . -B Build -G Ninja -DCMAKE_BUILD_TYPE=Debug  -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -fopenmp -fexperimental-library" -DCMAKE_CXX_COMPILER=clang++-20 -DCMAKE_C_COMPILER=clang-20  -DASYNC_SIMPLE_ENABLE_TESTS=OFF -DASYNC_SIMPLE_BUILD_DEMO_EXAMPLE=OFF -DASYNC_SIMPLE_ENABLE_ASAN=OFF
cmake --build ./Build -j8

Ok,I find I can compile in the v1.3 branch.

I just tried the trunk and it works. Maybe it is related to different environments.


I think SDKMAN would be good in combination with this...

I think SDKMAN would be good in combination with this "laptop" script?
I think "brew install sdkman" will work?   With http://sdkman.io/ , a person can easily also install and manage installation of   Java, Groovy, Gradle, leinengin, Maven, SBT, etc.    http://sdkman.io/sdks.html

Wow!  Thanks.  I didn't know that existed.
On Mon, Nov 12, 2018 at 9:26 AM Kevin Burnett<EMAIL_ADDRESS>wrote:

laptop installs https://github.com/asdf-vm/asdf/, which seems to be an
alternative to sdkman that provides similar features.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thoughtbot/laptop/issues/530#issuecomment-437963683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAxfjvb6Ju97OxP2G2w-Z-AGZym7q5SAks5uua8zgaJpZM4TuqTj
.

Maybe helpful, I wrote an article about ASDF.

Thanks for the thought! Closing this since we're already including ASDF, as mentioned above.


Allow audio communication between peers

Take advantage of WebRTC to build a communication audio channel between peers.

Milestone 1.3?


Pause on Errors/Warnings during a Run

In Matlab you can select "Pause on Errors/Warnings" under the Run Icon. I don't see the same feature in VSCode.
Add the Error Handling + Breakpoints manage during the Run as in Matlab IDE.
The actual alternative is to use it in Matlab IDE.
Matlab IDE:

Thank you for the advice!
Il ven 20 dic 2024, 15:04 philipb314 @.***> ha scritto:

Thank you for your feedback. We will consider it for a future release.
In the meantime, another alternative is to use the ">> dbstop if error"
command directly to set the breakpoint directly.
—
Reply to this email directly, view it on GitHub
https://github.com/mathworks/MATLAB-extension-for-vscode/issues/196#issuecomment-2557077343,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEQDIXQEPB44EPSEXNMMJ432GQPVHAVCNFSM6AAAAABT63XSFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJXGA3TOMZUGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Disable and restrict 'Add Event' button for past dates

Closes #365

@akshayabankumidi you can show us a video highlighting the changes you made if you want.

@akshayabankumidi you can show us a video highlighting the changes you made if you want.

https://github.com/user-attachments/assets/74604ecc-5145-4707-a2f2-049fced1123b


Fix consistency into di definition parameters

fix consistency into di definition parameters :
Classes hardcoded replaced by parameters to code consistency
tasks:

[ x ] consistency into di definition

informations:

q
a

Fixed tickets
none

Related PRs
none

BC breaks
none

Documentation PR
none

thanks for contribution! but we have decided to go the other way around in the future and we dont want this parameters for new features but keep them to not break the BC. this is because symfony also will drop the class parameter with 3.0. @danrot do you have the link where they announved this?

Haaa i wasn't aware of this. ;(  thks for information @wachterjohannes  ;)
do you prefer to replace in *.xml
class="%my.class%" by class="My\Class" ?
or for moment keep like this ?

hmm i think we wont replace all class parameter to avoid bc breaks if someone uses this parameters to extend sulu. @danrot what do you think about that?

@wachterjohannes Yeah, that was what we thought... We should remove all the parameters at some point, but I think that won't be before 2.0. It's also not too bad to have it this way (the performance impact due to the bigger container is probably not sooo big).

sounds good, guess we can close this :smile:


Enabled bounded queuing for erchef and bifrost squerl-based queues

Pooler supported bounded queuing of requests when no connections are
available. Without queuing, many users have (at our suggestion) taken
to increasing the db_pool_size to prevent bursts of requests failing
when all database connections are consumed. In some cases, this can
lead to an level of concurrent connections that the backend can't
handle.
The queuing allows the maximum concurrent database connections to
remain capped at a reasonable level while still providing a means for
users to handle bursts of traffic.

Just for my full understanding, the way bounded queuing is achieved is by setting a timeout so that if a request doesn't complete in that time it's dropped and the next request is serviced - thereby not allowing the queue to backup (as much) since no single request will block anything for long. At least, that's how I'm reading the code.
I'm a bit confused b/c I expected to see a queue size limit applied whereby requests were dropped at the limit. I think what has been done is almost functionally the same and I'm fine with this, just want to make sure I fully understand, since what I expected and what I think I see aren't the same.

The queue works this way:

If a request is made to the pool and the pool has available connections, it is serviced immediately,

If a request is made to the pool and the pool has no available connections but has room in the queue (queue is smaller than pool_queue_max), the request is added to the queue.  When a connection is returned to the pool, we immediately check the queue and service the request at the head of the queue.

If a request is made to the pool and the pool has no available connections and the queue is full, the request fails immediately.

If a queued request is in the pool for too long (user specified number of miliseconds), it is removed from the queue and an error is returned to the caller.

I hope that helps.

Makes sense. That's what I expected, but I wasn't piecing that together just looking at the options.
I'm +1, although I have no opinion on the defaults that have been chosen here.

@mmzyk Given the variety of environments we deploy into, the current default was simply my best guess at settings that would (1) make sure it is on by default, (2) not seem absurd in the average environment.  No real science behind it at this point.
cc @chef/lob

:+1: The defaults here seem better than the current settings. We can always change them in the future if we find something better.

:+1:


Update rules_kotlin version

Checklist

[ ] I have filed an issue about this change and discussed potential changes with the maintainers.
[ ] I have received the approval from the maintainers to make this change.
[ ] This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more
details.
Discussion thread for this change
Issue number: <please reference the issue number or url here>
Description of this change
The current version of rules_kotlin contains a bug that causes it to break in Bazel 6.0. It's been fixed in https://github.com/bazelbuild/rules_kotlin/pull/777 and the latest release includes this fix.

@mai93 Do I need to make a copy of this PR for the google branch too?

yes, we need to have this fix in the google branch as well.


SocketIOUser not support send BINARY data

Prerequisites

[X] I am using the latest version of Locust
[X] I am suggesting a new feature, not asking a question

Description

in this function, it prevent user to send data in OPCODE_BINARY, so I suggest to export websocket  'opcode'  param to user as bellow。
    # def send(self, body, name=None, context={}, opcode=websocket.ABNF.OPCODE_TEXT)
    def send(self, body, name=None, context={}):
        if not name:
            if body == "2":
                name = "2 heartbeat"
            else:
                # hoping this is a subscribe type message, try to detect name
                m = re.search(r'(\d*)\["([a-z]*)"', body)
                assert m is not None
                code = m.group(1)
                action = m.group(2)
                url_part = re.search(r'"url": *"([^"]*)"', body)
                assert url_part is not None
                url = re.sub(r"/[0-9_]*/", "/:id/", url_part.group(1))
                name = f"{code} {action} url: {url}"

        self.environment.events.request.fire(
            request_type="WSS",
            name=name,
            response_time=None,
            response_length=len(body),
            exception=None,
            context={**self.context(), **context},
        )
        logging.debug(f"WSS: {body}")
        # self.ws.send(body, opcode)
        self.ws.send(body)

👍 PR welcome!

👍 PR welcome! (technically this issue should be in locust-plugins but its ok :)

a PR is created in locust-plugins.pr-151

Merged!


add delegate info to account view

we have delegate information returned by get_acct_info but it is not displayed. need to add it to the template. see also the hotfix #41 that makes the system ignore the delegate info for now

Hii


change to locator function breaks a lot of selectors

The change of #1829 breaks a lot of selectors.

For example my universal td selector
locate('td')
       .withText(text)
       .at(columnNumber)
       .inside(
         this.tableRows(tableId)
           .withText(text)
           .at(_rowNumber)
       )

Puppeteer throws this exception: "Uncaught DOMException: Failed to execute ... is not a valid XPath expression."
Reason: Brackets aren't allowed in a "ancestor"-selector.
//*[ancestor::(//*)[1]]
By the way removePrefix does not work for those kind of selectors as well.

Originally posted by @nitschSB in https://github.com/Codeception/CodeceptJS/pull/1829#issuecomment-523952794
Since I don't really understand what problem exactly this PR solves, I opened this ticket to discuss the change. At least to me it feels like it introduces more problem than it solves.

May be you are right.
But without examples I can't understand what's happened.
Please, provide more examples.

Ok. Sorry about it.
But I never used so terrible code like you showed. Usually I use xpath. And in this case my change work perfect.
You can revert my change if need.

You are right.
Please, revert my changes.

I thought a little about my example and your more or less offensive criticism

But I never used so terrible code like you showed.

I have to admit that my example is not pretty but it used to work. After your changes I may refactor my selectors to something like
locate('#tableId')
  .find('tr')
  .at(1)
  .find('td')
  .at(2)
  .withText('specificText')

which is better readable and leads to the xpath ((.//*[./@id = 'tableId']//tr)[position()=1]//td)[position()=2][contains(., 'specificText')]
I also thought about your statement

Usually I use xpath.

So why do you use the Locator Builder API at all?
I think this somehow is contrary to the Locator Builder API which "provides a fluent builder to compose custom locators in JavaScript". In my opinion you should either use xpath or the Locator Builder. It is possible to mix both and you may need it for some special edge cases, but if you do so you need to know the xpath syntax and the Locator Builder API.

Exactly my thoughts and also the solution I implemented to workaround this issue. Besides from actually breaking the locator API, it at least pointed out some badly designed locators. Out of 670 tests, this "only" broke 4 of them ;)
Back to topic, I think the minimal example that breaks is using "at" in conjunction with "inside". At least that was an observation of mine when rewriting the broken locators.

It's broken, when you use at, first or last in conjunction with find, withChild, withDescendant, inside, after or before.
The documentation of the Locator Builder API is a little sketchy.
locate('//tr/td').at(2); may lead to //tr/td[position()=2] or (//tr/td)[position()=2]. I don't know what to expect and what you want.

I just realized that I recommend a non breaking change a long time ago with #1670

I've just upgraded CodeceptJS to 2.3.x and I can see a regression.
The code locate("div").at(2).withAttr({ role: "row" }).withText("Line 1") is translated this way:

ver 2.2.1 as .//div[position()=2][@role = 'row'][contains(., 'Line 1')]
ver. 2.3.0 as (.//div)[position()=2][@role = 'row'][contains(., 'Line 1')] which doesn't work (tested in Chrome/Firefox)

It works well only without [position()=2]
As a workaround I had to adjust the locator a little bit. I replaced [position()=2] by one more attribute to narrow the locator:

locate("div").withAttr({ "aria-rowindex": "2" }).withAttr({ role: "row" }).withText("Line 1")


Remove ircmaxell/password-compat as it's intended to provide forward compatibility for PHP 5.4

However, it will still be installed in vendor as required by
rockettheme/toolbox

I removed dependency from toolbox; it wasn't needed in there.
https://github.com/rockettheme/toolbox/commit/578fabab2387e907dcd3f7b3c2bf9c37fe8a23bc

:+1:


Don't crash on the v8 demo

The v8 demo is in demo/demo.js
Right now, attempts to magic-trace it crash while trying to parse perf output:
   "3435768/3435768 1283684.240499276:   int<PHONE_NUMBER>05 v8::base::OS::Abort+0x15 =>     556263608d40 v8::internal::Snapshot::DefaultSnapshotBlob+0x57e00"))

or even:
   "3435768/3435768 1283760.029165481:   int                      55626368b83f v8::internal::Snapshot::DefaultSnapshotBlob+0xda8ff =>     5562635f7e80 v8::internal::Snapshot::DefaultSnapshotBlob+0x46f40"))

At this point, I'd normally go add parsing for software interrupts, int. But I don't understand what's going on here. Looking at V8's source code, OS::Abort is supposed to abort the process. But the process didn't abort! Also also, DefaultSnapshotBlob is pretty trivial function that doesn't look like it should be generating software interrupts.

It might be a V8-ism, but I'd like to point out that these are C++ functions, not JS.

Let's just treat it as a jump for now, and look into why later.

We weren't able to reproduce this again, so closing for now.


Add a risk disclosure to the top of the home page

"The Juicebox contracts have not been formally audited, use at your own risk. The community that supports Juicebox can be found and "

I think is actually p important @peripheralist

@mejango following up here - do you think this disclosure is sufficient? https://github.com/jbx-protocol/juice-interface/issues/32#issuecomment-906641665


Have an optional parameter for the Area container to constrain its dragging bounds

Is your feature request related to a problem? Please describe.
This might be more of a rare use case (which I ran into), but it would be nice to have the option to constrain the dragging of an Area into a specified zone. The current implementation only allows these constraints to be the program window/web canvas.
Example: In my scenario I have two same size panels, side by side, each of which can contain a number of Area containers with some widgets inside of them that the user can freely move around. However, I don't want them to be able to move the areas outside of their panels. The current implementation doesn't allow me to achieve this (or at least not easily if at all).
Describe the solution you'd like
I've come up with an API like Area::new("id").drag_bounds(bounds).show(... where bounds is a Rect. Supposedly, this should be implemented for Window as well?
I have this working locally (implemented only for Area so far), so I can submit a PR if this is something that we should have.
Thoughts?

Yeah, sounds like a good idea!

Added with #201


Add missing retrieveMessage methods to ReactionEvents

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Description
Adds a retrieveMessage method to the MessageReactionRemoveAllEvent and MessageReactionRemoveEmojiEvent. While it's just a shortcut for getChannel().retrieveMessageById(getMessageId()) and can therefore be seen as redundant and syntatic sugar, the GenericMessageReactionEvent also has such a method. So this addition makes the API more consistent

Wouldn't it be better to move this to the GenericMessageEvent class instead? Seems right now that you are just repeating the same code a few times

What about adding a interface like GenericMessageReactionRemoveEvent with the common code then?


Responsiveness issue on meshery.io/blog

Description
meshery.io/blog page has responsive issues to be fixed
Screenshots

Enviroment:

OS: Windows
Browser: Chrome
Version:
Device: Desktop

Contributor Guides and Handbook
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

📚 See the Contributing to Meshery.io Website section of the readme.md and other contributing instructions, too.
🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Kindly , assign this issue to me

Go on @horizenight 😎🚀


Fix Python requirements in Dockerfile

Steps to test/reproduce
Previously only development requirements were being installed when $BUILD_ENV == "development", preventing the app from starting (and even the build from completing). This change now always installs production requirements and then optionally installs dev requirements.

Doesn't the -c prod.txt mean that just installing dev.txt also includes the production deps?

That's exactly what I thought, but the actual dev.txt doesn't include a reference to prod.txt. I think this is expected as the new Dockerfile commands come from our other projects 🤷♂

 Fix Python requirements in Dockerfile

I think https://github.com/oddbird/MetaDeploy/commit/29b2d8756e77b9b68b21165a9b352096436abc91#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557 broke it for Docker dev. We pulled that commit in yesterday when we caught up with upstream

Ah, that makes sense. I wonder if we should be using the new make commands then? Not a big deal, as long as it's working.

Yeah, I think we're good. Is this something we should try to get merged upstream as well? I'm unclear on if/when SF pulls in our changes

Is this something we should try to get merged upstream as well? I'm unclear on if/when SF pulls in our changes

I don't think it's urgent, since like I said I'm pretty sure SFDO isn't using Docker for development. We usually batch PRs upstream when major features (or hotfixes) are completed, every few weeks or so. I'd say this can wait until we have Storybook setup, at least -- then we can submit everything for review upstream.


[BUG]: Typescript inference issue with a where on a one-to-one joins?

What version of drizzle-orm are you using?
0.26.3
What version of drizzle-kit are you using?
0.18.1
Describe the Bug
I have the following tables that I want to execute a certain query on them
creativeWork:
export const creativeWork = pgTable(
	'CreativeWork',
	{
		id: text('id').primaryKey().notNull(),
		authorId: text('authorId')
			.notNull()
			.references(() => user.id, { onDelete: 'cascade', onUpdate: 'cascade' }),
		status: creativeWorkStatus('status').default('PUBLIC').notNull(),
		type: creativeWorkType('type').notNull(),
		createdAt: timestamp('createdAt', { precision: 3, mode: 'date' })
			.defaultNow()
			.notNull()
	},
	(table) => {
		return {
			createdAtIdx: index('CreativeWork_createdAt_idx').on(table.createdAt)
		};
	}
);

blogPost:
export const blogPost = pgTable(
	'BlogPost',
	{
		id: text('id').primaryKey().notNull(),
		creativeWorkId: text('creativeWorkId')
			.notNull()
			.references(() => creativeWork.id, {
				onDelete: 'cascade',
				onUpdate: 'cascade'
			}),
		discussionForumId: text('discussionForumId')
			.notNull()
			.references(() => discussionForum.creativeWorkId, {
				onDelete: 'cascade',
				onUpdate: 'cascade'
			}),
		slug: text('slug').notNull(),
		title: text('title').notNull(),
		thumbnailUrl: text('thumbnailUrl').notNull(),
		description: text('description').notNull(),
		content: text('content').notNull(),
		languageTagId: text('languageTagId')
			.notNull()
			.references(() => languageTag.id, {
				onDelete: 'cascade',
				onUpdate: 'cascade'
			}),
		updatedAt: timestamp('updatedAt', { precision: 3, mode: 'date' })
	},
	(table) => {
		return {
			creativeWorkIdKey: uniqueIndex('BlogPost_creativeWorkId_key').on(
				table.creativeWorkId
			),
			discussionForumIdKey: uniqueIndex('BlogPost_discussionForumId_key').on(
				table.discussionForumId
			),
			slugKey: uniqueIndex('BlogPost_slug_key').on(table.slug)
		};
	}
);

creativeWorkRelations:
export const creativeWorkRelations = relations(
	creativeWork,
	({ many, one }) => ({
		author: one(user, {
			fields: [creativeWork.authorId],
			references: [user.id]
		}),
		tagsToBlogPosts: many(creativeWorkToTag),
		blogPost: one(blogPost, {
			fields: [creativeWork.id],
			references: [blogPost.creativeWorkId]
		}),
		post: one(post, {
			fields: [creativeWork.id],
			references: [post.creativeWorkId]
		}),
		discussionForum: one(discussionForum, {
			fields: [creativeWork.id],
			references: [discussionForum.creativeWorkId]
		}),
		discussionForumPost: one(discussionForumPost, {
			fields: [creativeWork.id],
			references: [discussionForumPost.creativeWorkId]
		})
	})
)

blogPostRelations:
export const blogPostRelations = relations(blogPost, ({ one }) => ({
	creativeWork: one(creativeWork, {
		fields: [blogPost.creativeWorkId],
		references: [creativeWork.id]
	}),
	languageTag: one(languageTag, {
		fields: [blogPost.languageTagId],
		references: [languageTag.id]
	})
}));

The query:
	const _blogPost = await drizzleClient.query.blogPost!.findFirst({
		where: (blogPost, { eq }) => eq(blogPost.slug, slug),
		with: {
			creativeWork: {
				with: {
					author: {
						columns: { name: true },
						with: {
							profile: {
								columns: {
									firstName: true,
									lastName: true,
									education: true,
									work: true,
									profilePicture: true
								}
							}
						}
					},
					tagsToBlogPosts: true
				},
				where: (creativeWork, { eq }) =>
					eq(creativeWork.status, CreativeWorkStatus.PUBLIC)
			},
			languageTag: true
		}
	});

I just to want to add a filter to creativeWork to only take what have a status of PUBLIC
The generated SQL:
select "id",
	"creativeWorkId",
	"discussionForumId",
	"slug",
	"title",
	"thumbnailUrl",
	"description",
	"content",
	"languageTagId",
	"updatedAt",
	"creativeWork"::json,
	"languageTag"::json
from (
		select "blogPost".*,
			case
				when count("blogPost_languageTag"."id") = 0 then '[]'
				else json_agg(
					json_build_array(
						"blogPost_languageTag"."id",
						"blogPost_languageTag"."code",
						"blogPost_languageTag"."name",
						"blogPost_languageTag"."countryCode",
						"blogPost_languageTag"."region",
						"blogPost_languageTag"."description",
						"blogPost_languageTag"."type"
					)
				)::text
			end as "languageTag"
		from (
				select "blogPost".*,
					case
						when count("blogPost_creativeWork"."id") = 0 then '[]'
						else json_agg(
							json_build_array(
								"blogPost_creativeWork"."id",
								"blogPost_creativeWork"."authorId",
								"blogPost_creativeWork"."status",
								"blogPost_creativeWork"."type",
								"blogPost_creativeWork"."createdAt",
								"blogPost_creativeWork"."author"::json,
								"blogPost_creativeWork"."tagsToBlogPosts"::json
							)
						)::text
					end as "creativeWork"
				from "BlogPost" "blogPost"
					left join (
						select "blogPost_creativeWork".*
						from (
								select "blogPost_creativeWork".*,
									case
										when count("blogPost_creativeWork_tagsToBlogPosts"."A") = 0 then '[]'
										else json_agg(
											json_build_array(
												"blogPost_creativeWork_tagsToBlogPosts"."A",
												"blogPost_creativeWork_tagsToBlogPosts"."B"
											)
										)::text
									end as "tagsToBlogPosts"
								from (
										select "blogPost_creativeWork".*,
											case
												when count("blogPost_creativeWork_author"."id") = 0 then '[]'
												else json_agg(
													json_build_array(
														"blogPost_creativeWork_author"."name",
														"blogPost_creativeWork_author"."profile"::json
													)
												)::text
											end as "author"
										from "CreativeWork" "blogPost_creativeWork"
											left join (
												select "blogPost_creativeWork_author".*
												from (
														select "blogPost_creativeWork_author".*,
															case
																when count("blogPost_creativeWork_author_profile"."userId") = 0 then '[]'
																else json_agg(
																	json_build_array(
																		"blogPost_creativeWork_author_profile"."firstName",
																		"blogPost_creativeWork_author_profile"."lastName",
																		"blogPost_creativeWork_author_profile"."education",
																		"blogPost_creativeWork_author_profile"."work",
																		"blogPost_creativeWork_author_profile"."profilePicture"
																	)
																)
															end as "profile"
														from "User" "blogPost_creativeWork_author"
															left join (
																select "blogPost_creativeWork_author_profile".*
																from "UserProfile" "blogPost_creativeWork_author_profile"
															) "blogPost_creativeWork_author_profile" on "blogPost_creativeWork_author"."id" = "blogPost_creativeWork_author_profile"."userId"
														group by "blogPost_creativeWork_author"."id"
													) "blogPost_creativeWork_author"
											) "blogPost_creativeWork_author" on "blogPost_creativeWork"."authorId" = "blogPost_creativeWork_author"."id"
										group by "blogPost_creativeWork"."id",
											"blogPost_creativeWork"."authorId",
											"blogPost_creativeWork"."status",
											"blogPost_creativeWork"."type",
											"blogPost_creativeWork"."createdAt"
									) "blogPost_creativeWork"
									left join "_CreativeWorkToTag" "blogPost_creativeWork_tagsToBlogPosts" on "blogPost_creativeWork"."id" = "blogPost_creativeWork_tagsToBlogPosts"."A"
								group by "blogPost_creativeWork"."id",
									"blogPost_creativeWork"."authorId",
									"blogPost_creativeWork"."status",
									"blogPost_creativeWork"."type",
									"blogPost_creativeWork"."createdAt",
									"blogPost_creativeWork"."author"
							) "blogPost_creativeWork"
						where "blogPost_creativeWork"."status" = $1
						-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
					) "blogPost_creativeWork" on "blogPost"."creativeWorkId" = "blogPost_creativeWork"."id"
				group by "blogPost"."id",
					"blogPost"."creativeWorkId",
					"blogPost"."discussionForumId",
					"blogPost"."slug",
					"blogPost"."title",
					"blogPost"."thumbnailUrl",
					"blogPost"."description",
					"blogPost"."content",
					"blogPost"."languageTagId",
					"blogPost"."updatedAt"
			) "blogPost"
			left join "LanguageTag" "blogPost_languageTag" on "blogPost"."languageTagId" = "blogPost_languageTag"."id"
		group by "blogPost"."id",
			"blogPost"."creativeWorkId",
			"blogPost"."discussionForumId",
			"blogPost"."slug",
			"blogPost"."title",
			"blogPost"."thumbnailUrl",
			"blogPost"."description",
			"blogPost"."content",
			"blogPost"."languageTagId",
			"blogPost"."updatedAt",
			"blogPost"."creativeWork"
	) "blogPost"
where "blogPost"."slug" = $2
limit $3 -- params: ["PUBLIC", "top-free-media-players-choose-the-perfect-one-for-your-needs", 1]

Expected behavior
The generated SQL works as excepted but my problem is that Typescript doesn't infer the types correctly
	const _blogPost = await drizzleClient.query.blogPost!.findFirst({
		where: (blogPost, { eq }) => eq(blogPost.slug, slug),
		with: {
			creativeWork: {
				with: {
					author: {
						columns: { name: true },
						with: {
							profile: {
								columns: {
									firstName: true,
									lastName: true,
									education: true,
									work: true,
									profilePicture: true
								}
							}
						}
					},
					tagsToBlogPosts: true
				},
				where: (creativeWork, { eq }) =>
					eq(creativeWork.status, CreativeWorkStatus.PUBLIC)
					/*
					Type '{ with: { author: { columns: { name: true; }; with: { profile: { columns: { firstName: true; lastName: true; education: true; work: true; profilePicture: true; }; }; }; }; tagsToBlogPosts: true; }; where: (creativeWork: any, { eq }: { ...; }) => any; }' is not assignable to type 'true | { columns?: { id?: boolean | undefined; authorId?: boolean | undefined; status?: boolean | undefined; type?: boolean | undefined; createdAt?: boolean | undefined; } | undefined; with?: { ...; } | undefined; extras?: Record<...> | ... 1 more ... | undefined; } | undefined'.
						Object literal may only specify known properties, and 'where' does not exist in type '{ columns?: { id?: boolean | undefined; authorId?: boolean | undefined; status?: boolean | undefined; type?: boolean | undefined; createdAt?: boolean | undefined; } | undefined; with?: { ...; } | undefined; extras?: Record<...> | ... 1 more ... | undefined; }'.ts(2322)
					*/
			},
			languageTag: true
		}
	});

When I ctrl + right on the with and searched for the reason for it on the Typescript
type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
    columns?: {
        [K in keyof TTableConfig['columns']]?: boolean;
    };
    with?: {
        [K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>>;
    };
    extras?: Record<string, SQL.Aliased> | ((fields: SimplifyShallow<TTableConfig['columns'] & TTableConfig['relations']>, operators: {
        sql: Operators['sql'];
    }) => Record<string, SQL.Aliased>);
} & (TRelationType extends 'many' ? {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    where?: SQL | undefined | ((fields: SimplifyShallow<TTableConfig['columns'] & TTableConfig['relations']>, operators: Operators) => SQL | undefined);
    orderBy?: ValueOrArray<AnyColumn | SQL> | ((fields: SimplifyShallow<TTableConfig['columns'] & TTableConfig['relations']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>);
    limit?: number | Placeholder;
} & (TIsRoot extends true ? {
    offset?: number | Placeholder;
} : {}) : {});

Changing this line from:
} & (TRelationType extends 'many' ? {
To:
} & (TRelationType extends 'many' | 'one ? {
Made it work, but is there a reason for this, I'm not really good at SQL and I'm trying drizzle as an alternative to Prisma because it's big size and how it handle it's joins
I'm not sure if this should be a bug, so I would be thankful if someone explained this to me or if there an other work around it.
Environment & setup
No response

A one-to-one relation always returns a single item based on the relation, how would you filter it?

@dankochetov I wanted to filter the blogPost by the status on the creativeWork, so if the value is not PUBLIC lets say PRIVATE or DELETED there won't be a creativeWork object and I can return to the user a not found response.

@dankochetov and is there a way to specify the type of the join with with syntax?

I'm facing the same issue; I also want to filter entries based on content in a related one-to-one data model with planetscale

Another case is where I have another table Post and when I call the query I want to join the creativeWork either with the post or the blogPost depinding on the creativeWork.type (BLOG_POST | POST)

Filtering by a nested relation's field is not supported currently. Filtering applies to the current relation level, not to the top level. Since it's a one relation, it always returns either a one or zero items, so there is nothing to filter.


Add rule to create self-contained binaries for .NET Core

csharp_binary outputs IL files ("DLLs", but we currently give them a .exe extension anyway) but people will probably want the ability to create self-contained executable files.
With the usual SDK, you use dotnet publish --self-contained (see the docs).
I don't think this should be the default, because it would be simpler to keep everything in DLLs within the build graph (e.g. so you can add the output of csharp_binary to the deps of another rule.. a common use case being tests). I think we should have a specific rule for "packaging" a binary up. These rules wouldn't emit CSharpAssembly_* providers.
We need to investigate how this stuff works more. We don't have access to dotnet publish directly because we don't have the SDK. The SDKs are framework-specific, and right now we are manually using the runtime + the compiler as our toolchain (rather than having one toolchain per (platform, framework) pair).

As of #97, we now have access to the full SDK. So for this task we now have access to dotnet publish directly.
For publishing up a self-contained binary I suspect we would have to generate a csproj file (similar to ResX). This would also likely be the case for #30.
There is discussion of this nature for dotnet pack about needing to generate a stub csproj file.


Upgrading graphql to 3.0.2 breaks subscriptions

Describe the bug
The subscriptions worked fine with package version 3.0.1-beta.2 of graphql. Upgrading to 3.0.2 made my subscriptions throw the following error:
Connecting to VM Service at ws://localhost:1025/ws[log] Logged in!
flutter: Connecting to websocket: ws://<serverURL>
flutter: Connected to websocket.
flutter: There was an error causing connection lost: Converting object to an encodable object failed: Instance of 'InitOperation'
flutter: Disconnected from websocket.
flutter: Scheduling to connect in 5 seconds...
flutter: Caught error: NoSuchMethodError: The method 'where' was called on null.
Receiver: null
Tried calling: where(Closure: (GraphQLSocketMessage) => bool)
flutter: #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:53:5)
#1      SocketClient.subscribe.<anonymous closure>.<anonymous closure>
package:graphql/src/socket_client.dart:284
[...]

The debug console points the issue at file graphql-3.0.2/lib/src/socket_client.dart:284
To Reproduce
I have the following scenario:
String serverURL = "<serverURL>",
String subscriptionURL = "<subscriptionURL>";

HttpClient httpClient = HttpClient();

final httpLink = HttpLink(
  uri: serverURL,
  httpClient: ioClient,
);

final authLink = AuthLink(
  getToken: () async => 'Bearer $_token',
);

final webSocketLink = WebSocketLink(
  url: subscriptionURL,
  config: SocketClientConfig(
    autoReconnect: true,
    inactivityTimeout: Duration(minutes: 5),
    initPayload: () => {'api-key': _token},
  ),
);

final link = Link.from([authLink, httpLink, webSocketLink]);

return GraphQLClient(
  cache: NormalizedInMemoryCache(
    dataIdFromObject: typenameDataIdFromObject,
  ),
  link: link,
);

And later on, create my subscription like so:
Stream<Project> subscribeProject(String projectId) async* {
  final subOperation = Operation(
    documentNode: gql(Subscriptions.SubscribeProject),
    variables: {'id': projectId},
  );

  await for (FetchResult result in gqlClient.subscribe(subOperation)) {
    try {
      yield Project.fromJson(result.data['project']);
    } catch (e) {
      debugPrint(e);
    }
  }
}

Expected behavior
Do not see an error stacktrace.
Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.17.2, on Mac OS X 10.15.4 19E287, locale en-CA)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    ✗ Android SDK file not found: adb.
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
[!] Android Studio (version 3.5)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.45.1)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

initPayload should be a literal value ({'api-key': _token}) and not a callback (() => {'api-key': _token}) which is why this is failing to serialize initially.
Going through the diff (even against master) I don't think there's a particular change causing this: https://github.com/zino-app/graphql-flutter/compare/v3.0.1-beta.2...master. The error could certainly be clearer though

@micimize Has any example how to use initialPayload with async data? Like AuthLink with getToken?

@micimize Has any example how to use initialPayload with async data? Like AuthLink with getToken?
Before version 4.0.0-alpha.0, I used it like this:
final WebSocketLink websocketLink = WebSocketLink(
  subscriptionUri,
  config: SocketClientConfig(
    autoReconnect: true,
    inactivityTimeout: Duration(seconds: 30),
    initPayload: () async {
      final String token = await Hive.box('auth').get('token');

      if (token == null || token.isEmpty) return {};

      return {
        "headers": {"Authorization": 'Bearer ' + token}
      };
    },
  ),
);

@RodolfoSilva sorry – amended my comment above. Looks like we need to apply the async initialPayload handling logic from beta to gql_websocket_link

Thanks @micimize

@micimize I send a PR. (https://github.com/gql-dart/gql/pull/122)

Any idea when this fix will make its way into master?

@NotHolst,
I think @micimize is waiting @klavs

4.0.0-alpha.6 revived the old WebSocketLink and should resolve this


Update Get-ADFSEndpoint.md

Issue #1882 - Example Correction.

Docs Build status updates of commit 228918e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

docset/winserver2012-ps/adfs/Get-ADFSEndpoint.md
:x:Error

Details

docset/winserver2012-ps/adfs/Get-ADFSEndpoint.md

[Error]

Failed to parse this MAML markdown file due to :21:(115) '

### Example 1: Get an endpoint
'
 Expect Heading level 2, please use PlatyPS to do content validation

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@dariomws @get-itips @tseward
Peer review needed for this PR. Thanks.

I'm OK with the change itself when the build block is fixed.

Hi @get-itips
Thank you! I've updated the PR now. Kindly verify now. Thanks.

Thank you, @get-itips  :)

Docs Build status updates of commit 001eb1f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

docset/winserver2012-ps/adfs/Get-ADFSEndpoint.md
:x:Error

Details

docset/winserver2012-ps/adfs/Get-ADFSEndpoint.md

[Error]

Failed to parse this MAML markdown file due to :21:(115) '

## EXAMPLES: Get an endpoint
'
 Unexpected header name EXAMPLES: Get an endpoint, please use PlatyPS to do content validation

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

ok let's see if the build passes now..

Docs Build status updates of commit e2c568b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2012-ps/adfs/Get-ADFSEndpoint.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Occasional NullReferenceException when disposing

I sometimes - not always, get a NullRef when disposing:
System.NullReferenceException : Object reference not set to an instance of an object.
at Microsoft.Data.Sqlite.SqliteConnectionExtensions.ExecuteNonQuery(SqliteConnection connection, String commandText)
at Microsoft.Data.Sqlite.SqliteTransaction.RollbackInternal()
at Microsoft.Data.Sqlite.SqliteTransaction.Dispose(Boolean disposing)
at System.Data.Common.DbTransaction.Dispose()
at Microsoft.Data.Sqlite.SqliteConnection.Close()
at Microsoft.Data.Sqlite.SqliteConnection.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
using version 2.0

There's no obvious way of getting this exception from this code path. You may be calling Dispose() on two different threads. If you can provide us a simple repro, we can investigate further.

I've got this, too, on my system test. It ran well for many times and then I got NullReferenceException on closing the connection.
public class QlcContext : DbContext
{
	// ..

	private SqliteConnection connection;

	public override void Dispose()
	{
		base.Dispose();
		connection.Close(); // NullReferenceException
	}

	protected override void OnConfiguring(DbContextOptionsBuilder contextOptionsBuilder)
	{
		connection = new SqliteConnection("Data Source=qlc.db");
		connection.Open();

		string password = "MyPass";

		var command = connection.CreateCommand();
		command.CommandText = "SELECT quote($password);";
		command.Parameters.AddWithValue("$password", password);
		var quotedPassword = (string)command.ExecuteScalar();

		command.CommandText = "PRAGMA key = " + quotedPassword;
		command.Parameters.Clear();
		command.ExecuteNonQuery();
	}
}

My used packages:
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.0.1" />
<PackageReference Include="SQLitePCLRaw.bundle_sqlcipher" Version="1.1.9" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="1.1.9" ExcludeAssets="All" />


Exception is thrown when working with the dev tools

Describe the bug
The exception is thrown when working with the devtools (F12)
To Reproduce
0. In VS make sure that "Just My Code" is disabled in debug config:

During the app runtime make sure that "common language runtime exceptions" in exception settings is fully enabled like so (checkbox on a white background)

Create fresh Avalogia app, add the community toolkit nuget package
Add a new dummy window
add 2 buttons to the main widnow.

  <StackPanel>
    <Button Command="{Binding OpenNewWindowWithToken}">Open new window (with CancellationToken)</Button>
    <Button Command="{Binding OpenNewWindow}">Open new window</Button>
  </StackPanel>

create 2 commands in the main view model, one with cancellation token, one without

    [RelayCommand]
    public async Task OpenNewWindowWithToken(CancellationToken token)
    {
        var newWindow = new Window1();
        newWindow.Show();
    }

    [RelayCommand]
    public async Task OpenNewWindow()
    {
        var newWindow = new Window1();
        newWindow.Show();
    }

Launch the app.
Press F12 to enter the Dev tools.
Click on a main window item:

see the exception thrown System.Reflection.TargetException: 'Object does not match target

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) in /_/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs:line 431"

now, if you click "Continue" - the app will continue to execute just fine. This exception is only shown when you do the pre-config from "point 1".
Expected behavior
Exceptions shall not be thrown. If thrown - shall be handled.
Screenshots

Desktop:

OS: Windows 10 x64
Avalonia Version="0.10.18"
Avalonia.Desktop Version="0.10.18"
Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.4.3
CommunityToolkit.Mvvm v.8.1.0

Additional context
The code that reproduces the problem is located in repo https://github.com/pavlexander/avaloniaExceptionTest1

I think this failure is exactly the same as https://github.com/AvaloniaUI/Avalonia/issues/10048 . You need to bind to the generated Command, which is OpenNewWindowWithTokenCommand and OpenNewWindowCommand, but not the raw method.

Seems so. I will close this issue, as another one has more details.


Server push

As dependency trees get deeper I'd like to see my Deno apps still load from no cache very quickly.
Today as I understand it the first (entry point) module is downloaded and then Deno identifies import statements and then starts downloading the next modules. The deeper the tree of dependencies the more time waiting to determine what modules to request next.
What I think I'd like to see is for Deno registry to push all dependencies to the client. If a client already has certain resources cached then it can cancel the push promises. This might be overkill for when most of the cache is already populated. Perhaps a flag is sent on the initial request signaling an opt-in to such functionality but that might not be necessary as cancelling pushes might suffice (a small bandwidth cost for low latency guarantees).
I think this would be useful for fresh development containers where there is no cache yet, CI/CD pipelines with limited or no caches, etc.
Ultimately it means that developers need to worry less about how deep the tree of dependencies gets (or how small and many modules they make) and not be concerned with creating build steps that pre-bundle things, etc. but can point to an entry module and know that it will quickly load even from nothing yet cached.

Server push is not supported in any browser anymore, and Deno does not support it either. H2 server push is dead: https://evertpot.com/http-2-push-is-dead/.
Best we could do is have deno support Link: rel=preload headers, but that should start out as a feature suggestion on denoland/deno.

I had no idea. 🤯
Thank you for enlightening me!


[Question] Color addon darken/lighten are internal (ColorUtils)

Why are the methods internal and not public? If I want to use these methods, this is not possible due to the internal limitation. https://github.com/Windows-XAML/Template10/blob/master/Template10 (Library)/Utils/ColorUtils.cs#L15

Because they don't work properly.

They work just enough for the HamburgerMenu, their only consumer.

What we need to write is a ColorService in Services.

There is a ColorService in Services, by the way.

I tested it when I wrote it years ago. But haven't looked at it in a long time.

Find it here: https://github.com/Windows-XAML/Template10/tree/master/Template10 (Services)/ColorService

As a reminder, a Helper is a kind of class that could be copied and pasted into any class without change. That's because a helper is a wrapper of code in a generic way. A Service, on the other hand, might not work in some projects and might need to be rewritten. Services are specific to the scenarios and often expose only small portions of the Helper, according to the needs of the app. The interface is for the Service, not the Helper. The interface helps you in mocking both designtime and test data.

Thank you for your explanation. I remember that I have looked into ColorService long time ago and had not seen an "Color" addon with darken/lighten methods or similar function in the class. So I have used in my fork the ColorUtils class where I had set all methods to public.
But I wonder, that ColorUtils is the only class in Utils folder where the methods are set to internal.
Would you consider it for good if we extend the ColorService to these functions?

Yeah, probably. :)


double space not reported

guess its due to keywords like TYPE + LIKE which can have preceding whitespace
SELECT SINGLE sdfds FROM but000 INTO sdfsd  WHERE partner = w_adr-partner.

also
read_view( IMPORTING es_dd25v        = ls_dd25v ).

hm, closing


Training speed on GPUA800

According to your report, the training speed of Stage3 on GPUA800 is around 3s/it. But when I used your training script, I found that the speed was only 7.5s/it(if use_image_num=0) to 11s/it(if use_image_num=16) (whether on 1 single GPU node or 2-4 GPU nodes), which is 2x slower than your report.
Is there any possible reason?

Hi, we checked and updated that.

Thank you for your quick response!


email_view not triggered

Hello
I'm having troubles while trying to listening to the email_view event on the thread view: this event does not fire and I can't detect when the user clicked on an email of the conversation. My code is pretty straightforward:
    var gmail = new Gmail();

    gmail.observe.on('view_thread', function(obj) {
        console.log('view_thread', obj);
    });

        // now we have access to the sub observers view_email and load_email_menu
    gmail.observe.on('view_email', function(obj) {
        console.log('view_email', obj);
    });

but I can't see any view_email logged. I also tried with custom listener (see code below) by listening to insertion of 'h7' classes element but again, no luck. Am I doing anything wrong?
gmail.observe.register('thread_email_opened', {
      class: 'h7'
});
gmail.observe.on('thread_email_opened', function(match) {
      console.log('thread_email_opened',match);
});

Maybe you're trying to execute your code too early. Have you followed the boilerplate example provided ? You need to wait for the document and for Gmail to finish loading before executing your code. I just tried the same code you have in my extension, no problem at all.

@dariospadoni Can you check if your code works if you first wait for the gmail.observe.on("load") event before registering the other events? Also see: https://github.com/KartikTalwar/gmail.js/issues/336

I am having (almost) the same problem where my email observations stop firing after a while.  My code is very similar to the boilerplate:
var main = function()
{
gmail = new Gmail();
window.addEventListener("message", receiveMessage, false);
gmail.observe.on("load", function()
{
currentMessageId = null;
gmail.observe.on("view_thread", function()
{
  console.log('Viewing thread currentMessageId ' + currentMessageId);

  gmail.observe.on("view_email", function(curr)
  {
    currentMessageId = curr.id;
    console.log('Viewing email ID ' + currentMessageId);
  });
});

});
}
It works for a while, but if I expand/collapse messages enough times it stops firing.
Any ideas?

Maybe (really not sure about this) you're declaring too much events observers ? Unregistering some of them could help ?

I am pretty sure I need those observers to when the thread or message changes.

I guess you're right. What made me think so is, you're registering a new "view_email" event for each opened thread. I use these without any problem by defining them one above the other :
gmail.observe.on('view_thread', function(obj) {
    // console.log('view_thread', obj);
});
gmail.observe.on('view_email', function(obj) {
    // console.log('individual email opened', obj);
});

and also not in a
gmail.observe.on("load"

event. main function is enough for me, since we're waiting for everything to be fully loaded before calling main.

Well, I tried having the view_email not be underneath view_thread, and it worked fine for a while but after opening and closing messages in a thread several time it, too, stopped firing.
Thanks for the suggestion, though.

What I'm doing is that when a mail is opened, I insert something into the html. And if I clic the message to collapse it and expand it again, it doesn't remove my insertions nor does it fire the event again - since it didn't load anything again, that's expected behavior.
I hope you will find how to get rid of this, good luck

Considering OP hasn't responded to this issue since filing it, I'm going to assume this is no longer a problem.
Because of that, I'm closing this issue. Please re-open if you still have something you need to resolve.


First byte missing from binary data blobs

This is a very nice socket.io client library, the best I've found for Unity, and I'm happy it uses the same JSON parser I'm using, JSON.net, so it is easy to integrate with my code. (Nobody wants to mix two different JSON parsers, and JSON.net is the best and most standard and widely used I've found.)
It works fine for text messages, but I'm having a problem with sending binary blobs: it's removing the first character of every binary blob!
I'm talking to a node server using the latest socket.io server, and the binary messages are coming from a web browser running the latest socket.io client.
The packets are arriving from the browser socket.io client to the node socket.io server in good condition, and seem to be going out to Unity in good condition.
But I've narrowed it down to this line, that skips for a reason I can't understand, line 145 of SocketIOConnection.cs:
                currentPacket.Attachments.Add(e.RawData.Skip(1).ToArray());

https://github.com/dp0ch/Unity-SocketIO-Client/blob/master/Scripts/SocketIOConnection.cs#L145
Since my problems was that one byte was missing, and that code was skipping a byte, I tried removing the .Skip(1), and now it works for me (albeit with limited testing, but now it works all the time for my particular setup)!
But I'd like to understand if that was the right thing to do, why it was doing that, or if this change might break under different circumstances or with different servers, please.
Thank you for developing and sharing Unity-SocketUI-Client, which is very useful, and I hope I can help improve it.

Hi, thanks for your feedback!
I'm very glad to see that this is useful to someone else too.
The reasoning behind skipping the first byte of binary frames is that according to the engine.io protocol spec the first byte of a binary packet is supposed to be the engine.io packet type id followed by the actual packet data.
It seems that in your case the packet type id just isn't included which is very strange indeed. I'm not quite sure why this is the case.
I'm going to verify it once I have time to do it thoroughly enough - which should be within the next 2-3 days.
For now if your server really just doesn't include the type getting rid of the Skip(1) should do the trick.
You might then also want to omit the packet type from the client>server packets because the server probably expects the same format it sends. The function that's responsible for that would be BinaryPacket in the Packet class
https://github.com/dp0ch/Unity-SocketIO-Client/blob/master/Scripts/Packet.cs#L130
(No guarantees of course as I don't really know why this happens yet)
Thanks a lot for letting me know about this issue and sorry for any inconvenience. I'll get back to you soon.

Thanks for taking the time to look into this stuff!
I joined the socket.io slack https://socketio.slack.com and asked for advice.
Somebody pointed me to the #firecamp slack channel and app at https://firecamp.app/ for testing socket.io servers and clients!
It looks like that will a great help to test and diagnose what's going on!

I just wanted to chime into this thread (since I was pulling my hair out!!)
The bug is actually because you're skipping the first byte twice. Once here: https://github.com/dp0ch/Unity-SocketIO-Client/blob/master/Scripts/SocketIOConnection.cs#L145 (which is the correct spot stripping the type byte off the front), but then you also do it here: https://github.com/dp0ch/Unity-SocketIO-Client/blob/master/Scripts/Packet.cs#L59
The fix is simply changing line 59 in Packet from:
return Attachments[(int)num].Skip(1).ToArray();

to
return Attachments[(int)num];


Why VTK cannot be found after installing successfully?

Discussed in https://github.com/microsoft/vcpkg/discussions/20040

Originally posted by mjjackey September  8, 2021
I used vcpkg to install vtk, the installation was successful.

After integration configuration, the project still cannot find VTK.

What's the reason of this problem?

Closing in favor of https://github.com/microsoft/vcpkg/discussions/20040.


[Azure Search] Create data model

Create a data model that can support NuGet's v3 search API.
See https://docs.microsoft.com/en-us/azure/search/search-create-index-dotnet
See https://docs.microsoft.com/en-us/azure/search/search-howto-complex-data-types

Fixed by https://github.com/loic-sharma/BaGet/commit/1357ea3533c99b1d2535a8c985fd83f5684e440d


Create React App prints webpack noise on startup

This isn't supposed to be printed. Looks like a regression.

I've made a PR to fix this issue by setting stats such that webpack only outputs errors and warnings.


Revert #68952 [Casting] Make more casts look inside __SwiftValue

Turns out that our Obj-C bridging relies on this inconsistent behavior, so it can quite likely never be actually fixed.
I kept the tests and marked them as XFAIL with comments explaining why they should be left that way.

@swift-ci Please test


Clangd does not resolve include, in spite of correct include path being present in compile command

I am trying out clangd in a large codebase for the first time.
It works fine for many files, but for some files, clangd fails to resolve many #includes (and consequently many symbols) in the file.
I am using vscode as the client, and when I open an affected file, in the Output view I see the expected:
I[<timestamp>] Updating file <filepath> with command [<directory>] <command>

The <directory> and <command> there look correct, and the <command> contains the expected -I directives.
If I go to <directory> in a terminal and run <command>, it succeeds (no diagnostics about unresolved includes or anything else).
If I edit <command> to replace the compiler path with the clang executable from the same installation as clangd, it still succeeds (no diagnostics about unresolved includes and no errors of any kind; I do get a couple of warnings this time).
So, I don't understand why clangd is failing to resolve the includes. Any suggestions for how I can diagnose this further?

Hi Nathan,
Are those includes from project itself, or headers coming from toolchain/built-in like stddef, iostream etc. ?
Figuring out includes are rather handled by HeaderSearch in clang. You can try digging into that component. Apart from that, we could have a look if you could provide a repro. It should be enough to mimic directory structure and a compile_flags.txt.
That approach should also help you in case you want to dig it yourself.

Taking another look, I see that the includes that can't be resolved are the ones that are located in the same directory as the source file and included via a simple #include "Filename.h", rather than ones in directories specified by -I flags. This suggests that the problem is related to clangd's handling of the "current directory" when processing a command.
I will try to prepare a repro.

If that's the case, you shouldn't be seeing diagnostics saying "file not found", the problem with relative includes was coming up when we wanted to insert a header after a completion. Also we've send fixes for that, but might've missed something.
Apart from that clangd should be able to parse the file correctly.

Ok, here is a minimal repro: clangd-issue-147.zip
Steps to repro:

Extract the zip file into /tmp.
Run code /tmp/clangd-issue-147/src (with clangd present in the PATH).
Open Foo.cpp. Observe that #include Foo.h is not resolved.

The unusual thing about this project setup which is likely related to the problem is that, to improve build speeds, source files in the source directory are aggregated into "unified source files" in the build directory which #include the original source files, and it's these unified source files which are compiled.

Yes, this is a known issue and requires a lot to be changed in clangd, you can see a similar issue in #45 . Even though files are self-contained in your case, we still can't find the include because clangd overrides main file contents of the compiler invocation with the current file you are editing.
So we are telling the compiler that it is gonna compile the translation unit build/Unified1.cpp with file contents:
#include "Foo.h"
....

And it fails because Foo.h doesn't exist in any include directories provided or the same directory as build/. You can try:

putting those unified files in src directory, this will help resolve includes relative to current directory
changing the name field to "unified1.cpp" in compile_commands.json, this will result in clangd inferring compile commands for "foo.cpp" from "unified1.cpp" while making necessary file{name,path} changes.
then clangd should (mostly) work as long as you keep your header/source files self-contained.

Maybe same problem so I add here and want to know how to config the clangd/vscode-clangd.
when I use it to learn boost, it fail as:
"'boost/intrusive/list.hpp' file not found with  include; use "quotes" instead"
when I change  include to "quotes" include
#include <boost/intrusive/list.hpp>
#include "boost/intrusive/list.hpp"
then it fails with
"'boost/intrusive/detail/config_begin.hpp' file not found"
the line in boost/intrusive/list.hpp.
source code:
https://www.boost.org/doc/libs/1_71_0/doc/html/intrusive/usage.html#intrusive.usage.usage_both_hooks
system:
win7 x64/vsode/vscode-clangd/mingw64
compile_flags.txt:
--target=x86_64-w64-mingw32
-std=c++17
-I d:\cpp\boost_1_71_0

does the compile_flags.txt you mention also governs the d:\cpp\boost_1_71_0 directory ?
Also in which file you are seeing those errors exactly? Directory layout plays an important role in these cases, so we could provide more info if you can specify that.

does the compile_flags.txt you mention also governs the d:\cpp\boost_1_71_0 directory ?
Also in which file you are seeing those errors exactly? Directory layout plays an important role in these cases, so we could provide more info if you can specify that.

hi kadircet,
my workspace is d:\test, compile_flags.txt is in this directory
I have try copy d:\cpp\boost_1_71_0\boost to d:\test and use -I . in compile_flags.txt , but it still can't find the included header.
when I use angled include the error exist in the source file, and when I use quote include , it can locate the  boost/intrusive/list.hpp,  but fail at list.hpp because the first include line is
#include <boost/intrusive/detail/config_begin.hpp>
then log with "'boost/intrusive/detail/config_begin.hpp' file not found"

Actually reading this again, clangd would actually work for this example if the filename mentioned in the compile_commands.json was for Unified1.cpp, rather than Foo.cpp. Current database:
[
  {
    "directory": "/tmp/clangd-issue-147/build",
    "command": "clang++ -c -o /dev/null Unified1.cpp",
    "file": "/tmp/clangd-issue-147/src/Foo.cpp"
  }
]

Hence clangd assumes this entry indeed belongs to src/Foo.cpp and don't try to interpolate the entry for src/Foo.cpp. If the File said build/Unified1.cpp instead, we would transfer the command to apply to Foo.cpp and everything would work.
Is this compilation database generated by some default build system like cmake?

Is this compilation database generated by some default build system like cmake?

In my case, no, it's generated by a custom python script.
We've already modified the script to generate entries that look like this:
  {
    "directory": "/tmp/clangd-issue-147/build",
    "command": "clang++ -c -o /dev/null /tmp/clangd-issue-147/Foo.cpp",
    "file": "/tmp/clangd-issue-147/src/Foo.cpp"
  }

I understand that the following would also work:
  {
    "directory": "/tmp/clangd-issue-147/build",
    "command": "clang++ -c -o /dev/null Unified1.cpp",
    "file": "/tmp/clangd-issue-147/build/Unified1.cpp"
  }

but I'm not sure what the advantage would be. (In particular, if there are include-what-you-use errors in Foo.cpp due to implicit dependencies on declarations from previously-included .cpp files in Unified1.cpp, they would show up with either approach.)

but I'm not sure what the advantage would be. (In particular, if there are include-what-you-use errors in Foo.cpp due to implicit dependencies on declarations from previously-included .cpp files in Unified1.cpp, they would show up with either approach.)

You are totally right, I was just trying to say that working with unity builds vs working with non-self-contained files are two different problems, and clangd can actually work with unity builds even when there's only a single entry in compile_commands.json for the jumbo translation unit. If I am not missing something this issue is particularly about that, and clangd is currently working in those cases. So I actually came here to close the issue :)
The problems related to non-self-contained files should be tracked by #45 instead. Please re-open if you disagree and there are other things we can do about this issue (i.e. clangd not working with unity builds even when individual files are self contained).

I think you're right, there isn't anything to change in clangd here other than #45. Thanks.


Add Code of Conduct link to Readme

Codecov Report

Merging #403 (361ab51) into main (8aecbc8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #403   +/-   ##
=======================================
  Coverage   56.62%   56.62%
=======================================
  Files          44       44
  Lines        7518     7518
=======================================
  Hits         4257     4257
  Misses       2655     2655
  Partials      606      606

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 8aecbc8...361ab51. Read the comment docs.


Can we list frontends or backends in order when using show frontends; command?

Enhancement
Currently, the list order will change, and I don't know the order rule.
There are two ways to improve the order:

List FEs or BEs with a fixed order, no matter a node leaves or joins in;
We can add order by IP; sub statement to sort FEs or BEs as we like.

https://github.com/StarRocks/starrocks/pull/7731/files


Keycloak docker tests

Issue #:
https://github.com/bcgov/met-public/issues/937
Description of changes:

For doing Keycloak level tests , added a docker based Keyclaok config.Now we can add users , retrieve groups etc.
During tests , now the keyclaok gets started.In local , we have to do manually by docker-compose up .
Keycloak default values are added from the realm json.
Added a sample realm json to support keyclaok initial data loading
Added tests

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Great job, thank you!


merge from template-node-app

.github/workflows/ci.yml

chore(deps): (jobs.test-node.strategy.matrix.node-version)
chore: add 18.16.1 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 18.16.1 (jobs.analyze.steps.with.node-version)

.github/workflows/update_package_lock.yml

chore: add 18.16.1 (jobs.update_package_lock.steps.with.node-version)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 58.883%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
109

Relevant Lines:
182

💛  - Coveralls


ANT+ USB stick not found! - Raspberry Pi

pi@raspberrypi:~/ant-plus/sample $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 0e8f:2517 GreenAsia Inc.
Bus 001 Device 004: ID 1a86:e5e3 QinHeng Electronics
Bus 001 Device 009: ID 0fcf:1008 Dynastream Innovations, Inc. ANTUSB2 Stick
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls /dev/ttyUSB0
/dev/ttyUSB0
When I attempt to run my program I get the error:
ANT+ USB stick not found!
/home/pi/ant-plus/build/ant.js:522
this.outEp.transfer(data, function (error) {
^
TypeError: Cannot read property 'transfer' of undefined
at GarminStick3.USBDriver.write (/home/pi/ant-plus/build/ant.js:522:20)
at StrideSpeedDistance.broadcast (/home/pi/ant-plus/sample/strideSpeedDistance/strideSpeedDistance.js:65:16)
at a (/home/pi/ant-plus/sample/strideSpeedDistance/start.js:93:9)
at Object. (/home/pi/ant-plus/sample/strideSpeedDistance/start.js:98:1)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47
any help will be greatly appreciated.
MIke

There's at least two differing ANT+ stick ID codes - I have an old Garmin ANT stick (the long one, not the short stubby type) so had to change the coding in at least one of the files as it appears to reference the stubby one. Otherwise you do get the can't find stick error.
For what it's worth, though I got it all working in the end (the debug output showing the treadmill speed correctly), the ANT transmission of this failed to work - Zwift would pick up and pair to the device ID in the pairing screen okay, but 99% of the time the speed remained at zero. Very rarely Zwift would pick up the speed for about a second, then lose it again. I tried everything I could think of, moving the ANT sticks closer together to rule out interference/loss of signal, but the issue remained. I gave up in the end, which is a shame as it would have been great if I could have got it to work.

There's at least two differing ANT+ stick ID codes - I have an old Garmin ANT stick (the long one, not the short stubby type) so had to change the coding in at least one of the files as it appears to reference the stubby one. Otherwise you do get the can't find stick error.
For what it's worth, though I got it all working in the end (the debug output showing the treadmill speed correctly), the ANT transmission of this failed to work - Zwift would pick up and pair to the device ID in the pairing screen okay, but 99% of the time the speed remained at zero. Very rarely Zwift would pick up the speed for about a second, then lose it again. I tried everything I could think of, moving the ANT sticks closer together to rule out interference/loss of signal, but the issue remained. I gave up in the end, which is a shame as it would have been great if I could have got it to work.

Hey Rob,
I was able to get my USB Stick found by editing the GarminStick3 to GarminStick2.
It looks like I am in the same boat as you.....Zwift pairs and connects AOK, but speed at 0.....once in a while Zwift will pick it up, but primarily stuck at 0.
I will continue to test and troubleshoot.  If I get it going, I will post back.

Hey Rob,
I was able to get my USB Stick found by editing the GarminStick3 to GarminStick2.
It looks like I am in the same boat as you.....Zwift pairs and connects AOK, but speed at 0.....once in a while Zwift will pick it up, but primarily stuck at 0.
I will continue to test and troubleshoot.  If I get it going, I will post back.


Feedback pass

These changes were suggested by readers via WBE's feedback mechanism. Thank you, readers!

I especially want to thank Julian Geppert, who pointed out that we had too big a click area for the address bar, across 8+ chapters and even relied on in two chapters' tests.


Patchouli Guidebook - I hope you like json

Several notes:
This commit modifies build.gradle, and adds dependencies to be able to use this project directly from clone.
As we discussed, this adds a completely patchouli ported technician's journal.

need to make some changes

Just putting this here for future reference:
The reason this (massive) PR hasn't been merged yet is because CR1.12 isn't getting new features. The first public version of CR for 1.14 WILL have this PR merged (assuming patchoulli updates to 1.14, which it hasn't at time of writing)


[Feature Request] Multiple features

Hi again! Thank you for the quick updates and implementation of features. I have tested the V0.3.0-dev build and everything works perfectly!
I have a few more QOL requests if you you think its useful

Translation :
Will it be possible to add a translation function to the listener? Understand that it might be slow if you pipe from telegram > translator > discord so it could be optional. Could be like how you made it for OCR, e.g
[TRANSLATION]
enabled=true

message
===TRANSLATION===
translated message

Cut db file every day  :

I am not sure if this is possible, but could there be an option to cut the .db file every day so we can run our own scripts to export or mail it somewhere else? for example something like
[EXPORT_DB]
enabled=true
time_to_cut_file=0000H GMT+0

config_file for exporting of db to csv  :
An option to export the sqlite3 db to csv with our custom headers.
For example now the telegram_message csv starts with id, group_id , media_id etc. Is it possible for us to use another config file to choose what to export? E.g,
#export config file
[EXPORT_CSV]
header=group_id
header=group_username
header=title
header=message

Thank you once again for your hard work!

Hi. I'm Happy to know that you are testing the 0.3.0 :D
About the features:
1-) You tell the translation, translation? Like, ENG to PT_BR or RU to ENG?
2 and 3-) I'm planning a auto export already, probably because the same problem that you are facing. Ref: https://github.com/guibacellar/TEx/issues/53
I'm prioritizing the export feature to 0.3.0 official release.

And one thing that you say making me think about create a "Beta" build for the working versions. This way, anyone can download and try the On Development versions.

It' taking a time, but I'm almost there ;)
Realtime, Rolling file exporting as csv, xml, json or pickle......

Closing for Issues Cleanup. All requests features was addressed in other issues


compile client under freebsd

Describe your changes
compile netbird client under freebsd
Issue ticket number and link
https://github.com/netbirdio/netbird/issues/1505
Checklist

[ ] Is it a bug fix
[ ] Is a typo/documentation fix
[x] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

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

Great stuff @skillcoder! Thank you for the contribution.
P.S. Would you like to get a NetBird t-shirt? Ping me on Slack

I need help from core team to setup github checks (tests, linters) for freebsd os.
And seems currents test required root to run + do not cleanup all created interfaces
Also need take into account following test warnings and error
time="2024-03-31T16:01:29Z" level=warning msg="the network <IP_ADDRESS>/24 has not been assigned a routing peer as no peers from the list [peer1] are currently connected"
time="2024-03-31T16:01:29Z" level=warning msg="received a route to manage, but agent doesn't support router mode on freebsd OS"
time="2024-03-31T16:01:29Z" level=warning msg="the network <IP_ADDRESS>/24 has not been assigned a routing peer as no peers from the list [remote1 remote1] are currently connected"
time="2024-03-31T16:01:29Z" level=error msg="this agent version: development, doesn't support default routes, received <IP_ADDRESS>/0, skipping this route"
--- FAIL: TestAddRemoveRoutes (0.09s)
    --- FAIL: TestAddRemoveRoutes/Should_Not_Add_Or_Remove_Route_<IP_ADDRESS>/32 (0.03s)
        systemops_nonandroid_test.go:58:
            	Error Trace:	/usr/home/jeff/github/skillcoder/netbird/client/internal/routemanager/systemops_nonandroid_test.go:58
            	Error:      	Received unexpected error:
            	            	exit status 1
            	Test:       	TestAddRemoveRoutes/Should_Not_Add_Or_Remove_Route_<IP_ADDRESS>/32
            	Messages:   	addToRouteTableIfNoExists should not return err
--- FAIL: TestAddExistAndRemoveRouteNonAndroid (0.14s)
    systemops_nonandroid_test.go:133: defaultGateway:  <IP_ADDRESS>
    --- FAIL: TestAddExistAndRemoveRouteNonAndroid/Should_Add_And_Remove_random_Route (0.02s)
        systemops_nonandroid_test.go:208:
            	Error Trace:	/usr/home/jeff/github/skillcoder/netbird/client/internal/routemanager/systemops_nonandroid_test.go:208
            	Error:      	Should be true
            	Test:       	TestAddExistAndRemoveRouteNonAndroid/Should_Add_And_Remove_random_Route
            	Messages:   	route should exist
--- FAIL: TestExistsInRouteTable (0.00s)
    systemops_nonandroid_test.go:247: address <IP_ADDRESS>/8 should exist in route table
FAIL
FAIL	github.com/netbirdio/netbird/client/internal/routemanager	0.445s

I did not touch routes on freebsd yet.
And did not check dns management so highly likely it also does not work properly.

Actually running tests locally is very risky.
You MUST run them only in isolated VM.
I noticed tests changed system state and keep it inconsistent.
For example /etc/resolv.conf

manager.go:224 needs another case for freebsd

Hi! I tested the PR on FreeBSD and it works fine. Could you fix the conflict and then we will merge the PR?


The response was received at {recipient} instead of http://localhost:3000/saml/consume

I'm getting a response, but it's invalid. The error is
The response was received at {recipient} instead of http://localhost:3000/saml/consume

Is {recipient} an unset settings attribute? I see no mention of it in any documentation I can find.
Sidenote: I noticed Ruby 2.0 isn't mentioned under supported versions. Is it actually unsupported or just untested?

The response was received at {recipient} instead of http://localhost:3000/saml/consume

This is a problem of the Identity Provider settings. What IdP are you using?
I noticed Ruby 2.0 isn't mentioned under supported versions. Is it actually unsupported or just untested?

Is supported.

I figured out the recipient field in the app settings on one login. I was looking for it in the code.
I suggest adding 2.0.x to the supported Ruby list. It current goes from 1.9.x to 2.1.x.

At https://rubygems.org/gems/ruby-saml/versions/1.1.2 you can read:
Required Ruby Version:  >= 1.8.7
Also if you check the travis file, those environments are tested at CI.

1.8.7
1.9.3
2.0.0
2.1.5
2.2.0
ree
jruby-1.7.21
jruby-<IP_ADDRESS>

Hello @archonic . I'm having the same issue you are .
If you remember, can you please tell me what setting allowed you to set a recepient field?
I've searched for it , but was unable to find it.
Thank you in advance for your help.

@omulmicsinegru The recipient field can be set in OneLogin under the "Configuration" tab.


Fixing more UIKit memory leaks

Oops; accidentally deleted the branch; re-submitting PR.
Fixing a leak in the Create* path for our UIKit.Xaml controls, and a leak in UIButton's use of 'weakSelf'.
Fixes #1858.
Fixes #1859 .

:shipit:

:shipit:


Update training docs and code

A recent refactor of the code seems to have left a few inconsistencies in the code & documentation. Trying to fix those here as an intermediate fix to enable retraining of the models with the "old" code. A further refactor to improve speed, as Thomas was planning, is probably next on the TODO-list.
Fixes

Updates code to work with PyTorch 1.3.0
Fixing paths after moving a lot of code from root neuralcoref to subdir training
Fixed reference to self._extract_mentions in conllparser.py (@thomwolf : could you review this bit?)

Fixes #89
Fixes #119
Fixes #131
Fixes #196

New functionality

Try not just en_core_web_sm, but any model in the list ['en_core_web_sm', 'en', 'en_core_web_md', 'en_core_web_lg']
Setting blacklist and use_gold_mentions as script parameters

Documentation

training.md : step-by-step details on processing CONNL & OntoNotes data

Fixes #68
Fixes #187

Possible next step:

switch the evaluation scripts to the python ones => speed up the evaluation a lot
switch the mention extraction and feature computation to the cython neural coref => speed up data processing a lot

add a clean script to convert pytorch weights in thinc (probably using numpy as a conversion format)

Thanks a lot for the review and the tips Thomas! I've added all your pointers to the TODO list :-) This PR is virtually ready - will run the latest code once more to see if it trains correctly, then merge.

Awesome! Great work Sofie!


Keyvault full backup/restore support

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

/azp run cpp - keyvault

/azp run cpp - keyvault

/azp run cpp - keyvault

/azp run cpp - keyvault - ci

/azp run cpp - keyvault - ci

@LarryOsterman i addressed your comments


Build fails with "maximum recursion depth" error on Python3 + Linux

Hi, I tried installing cupy and got an error like this.
  File "/usr/lib64/python3.4/distutils/unixccompiler.py", line 87, in _fix_lib_args
    runtime_library_dirs)
  File "/usr/lib64/python3.4/distutils/unixccompiler.py", line 87, in _fix_lib_args
    runtime_library_dirs)
  File "/usr/lib64/python3.4/distutils/unixccompiler.py", line 86, in _fix_lib_args
    self.__class__, self)._fix_lib_args(libraries, library_dirs,
RuntimeError: maximum recursion depth exceeded while calling a Python object

The env is: cupy-<IP_ADDRESS> + Python 3.4.3 + Fedora23
$ cat /proc/version
Linux version 4.8.13-100.fc23.x86_64<EMAIL_ADDRESS>(gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC) ) #1 SMP Fri Dec 9 14:51:40 UTC 2016

The full error log is this.
error.txt
A quick dirty workaround is to put something like this on _UnixCCompiler in "cupy_setup_build.py".
    def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
        """Remove standard library path from rpath"""
        libraries, library_dirs, runtime_library_dirs = super(
            unixccompiler.UnixCCompiler, self)._fix_lib_args(libraries, library_dirs,
            runtime_library_dirs)
        libdir = sysconfig.get_config_var('LIBDIR')
        if runtime_library_dirs and (libdir in runtime_library_dirs):
            runtime_library_dirs.remove(libdir)
        return libraries, library_dirs, runtime_library_dirs

It's taken from python3.5/distutils/unixccompiler.py and modified a bit.

I guess this bug is only on Fedora.

It's obviously a bug in Fedora's python package.
I believe this patch (fedoraproject.org) is causing the bug.
So, never mind.

I opened an Issue on bugzilla.redhat.com.


slash directions

At device simulation stage below code in GitBash on Windows need to use reversal slash instead of normal.
in article is ".\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe"
but should be "./provisioning_client/deps/utpm/tools/tpm_simulator/Simulator.exe"
otherwise it not works.

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

ID: 1eee2ad9-8af7-8781-cbaa-c0d7987a4528
Version Independent ID: 81c16b29-772f-e407-3798-10b735a587db
Content: Set up device for the Azure IoT Hub Device Provisioning Service
Content Source: articles/iot-dps/tutorial-set-up-device.md
Service: iot-dps
GitHub Login: @dsk-2015
Microsoft Alias: dkshir

@dmitriyteteruk,
Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@dmitriyteteruk We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

@dmitriyteteruk We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Slight API rework

Short Description of the issue
Due to what has been discussed on #201, it seems logic a Job ID must be returned from the sidecar and associated to a pod on the VK side. It appears necessary to:

return a struct from the create call
remove the possibility to submit multiple pods within one call

@Bianco95 and @ttedeschi please take a look on your sidecars
Environment

Operating System:
Other related components versions:

Steps to reproduce

Logs, stacktrace, or other symptoms

output

Summary of proposed changes

done in 0.3.0


Incorrect output for multiclass predictions

Thanks for putting this codebase together, I think it can be very useful for MATLAB users that want to play around with deep nets.  I noticed that multiclass predictions are being passed through multiple logistic functions.  See e.g. https://github.com/rasmusbergpalm/DeepLearnToolbox/blob/master/CNN/cnnff.m#L37
This is technically incorrect unless you actually want to be able to predict multiple classes at the same time.  Technically, you want to output a multinomial (one of N) distribution rather than N binomial distributions (a multi-class prediction instead of N binary class predictions).  What you want to backpropagate through is the Softmax function: http://en.wikipedia.org/wiki/Softmax_function which generalizes the logistic to multiple classes.  It normalizes the output distribution such that it's a proper distribution.  Backpropagating through this will result in a much better model.
Best,
Jasper

Yes, I also agree on this. Currently it's doing a N binary class prediction. I think this is an important to fix.

Binary class prediction has its merits as well - if final dataset, that you are going to apply your prediction on, has inputs that don't belong to any class (i.e. letters A, B, C), then using binary logistic units allows you to set threshold and not classify these at all. When using Softmax, all probability must be allocated between classes, even if their scores are very low.
But I find @JasperSnoek's comment interesting, that backpropagating through Softmax results in better model. Why would that be? Would it make sense to train using Softmax, but use binary logistic units at prediction time?


Test/223 create unit test to habit assign controller.java

All tests passed successfully, and the functionality works as expected.


Add timeout parameter to add_basemap

I recently discovered that in some setups (for me specifically: WSL in my company VPN),  add_basemap gets stuck forever. It seems to fail to load the tiles and there is no way to specify a timeout.
This is my current workaround but it would be much more convenient to just be able to specify timeout=5 in add_basemap:
import signal

class TimeoutError(Exception):
    pass

def timeout_handler(signum, frame):
    raise TimeoutError("Timed out")

ax = gdf().to_crs(3857).plot()

# Set a timer for 5 seconds
try:  # SIGALRM is only available on UNIX
    signal.signal(signal.SIGALRM, timeout_handler)
    signal.alarm(5)
except AttributeError:
    pass

try:  # add_basemap gets stuck on WSL when in VPN, therefore
    cx.add_basemap(ax)
except TimeoutError:
    print("Timed out while running add_basemap")

ax.figure.savefig('plot.png')

Hi, yes, it would make sense to expose a timeout keyword anywhere where we query some online resource.
I think that this could be a right place https://github.com/geopandas/contextily/blob/main/contextily/tile.py#L374 (but there may be more).
Contributions are welcome :).


Enable server-side config validation with webhooks

Pilot and Mixer components can perform server-side validation of configuration through k8s webhooks. This code has already be implemented but has not yet been enabled by default due to cloud provider bug.
TODO

[x] Update Istio install script to generate and install certs for Pilot and Mixer webhook validation services.
[ ] Add option to Istio install scripts to enable Pilot and Mixer webhook validation. This can be defaulted by default for k8s >= 1.8 and non-GKE >= 1.7 when alpha features are enabled.
[x] Update Pilot e2e test to use validation webhook by default on k8s >= 1.8
[ ] Update Mixer e2e test to use validation webhook by default on k8s >= 1.8

I think we have a few of these completed. Can we link and check off the boxes?

@jmuk, the pilot specific portions of this issue are completed. I've also updated e2e tests to use GKE >= 1.8.x so that validation can be enabled by default. You should be able to use the same cert generation script for mixer webhook service.
https://istio.io/docs/setup/kubernetes/quick-start.html still needs to be updated to include steps for cert generation.
Similar updates for webhook cert provisioning are required for any other platform variant, e.g. GKE (@salrashid123, @selmanj), Consul (@GregHanson), and Eureka (@ijsnellf).

@ayj Is this work item using https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation

No, we're using ValidatingWebhooks for both schema and semantic validation. We could make use of that feature with some combination of (1) using protobuf annotations to describe constraints, (2) generate corresponding openAPIv3Schema, and (3) providing that in CRD definition.

Folks, can I ask for a favor? When doing this work, can you implement it so that it is a stand-alone library that doesn't have direct dependencies to Pilot, Mixer? So that we can, move it easily in the future (i.e. maybe, to Galley?)
Thanks

The Pilot config validation webhook is already mostly decoupled from Pilot except for the CRD and configuration packages.
	"istio.io/istio/pilot/pkg/config/kube/crd"
	"istio.io/istio/pilot/pkg/model"

crd would be replaced by whatever common config client we end up introducing. model is required to convert to the type-specific objects and for validation.go. The latter part could be mostly replaced by CRD openAPIv3Schema validation.
I have no clue how dependent (or not) Mixer validation logic is to Mixer proper. cc @jmuk

It seems that the pilot validation logic is only enabled in e2e test. Do we want to enable it in the normal installation?

We should. It requires the same cert provisioning steps used by the injection webook for installation.

One question is that what's the minimal k8s version Istio will support? Do we allow beta server side validation feature that only works for 1.9 to be on with 1.8 k8s?

other click stops are not done yet.

Enabled by default with https://github.com/istio/istio/pull/6035


hashHistory stopped working in 4.0.0

Version
4.0.0
Test Case
the jsbin doesn't work because the library is too old, need 4.0.0
Steps to reproduce
Upgrade to 4.0.0
import { Router, hashHistory } from 'react-router';
render(<Router history={hashHistory}>{routes}</Router>, root);

Expected Behavior
It should work
Actual Behavior
It doesn't work
Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`.
in Router
printWarning
localhost/:36 Uncaught TypeError: Cannot read property 'location' of undefined
at new Router (eval at <anonymous>

I found where it was removed.
https://github.com/ReactTraining/react-router/commit/d0414344b660e2d89352fd82b74bd730deba0602
How do I make hash history work now?

It has moved to a new package react-router-dom. Install the new package and follow the new guides for v4.x

It has been moved to a new package, react-router-dom. Install the new package and follow the docs for HashRouter

It's not clear how to use it from the docs. How to migrate this code for example:
ReactDOM.render((
   <Router history={ReactRouter.hashHistory}>
      <Route path="/" component={Login} />
      <Route path="dashboard" component={Dashboard} />
      <Route path="users" component={Users} />
   </Router>
), document.getElementById( 'page' ) )

The getting started guide might be more clear. Just replace BrowserRouter with HashRouter. You no longer need to pass the history as a prop anymore. So for your code it would be.
`
import React from 'react';
import ReactDOM from 'react-dom';
import {
HashRouter,
Route,
Link
} from 'react-router-dom';
ReactDOM.render((

), document.getElementById( 'page' ) )
`

hi
i am new to React js . Actually i am trying to do routing but its not working.. see my code plz.

@ickata You need to install  react-router-dom then do the following:
import React from 'react';
import { render } from 'react-dom';
import { HashRouter as Router, Route } from 'react-router-dom';

// import your components here

render(
    <Router>
        <Route path="/" component={Login} />
        <Route path="dashboard" component={Dashboard} />
        <Route path="users" component={Users} />
    </Router>,
    document.querySelector('#page')
);

Great job!

how i use HashRouter to show my 404page?

what dose exact mean ?
and how i transform these old code to HashRouter?
<Router history={this.props.history} onUpdate={this.updateHandle.bind(this)}>
                  <Route path='/' component={App}>
<IndexRoute component={Home}/>
  <Route path='list' component={List}/>
<Route path='detail/:id' component={Detail}/>
<Route path="*" component={NotFound}/>
 </Route>
  </Router>

@timdorr question on this one: we are currently upgrading from R-router 2 to 4. In 2, we had a file where we used require('react-router').hashHistory; to listen to the hashHistory (also used to push location changes)
How can I do this with the new component HashRouter?

@orangecoding https://github.com/ReactTraining/react-router/blob/master/FAQ.md#how-do-i-access-the-history-object-outside-of-components

@orangecoding you can still listen to history in react-router 4.
class App extends React.Component {
  componentDidMount() {
    const { history } = this.props;
    history.listen(e => {
      console.log('listen', e.pathname);
    });
  }
  render() {
    ...
  }
}

...

ReactDOM.render(
  <Provider store={store}>
    <Router>
      <Route component={App} />
    </Router>
  </Provider>,
  document.getElementById('root')
);

'react-router' does not contain an export named 'hashHistory'. why?

@Anna098301065 Please refer to https://github.com/ReactTraining/react-router/issues/4752

@Anna098301065 The API in 4.0 was completely changed. Please read through the docs.

`import React from 'react';
import {
HashRouter,
Route,
NavLink
}
from 'react-router-dom';
import Posts from './Posts';
export default class App extends React.Component {
constructor(props) {
super(props);
}
render() {
	return (
		<HashRouter>

    					<NavLink to="/posts" >Posts</NavLink>

					<Route path="/posts" component={Posts}/>

		</HashRouter>
	);
}

}`
Accordting to emjaksa, using HashRouter would solve the error.
In my case, however, clicking Link (or NavLink) shows an error message
"Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack".
(although the page itself is properly renderted)

ll