Android license status unknown.

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:/Users/bebe1/AppData/Local/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = C:/Users/bebe1/AppData/Local/Android/Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    X Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.

Hi @Mohamed21398
could you please run flutter doctor --android-licenses
let me know if it solves the issue
thank you

Thank you solved :+1: delete sdk and install it again, run flutter doctor android license .


Transparency

Hi, is there an option to set transparency?
Kinds regards,
Micha

Hi Micha,
Yep! See this answer here: https://github.com/cmacrae/spacebar/issues/19#issuecomment-653863825


NestedNodeRebuildingQueryDelegate findFirst method implementation actually returns the "last"

Hi,
If I understand this correctly, all the the implementations are wrong and actually returning the last root (order by id DESC) - unlike what the method suggests.
I believe the tests (like testGetPrevSiblingRoot) pass only thanks  to the behaviour of the SEQ sequence.  The Y node inserted in the test gets saved with ID = 1 (first time the sequesnce is used) and the rest of the test data is behind it (ID's 1000, 2000 etc ...)
These two things combined make the test pass. I don't think this breaks anything. Mostly just makes the code tricky to understand.
We found this when implementing Mybatis version for SQL server .. where we used IDENTITY id (autoincrement) which updates the ID sequence as the test data gets inserted .. so the node Y gets ID = 16001.
EDIT: I understand that it depends on the definition of "first" but the assumption based on the growing sequence of IDs is that tha last is the node with the highest ID.
Happy to prepare PR if you agree.

Thanks for reporting this, I'll take a look in the coming days and come up with a fix.


Extra 'caret` icon

Bootstrap 4 comes with a caret icon already append via the :after.  This version adds another caret via the 'bs-caret`.  I use CSS to display: none for now.

Can you link me to an example? The code for the other caret (used for Bootstrap 3) is there, but it shouldn't be visible.

Released in v1.13.0!

/move to bootstrap-select


can use my own word type, and word ? like : chinese

how can i use this to generate cineses word image

Yes, it can be used to generate non-ASCII characters like Chinese, but you will need to do some adaptation.

You would need to (at least) make the following changes:

Add Chinese fonts --> generate the corresponding font_px2pt.cp
Get a Chinese text source (to replace newsgroup.txt)

Be careful of Chinese fonts, some characters in your vocabulary may be not covered. Some font  contain more than 10k characters, while others contain ~4k common Chinese characters.

@crazylyf     I want to use this "SynthText" to generate images with natural chinese words.  then to do chinese words recognition in the image.
my question is ：

chinese words is about 3K, and more complicated than English words. can this be possible ( with high a accuracy)
I may need lots of samples  , i don't know how to train and define  network( code by caffe )
Does you did the reference works? or can you give any ideas?

@Jayhello
1. Yes, definitely. There are many end-2-end trainable networks for text-line/word recognition. Although they are mostly focused on English, they are adaptable to Chinese.
2. As to reference works, you can refer to "http://arxiv.org/abs/1507.05717", which has an good torch implementation at: (https://github.com/bgshih/crnn). It is nearly off-the-shelf for recognition. If you try it, may be you want to use warp_ctc(https://github.com/baidu-research/warp-ctc) to replace the built-in CTC implementation, which runs on CPU and thus relatively slow.
3. Is 3k characters really enough for you?

@crazylyf
thank you very much for you reply !!  I have read the paper your recommend
and  my  question is

how to prepare training images , for example the character  " 你"  in chinese, how many image about this
char to prepare, and the image form ( the image i want to recognize which has a complicated background,like the image below  . and how the trained image size is provided)

I know i should localities the char sequence firstly and then to recognition.
For location chars this https://github.com/MhLiao/TextBoxes  is useful

@Jayhello
Sorry, I have exact answer on how many characters for each words to prepare. Usually, one generate samples from given corpus, which contains quite diverse character frequency, and common character like "你" has much larger occurrence.
The text on your example seems added afterwards via some photo editing tool, it may be different from the synthesized text here, which suppose that the text is located on well defined regions. Perhaps you should try release or loosen this constraint to suit your case.

the origin image is below, the mark in the image is located  by  deep learnhttps://github.com/MhLiao/TextBoxes
and are you a chinese people?

Yeah

@crazylyf
我生成图片拿去识别训练的话，应该用怎样的图片呢？
如果用下面的第一张，那就像是OCR了，没有什么意义？下面的第二张这样？
那得多少张图片呢？ 每个字要 1K 张图片？ 一张图片包含很多字？

@Jayhello
除非做文档识别，不然肯定采用第二种图片。
具体每个字需要多少个样本，没有相关数据，我也没有做过相关实验。个人认为大致在几十个，具体还看应用场景。

@Jayhello
我有一个163邮箱，用户名是crazylyf。有兴趣私聊吧

@crazylyf
非常感谢哈，我也有代码往图片上面打上文字 以及 坐标。
<EMAIL_ADDRESS>  吗？

@crazylyf
SynthText   应该也可以生成这样的图片吧

@crazylyf  https://github.com/MhLiao/TextBoxes 你是重新训练了吗

@xiaomaxiao TextBoxes？没有

@crazylyf 直接可以用于汉字检测了？

不好意思，没看原文，不过我想应该可以吧。

@crazylyf  哇那真是不错，CTPN也可以直接检测汉字。TextbOX 再CPU下的速度如何？

没试过TextBoxes，不太清楚。

抱歉@错人了， @Jayhello


Default tooltip style is not legible on desktop and web builds with device pixel ratio 1.0

None legible default tooltips on desktop and web
The new default tooltip theme now defaults to a style that is not legible on desktop and web builds that have device pixel ratio 1.0. The new style also broke past default desktop and web style. The breaking change and none legible tooltip style was introduced when the new Material desktop tooltip design was implemented in Flutter.
Observations

Is the change according to new Material design for tooltips? [YES]
Did the change break past default tooltip style on desktop and web? [YES]
Does the change work visually (is it easy to read?) on desktops with device pixel ratio 1.0? [NO]
Does the change work visually (is it easy to read?) in Chrome browser on Windows platform? [NO]

Below is a size comparison with samples of tooltips on Windows platform, both desktop builds and Web builds on windows. The poor readability of the default font size 10dp is clearly demonstrated below.

Note: All images below need to be clicked on in Web GitHub to open the image at native pixel size. To get a sense of the look on a standard desktop, the desktop used for viewing the images should also use device pixel ratio 1.0.

The above composite example was generated by running this simple tooltip size simulator
https://gist.github.com/rydmike/82d2817761d52aa2c1eb47d0edf4bb5f
Using different builds and combining them into one PNG file and adding a few screenshot samples of Windows platform native tooltips to it as well for size and legibility comparison. I call the above sample code a "tooltip" simulator, since it is not using the actual Tooltip widget, but instead just the style the current tooltip uses. The used style was copied from the Tooltip widget on Flutter Channel dev, 1.24.0-10.2.pre.
In the above composite screenshot example it is shown that the current Material default size of 10dp, is not very clear, nor easy to read on Windows, not with any of the presented build types and use cases. The used font size and resulting default font type on Windows is too small for Flutter to be able to render the tooltip text clearly at device pixel ratio 1.0.
The above example also at the same time show the effect of what I suspect is related to issue https://github.com/flutter/flutter/issues/67034.
Summary of Findings
On Windows, when using an external monitor the most common device pixel ratio is 1.0, often on a 1920x1080 (full HD) monitor. Going forward with both Flutter Web apps and Desktop apps on Windows Platform, it is both relevant and convenient if the Material design would consider using a default dp size for tooltips that produces clear and legible tooltips at device pixel ratio 1.0.
Fixing the the slight extra blurriness that font rendering in Flutter currently suffers from (https://github.com/flutter/flutter/issues/67034) will still not improve the situation to the extent that font size 10dp and the default platform font used in the tooltips, would become clear enough at device pixel ratio 1.0.
This legibility issue also applies to Linux and MacOS platforms when device pixel ratio 1.0 is used.
I also got a report that the 10dp tooltip text has accessibility score 0 and the 10dp with lost pixels, via white text on semi transparent background has accessibility score -1.
For the tooltips to be legible on a screen with device pixel ratio 1.0, a minimum of 12dp is required.
Users can of course change the tooltip theme into something more legible themselves in their applications. I already did so for my applications. However, when I noticed this change and legibility issue, it just seemed a bit  negligent, to leave the default theme for Flutter tooltips in a state that is no longer legible on the majority of desktops in the world and browsers on them.
That is why I thought it might be helpful and useful to bring up this minor design issue.

NOTE: This issue was reported earlier with another topic. Based on @HansMuller recommendation here https://github.com/flutter/flutter/issues/71052#issuecomment-733108486, it is opened as a new issue with focus on the new style not being legible. cc: @mariamhas @timsneath

Bitmaps sources for the composite comparison image
The source of the used bitmaps in the above composite image, were taken from the images below. The screenshots below also include dark mode examples for comparison.
Windows Desktop Build

DomCanvas Web Build running on Windows in Chrome

CanvasKIT Web Build running on Windows in Chrome

CanvasKIT + CanvasText Web Build running on Windows in Chrome

Footnote: What about higher device pixel ratios?
At higher device pixel ratios than 1.0, the amount of physical screen pixels available to render the font with, increases with the device pixel ratio amount per dimension. Small fonts thus become much easier to read, even if the screen pixel density would also be very high and the physical size thus small.
If you make bitmap renders at a higher device pixel ratio, the size of the actual image increases with the device pixel ratio, at the same time you can also see the impact the added pixels has in the font renders clearly.
Below are some screen shots of Desktop builds at device pixel ration 1.5, 1.75 and 2.0.
These are factors that may sometimes be in use on Windows laptops or hybrid laptop/tablet devices with hires screen and some times on external monitors when using e.g. a physically small 4k monitor where text size at device pixel ratio 1.0 becomes very small. The user then "zooms" the desktop with a factor of 150%, 175% or 200% (or similar) to make the text larger, this creates a "simulated" higher device pixel ratio also on desktops. Using zoming on a Windows desktop is corectly detected by Flutter and reported via MediaQuery.of(context).devicePixelRatio.
Desktop zoomed 150% (Device pixel ratio 1.5)

Desktop zoomed 175% (Device pixel ratio 1.75)

Desktop zoomed 200% (Device pixel ratio 2.0)

Flutter doctor
```
flutter doctor -v
[√] Flutter (Channel beta, 1.24.0-10.2.pre, on Microsoft Windows [Version 10.0.18363.1139], locale en-US)
    • Flutter version 1.24.0-10.2.pre at C:\Users\mryds\fvm\versions\beta
    • Framework revision 022b333a08 (4 days ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
• Android SDK at C:\Users\mryds\AppData\Local\Android\sdk
• Platform android-30, build-tools 29.0.1
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2020.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.1
• Flutter plugin version 51.0.3
• Dart plugin version 202.8070
[√] VS Code (version 1.51.1)
• VS Code at C:\Users\mryds\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.16.0
[√] Connected device (5 available)
• Nexus 7 (mobile)                 • 0a99f5e8      • android-arm    • Android 6.0.1 (API 23)
• sdk gphone x86 64 arm64 (mobile) • emulator-5554 • android-x64    • Android 11 (API 30) (emulator)
• Web Server (web)                 • web-server    • web-javascript • Flutter Tools
• Chrome (web)                     • chrome        • web-javascript • Google Chrome 86.0.4240.198
• Edge (web)                       • edge          • web-javascript • Microsoft Edge 87.0.664.41
• No issues found!
</details>

@creativecreatorormaybenot Yes I also think that 14dp that is used as default size for tooltips on devices, is indeed a bit too large on desktop designs. This was used as default on desktop and web too prior to the new standard that made it 10dp.
However, the used 10dp makes the text none legible if the device pixel ratio is 1.0, since there is just not enough pixels to render it sharp enough. If the device pixel ratios is 1.5 or higher the situation is improved even if the font is still very small, but at least it is the legible. However, the majority of desktops when using an external display uses device pixel ratio 1.0 so therefore it would be nice for newcomer if the text was legible by default without resorting to customizing the theme.
Personally I think 12dp could be suitable balance between size and readability.
Here is comparison of Flutter's new default Web desktop tooltip, compared to a very common Web design, Bootstrap:

In this image I also added the 12dp sized tooltips to the comparison (below the buttons in same order):

(Click on the image to open it with a pixel accurate view)
Even they are still smaller than default Bootstrap style, but imo large and legible enough. Especially if Flutter also one day solves issue https://github.com/flutter/flutter/issues/67034

My sense is that the issue is in part about the quality of rendering at small font sizes. While I'd support slightly larger sizing (and tighter padding), it's worth noting that (on Windows in particular) tooltips can contain a sentence or two of information, so I'm cautious about having these be too large.
For example:

This tooltip is about 150x40px. Nudging our default to 12dp seems reasonable, but 14dp would be challenging.

@timsneath
I agree and also think that 14dp font size would be excessive, both on web-desktop and native desktop apps. I also totally agree that there is no need for the large padding that is still used on devices and that was used on desktop/web before the new Material desktop tooltip guide.
However, the 10dp font size is just a bit too small, even if the current fuzziness that Flutter text rendering suffers from is solved, it will still not be possible to render 10dp font size with crisp sharpness if the device pixel ratio is 1.0, if it is 1.5, then sure no problem.
Just for demonstration purposes, here is how that last tooltip you added looks when compared to Flutter's current Windows desktop renders. Web renders are fairly similar as shown earlier above so I did not add them to this desktop comparison, their sizes are equivalent, but yes there are pixel differences.
This screen shot composite is just for comparing the sizes at current 10dp and then imo the best matching size candidate 12dp as well as 14dp. I used the same tooltip text as in the Windows example you added, since it makes the comparison easier and more obvious and added the last tooltip from your Windows native tooltip example so they can be compared side by side.

The Flutter Desktop tooltips where taken from this Flutter rendered Windows desktop screenshot:

And the above screen was generated with this playground: https://gist.github.com/rydmike/483bee488423664b80c6b755c9b88a3b
The text at the bottom is wrapped with an actual Tooltip with the same message string, just to show that an actual tooltip shown from it, is identical to the simulated 10dp example shown above.

Another minor issues with the default Flutter Material tooltip theme is that it does not support multiline tooltips very well out of the box.
This is due to how the height is constrained to min 24dp by the default theme, but it has no vertical padding beyond that. As soon as the height is higher than 24 dp the default tooltips have no vertical padding at all.
This does not necessarily look so good either, there should always be few dp vertical padding, not a lot, but a tiny bit at least. Like there is on your provided native Windows tooltip as well, which if you compare it to the Flutter multiline tooltips look a bit better due to this slight vertical padding. The custom themed tooltip on the right side of your provided Windows native tooltip show a Flutter tooltip at the same comparable 12dp font size with a slight vertical padding, just to make the text and style more comparable to the Windows native tooltip, I also made it with dark txt on light background

Confirmed that design is comfortable with a larger default text size for this case. What do you think would be the best value?
For multiline, please create a separate issue.
Also, fantastic work debugging this @rydmike ! Thank you!

Thanks @willlarche for confirming this. 👍🏻

What do you think would be the best value?

Based on above provided renders, I think 12dp on desktops and web (that use device pixel ratio 1.0) is a nice compromise between being compact and still legible.

On Web it results in a size that is still slightly smaller than Bootstrap's default tooltips, a style many are used to in Web apps.
On Windows desktop the size is pretty much the same size as native desktop tooltips. Yes there is a minor difference in both size and clarity on desktop (native using ClearType sub-pixel rendering, is as expected sharper), but those are caused by the differences in used font rendering engines.

For multiline, please create a separate issue.

Sure, I can do that. Might be good to record it as a design reminder to consider at a later stage for desktop design and usage.
For Material design I don't think it is so important either, since the recommendation is to keep tooltips so short that they fit on one line. Thus making multiline tooltips not inline with that, hence I think user's (even I smirk) are fine with an explanation that default Material tooltips are designed to work/look well for one line tooltips and if you want better looking multiline ones, please make your own tooltip theme with some bottom padding, like I did in my previous comment. All you need is about 2dp padding on the bottom so that the text does not touch the bottom edge, which as shown above does not look so pretty when it does.

For the size I'm pleased that an increase is considered for the default design. Not because I needed it. I'm happy to design my own theme for tooltips when so needed. Theming tooltips like most things in Flutter works really well.
I'm pleased because I think a default themed tooltip that is not legible out of the box for Web and Desktop, could potentially frustrate newcomers to the framework. Additionally the current too small and fuzzy desktop/web tooltips, look a bit out of place compared to the otherwise nice and balanced out of the box default designs.

@rydmike I have something nice to compare against: Twitter now displays tooltips on hover of the follower count :)
You could check how that compares to your previous findings.

@creativecreatorormaybenot
It appears to be 12dp, well based on the visual size when a screenshot of it is composited into the above size comparisons.
Below I inserted a screenshot of the Twitter tooltip into the Flutter renders of 9, 10 (current Flutter default), 11, 12, and 13 dp sized tooltip renders. It visually matches the 12dp size.

(Another question is of course why Twitter shows the following / followers count as tooltip when it is already shown as number in the label that the tooltip comes from, their use case makes no sense 😄 )

@creativecreatorormaybenot Correction, I think it might even be 14dp in Twitter after all. I will make better comparison, with the same letters (numbers) in the Flutter renders as in the Twitter tooltip. I will also double check my Twitter browser scaling window to make sure it is at 100%, not 90% like I think it was when I made the screen shot from Twitter above. In my haste I did not verify it like I normally do for browser screenshots. so I will be back later with a better comparison.

@creativecreatorormaybenot
Here is a visually better and easier size comparison of the Twitter tooltip you mentioned and different sizes of Flutter tooltips with the same content, but at sizes 9, 10, 11, 12, 13, and 14dp (with 10dp being the current Flutter default). It should make the comparison visually easier when they have the same content.
Quite an interesting comparison, thanks for pointing out this case example as well.
Looks like my initial assessment was close enough, visually the font size in Twitter's tooltips look close to what we get with 12dp font size in Flutter, perhaps even 13dp? But definitely not 10dp or 11dp.
This applies to both Windows Desktop builds and Web CanvasKit builds rendered by Chrome on Windows platform, browser zoomed to 100%. All screens shots rendered at standard (well most common anyway) desktop device pixel ratio of 1.0.
I'm just comparing the font size here, the paddings are different of course. As one line tooltips, both are fine imo. It is only the multi-line tooltips in Flutter that looks a bit wonky regarding bottom padding when letters like j p and q touch/reach the bottom edge of the tooltip.
Twitter Web Tooltip compared with Flutter Windows Desktop build tooltips sizes

Twitter Web Tooltip compared with Flutter Web CanvasKit build tooltip sizes on Chrome on Windows platform

The Twitter tooltip size example was taken from this screenshot:

/cc @HansMuller

/cc @HansMuller


Update test fixture for new interal api path

Tracker: https://www.pivotaltracker.com/story/show/92957598
Signed-off-by: Greg Cobb<EMAIL_ADDRESS>

Closing. We'll have a CAPI-Diego cross-team discussion about the correct path forward for v3 app support before we proceed on this.
cc @zrob @dieucao
Thanks,
Eric


Refactor metric computation for clarity and reuse.

Centralized metric computation logic into a helper method, reducing redundancy across metric functions. Updated associated tests to ensure correct error handling and improved maintainability by simplifying imports and utilizing consistent structures.

Codecov Report
Attention: Patch coverage is 93.10345% with 2 lines in your changes missing coverage. Please review.

Project coverage is 86.75%. Comparing base (a6be5c2) to head (bda4331).

Files with missing lines
Patch %
Lines

tabular_orchestrated/evalml/analysis/utils.py
91.30%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #128      +/-   ##
==========================================
+ Coverage   86.65%   86.75%   +0.10%
==========================================
  Files          16       16
  Lines         487      506      +19
==========================================
+ Hits          422      439      +17
- Misses         65       67       +2

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


Support for range

It could be nice to be able to select a number between a certain range, e.g. a number between 12 and 24, inclusive and exclusive.

I thought about this one, but I'm not sure for the following reasons

what syntax do you use? <= 12 is clear enough, but how do you specify a range?
it can be easily expressed by doing two operations, first >= 12 and then < 24

It doesn’t look easy to do in two operations without a z dance.
number-comparison ... 12 24

.. for inclusive and ... exclusive.
We could make the command accept a list of tuples, but and doesn’t look easy to express with regexes.
number-comparison >= 12 < 24

It doesn’t look easy to do in two operations without a z dance.

It's not that bad, you can do
number-comparison >= 12 ; exec '%s<ret>' ; number-comparison < 24 ; exec '<a-k><ret>'
But your syntax proposition is good. I'll consider it

I've decided that implementing this requires too much special casing for what seems like little benefits.


🐛 Gateway Timeout when trying to post an invalid ImageUrl

{
error: "Cannot create post. Error: Gateway Time-out",
succeeded: false
}

import { User, connect } from 'human-connection-api-nodejs-client';
import mongoose from 'mongoose';
import slugify from 'slugify';
import CONSTANTS from '../../../config/constants';
import { getImage } from './subjectGroupToIcon';

async function contributeProcedure({ procedureId, email, password }) {
  connect(CONSTANTS.HC_BACKEND_URL);
  const ProcedureModel = mongoose.model('Procedure');
  if (procedureId && email && password) {
    const procedure = await ProcedureModel.findOne({ procedureId });
    if (procedure) {
      const user = new User({ email, password });
      return user.contribute(
        {
          title: procedure.title,
          content: procedure.abstract,
          contentExcerpt: procedure.abstract,
          type: 'post',
          language: 'de',
          teaserImg: `https://www.democracy-app.de/static/images/sachgebiete/${getImage(
            procedure.subjectGroups[0],
          )}_1920.jpg`,
        },
        {
          slug: slugify(procedure.title, { lower: true }),
          resolveSlugs: {
            categories: ['democracy-politics'],
            // organization: CONSTANTS.HC_ORGANIZATION_SLUG,
          },
        },
      );
    }
    throw Error('No procedure found.');
  } else {
    throw Error('Please provide procedureId, email and password.');
  }
}

See: https://github.com/demokratie-live/democracy-server/blob/hc_webhook/src/express/webhooks/socialmedia/humanconnection.js
This error occurs when the URL to the teaserImage is invalid ?!

The request of the Image returned the Error - a more accurate Error message would be appricated


Short folder names

As long as we are rearranging out entire codebase...
https://github.com/aspnet/KestrelHttpServer/tree/namc/folders

I think if we should do it only if it's going to be done for entire asp.net core. Also not before @halter73 change gets merged.

To be clear, there are no plans to do it for all of aspnet core, but I don't think that should stop us from using a cleaner layout. There is at least one other repo that has already done this.
Btw, this is on top off @halter73's change.

Farewell GitHub history 😝

Not entirely opposed to the change but let's first get the new packages' names right (*.Transport.*)

So, this?
- src/
  + Kestrel
  + Kestrel.Core
  + Kestrel.Transport.Libuv
  + Kestrel.Https

In the future we can add Kestrel.Transport.(Whatever).

Farewell GitHub history

Yeah :-/. We're gonna lose it no matter what in https://github.com/aspnet/KestrelHttpServer/pull/1551. If only there was some way to follow git renames. :trollface:

I'm going to say no to this since it's inconsistent I also prefer the long names. Get the github expander plugin.

I also adds no value and history ends up being messed up for no good reason (and yes, GitHub should fix their CSS 🤣)

I also agree with Pavel, if we're not doing this for all of ASP.NET Core it's pointless. Consistency is good across repos and EF for tend to be a bit different with some things done in the repo.

@davidfowl has had a change of heart.

Are we doing it for all repos?

This kind of structure should be consistent across repos. All or none...
I can only assume this breaks some tooling regexes..

FYI all - details begin discussed internally, but the primary motivation is continual problems with filenames that grow beyond max path issues. Not sure yet if all repos will get this treatment or not, but regardless, I want this for Kestrel as this project has particularly long filenames, eg src/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj

:watch: waiting until the work on rel/2.0.0 is done. This would make it painful to merge changes in rel/2.0.0 back to dev.


Calling a super function if the super function is recursive causes stack overflow

Godot version
3.5.2
System information
Ubuntu 22
Issue description
If I define a recursive function foo() in class A, and call it in overloaded function foo() from class B, as in .foo(), it can potentially lead to stack overflow.
The exact issue is, B.foo() is called from A.foo() instead of A.foo() when A.foo() is called from B.foo().
Steps to reproduce
extends Node
class_name A

func give_value(i) -> int:
	print("A(%d)" % [i])
	if i == 0:
		return 0
	else:
		return give_value(0)

extends A
class_name B

func give_value(i) -> int:
	print("B(%d)" % [i])
	if i == 1:
		return 1
	else:
		return .give_value(1)

extends Node2D

func _ready():
	print($B.give_value(0))

Minimal reproduction project
Just run the project.
recursion_overloading_error.zip

This looks expected to me, it calls:
B.give_value(0)
 -> i == 1 false
  -> A.give_value(1)
   -> i == 0 false
    -> B.give_value(0)
     -> and so on

When calling give_value from A it should call the function in B, not itself, that's how inheritance should work IMO

I think you may be correct. The behaviour is consistent with python and with what I'd expect from calling any other function. I guess this is just complexity I have to get around.


Sierra Cairo Mapping

Needs to be added to the cairo profiler

Closing in favour of https://github.com/foundry-rs/starknet-foundry/issues/846


Error bag contents are not passed to components

Laravel Version:  8.83.2
PHP Version: 7.4.14
Database Driver & Version: SQL Server

Description:
When using withErrors to pass errors to a view, those errors are not rendered in components. The $errors variable is still available, it's just a different object to the one available in the main view itself. To get the correct error bag you have to explicitly pass it using :errors="$errors"
Steps To Reproduce:
Create a component in views/components and use its name in the test (I am using a component called bootstrap-alert)
The following tests should both pass, but only the second one passes
        $this
            ->withViewErrors(['name' => ['This is an error']])
            ->blade('<x-bootstrap-alert>@dump($errors->first())</x-bootstrap-alert>')
            ->assertSee('This is an error');

        $this
            ->withViewErrors(['name' => ['This is an error']])
            ->blade('<x-bootstrap-alert :errors="$errors">@dump($errors->first())</x-bootstrap-alert>')
            ->assertSee('This is an error');

To get the correct error bag you have to explicitly pass it using :errors="$errors"

This is intentional. Components don't take over this variable to be isolated from other views, etc.

To get the correct error bag you have to explicitly pass it using :errors="$errors"

This is intentional. Components don't take over this variable to be isolated from other views, etc.

Why do they still have their own separate empty errors variable made available then? That appears to be shared between all the components? Where is it being instantiated?

@driesvints  ? Where is it being instantiated?
And from the documentation:

An $errors variable is shared with all of your application's views by the Illuminate\View\Middleware\ShareErrorsFromSession middleware, which is provided by the web middleware group. When this middleware is applied an $errors variable will always be available in your views, allowing you to conveniently assume the $errors variable is always defined and can be safely used.


Problem with nullable fields in knex

Hi, I'm having a problem when I'm trying to use it in conjunction with knexjs because some migrations belatedly add non-null fields to the table. For some reason, the package is setting new fields to be null, so it conflicts.
I believe that the sqlite3 package delays migrations by changing only the SQL query and then actually executing it.
How can I replace sqlite3 with this package?

Confused. What do you mean by "it", this library or sqlite3?
This library is a wrapper around sqlite3.


Python client of Anna

Hello, when I use the python client of Anna, I found there is some difference between cpp client, which has clear hint for user to use~(e.g., read config from a yaml file).
There are two issues of python client of Anna:

Is there any example of using the native python client of Anna.
How to solve it: I try to wrap the native cpp client of Anna, but it has some runtime errors:

Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0x00007fffbf02a2a9 in GlobalError::PushToStack() () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0
(gdb) bt
#0  0x00007fffbf02a2a9 in GlobalError::PushToStack() () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0
#1  0x00007fffbf0ae082 in pkgInitConfig(Configuration&) () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0
#2  0x00007fffbf34bed8 in ?? () from /usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so
#3  0x000000000050a84f in ?? ()
#4  0x000000000050c549 in _PyEval_EvalFrameDefault ()

Related codes:
#include <fstream>
#include "client/kvs_client.hpp"
#include "yaml-cpp/yaml.h"
#define YAML_PATH "A CORRECT PATH"

unsigned kRoutingThreadCount;
ZmqUtil zmq_util;
ZmqUtilInterface *kZmqUtil = &zmq_util;
Address ip;
std::vector<UserRoutingThread>* threads;
KvsClient * client;

extern "C" {
void client_new(){
	YamlConfig(YAML_PATH);
	client = new KvsClient(*(threads), ip, 0, 10000);
}
}

When I comment out the client = new KvsClient(*(threads), ip, 0, 10000);, such error disappears.

Hi @authwork -- we've never tried wrapping the CPP client in Python, so I can't help you on that front. You can find some basic documentation for the Python client inside the client code itself here.  The only caveat is that the get method takes in a list of keys and returns a map of KV pairs. Here's a simple code snippet that illustrates its use:
>>> from anna.client import AnnaTcpClient
>>> client = AnnaTcpClient(ANNA_ADDRESS, IP_ADDRESS, LOCAL_MODE) # the IPs can be <IP_ADDRESS> and local mode should be True if you are running locally
>>> from anna.lattices import LWWPairLattice # last writer wins lattice
>>> lattice = LWWPairLattice(0, b'value')
>>> client.put('key', lattice)
... # do something else
>>> kv_pairs = client.get('key')
>>> return_lattice = kv_pairs['key']
>>> return_lattice.reveal()
b'value'

You can find the various lattice types here.

Hi @authwork -- let me know if you have any other questions regarding the Python client.

Many thanks, I am fine with the usage of the Python client.
Please also take a look at the consistency issue on the replication mechanism:
The easiest way to sync all replicas is to use the get_all client method, which retrieves data from all replicas and merges them.
=>
After reading get_all client method, I have one question.
Given a set k = {v1, v2, v3, v4} and it has three replications R1(k) = {v1, v2, v3, v4}, R2(k) = {v1, v2, v3, v4}, R3(k) = {v1, v2, v3, v4}.
I execute two command:
Delete v4
Add v5
and we know the correct consistent answer is k = {v1, v2, v3, v5}.
However, because of the EC, R1(k) = {v1, v2, v3}, R2(k) = {v1, v2, v3, v5}, and R3(k) = {v1, v2, v3, v4}.
Using get_all client method will read R1(k), R2(k), and R3(k), then merge their values (Union):
void merge(const Lattice<T> &e) { return do_merge(e.reveal()); }

void do_merge(const set<T> &e) {
    for (const T &elem : e) {
      this->element.insert(elem);
    }
  }

So, the answer is {v1, v2, v3, v4, v5}, which is not the correct consistent answer.

Hi @authwork -- delete operations from sets are not monotonic, so we do not support those merge operations natives in the storage engine. Non-monotonic operations are not supported in Anna. You could get around this issue by adding an item to indicate that v4 has been deleted and then resolving at the client layer which values should or shouldn't be in the set.


nixos/pam: Add u2f 'prompt' option

Description of changes
Add missing 'prompt' option to PAM, see: https://developers.yubico.com/pam-u2f/
I've been wanting to add this option to customize the message given by the PAM u2f module before asking the user to touch the security key.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking (It isn't)
[x] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Add missing 'prompt' option to PAM, see: https://developers.yubico.com/pam-u2f/

@Snuggle are you still interested in getting this merged?


Add redis_sentinel_password variable and configuration

This PR adds requirepass to the sentinel configuration file if needed

+1 on that... I even already added the var on my playbooks! =))

Thanks!


ModuleInterface: Skip attributes referencing SPI platforms

When printing the public .swiftinterface for a -library-level=api module, skip emitting @available, @backDeployed, and @_originallyDefinedIn attributes that reference "SPI" platforms.
Resolves rdar://133990140.

@swift-ci please smoke test


Do not ask for confirmation when removing dicteditor items

See #1981.

Thanks for the PR, but what if people accidentally press delete over a variable?

Ok, in this case confirmation makes sense.

Yes, this has to be smarter. My suggestion is to add a third button to the current QMessageBox dialog, called Don't ask again or something like that.
If the user press that button, then we'd save that to a variable (say show_del_warning) in the class the dialog is part of. So, next time the user press delete, we should check the value of show_del_warning, and if it's false, don't show the dialog.
I think this should be enough. There is no need to save this across session restarts :-)

There is no need to save this across session restarts :-)

I have thought about it and in fact I never want to have this confirmation. I do not accidentally press 'delete' (and if so, I can cope with the consequences). So please do save this across session restarts :-)
In fact, the best UI for this would be a limited (one step) 'undo' functionality, and no dialogs at all.

Ok, this is your PR ;-) So if you don't want to show the confirmation dialog across sessions, you need to add an option to config.py (under the variable_explorer section) and associate it with the corresponding button of the QMessageBox you removed.

the best UI for this would be a limited (one step) 'undo' functionality, and no modal dialogs at all.

This is (technically) not easy to achieve. I think it'd demand a lot of time from us to do it for very little gain ;-)

@ccordoba12 would it be that difficult? everytime something gets erased it should be stored

Sorry... wrong click!

@jondo, do you plan to finish this one?

@ccordoba12 I'm afraid currently not. For the moment, I will just patch my versions locally.

@jondo, well, the easiest option would be to ask for confirmation only one time per session. Why don't you go for that? That would be much better than what we have right now ;-)


Fixed styles for filters select

Motivation and context

This PR fixed #2609

How has this been tested?

Manually
Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
[x] I have linked related issues (read github docs)
[x] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Coverage decreased (-0.03%) to 62.41% when pulling 8d30e4b4d845b56eb471c1eec385361cb569d8ce on dk/filters-select-overflow-fix into 48b6da93615f7c2b0a8a4ea9f3c9ae55bb6ed3ae on develop.


Rename certs to certreqs in GDS test fixtures

In #210 we introduced test fixtures for certreqs, but incorrectly prepended the string "certs" instead of "certreqs"; this PR corrects the error by updating the fakerize.py script, the fakes.tgz and the gds_test.go files.

Codecov Report

Merging #214 (2fdbc49) into main (3b2d3de) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #214   +/-   ##
=======================================
  Coverage   31.31%   31.31%
=======================================
  Files          50       50
  Lines        5639     5639
=======================================
  Hits         1766     1766
  Misses       3507     3507
  Partials      366      366

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 3b2d3de...2fdbc49. Read the comment docs.

And thank you very much for catching the error @pdeziel!


"Buciumeni", "Dealu Mare", "Valea Leurzii" are listed in the drop-down menu

Description:
When user writes ” Buciumeni”, "Dealu Mare" and "Valea Leurzii" the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Dealu Mare"

Expected results
The location appears in the drop-down menu as "Sat Dealu Mare, DÂMBOVIȚA (Buciumeni)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Valea Leurzii"

Expected results
The location appears in the drop-down menu as "Sat Valea Leurzii, DÂMBOVIȚA (Buciumeni)".


fix(data): Writing data to chain every 24 hours

:tada: This PR is included in version 1.0.2 :tada:
Your semantic-release bot :package::rocket:


docs: Update RocksDB example configuration

I updated the RocksDB configuration example to fit the app.toml format as suggested in the documentation as opposed of yml
Though, I'm unsure if the rocksdb configuration is correct for toml format. Can a core dev verify?

thanks for the PR; your example is muhc more useful for inclusion into the app.toml


Blazor updates (Part I)

Addresses #11837
Round 1 change set:

Re-org the TOC for Pre4 renaming.
Move folders/topics to new locations (URLs).
Focus on title/description (and some content) refactor for "Blazor" app model.

Suggest 🏃 quick 🏃 review, updates, and merge to master to permit the next round of updates on #11837, which I'd like to start asap.
"Razor Components" app model language is preserved to an extent here that allows us to merge this PR to live today (if desired for other updates on other PRs).
Content updates completing the Pre4 renaming updates are forthcoming on another PR soon and should merge with the Pre4 release.

Starting on it now

@tdykstra Perhaps, the best we can do today if you wanted to go live with this round of updates. Your concerns will be fully addressed on a future PR when Pre4 releases.
The sharp edge of a razor is difficult to pass over; thus the wise say the path to 'enlightenment' is hard.*
    - Katha Upanishad
The path to salvation between Pre3 and Pre4 is narrow and as difficult to walk as the ASP.NET Core's Razor's edge.
    - WiseRex:tm:

:shipit:

All Razor Components documentation seems to give a 404:
https://docs.microsoft.com/en-us/aspnet/core/razor-components/
Is this temporary or has it moved to a new location?

@danpadmore Moved. We decided not to set up redirects for preview docs (see discussion). It would have cluttered up our redirects file a little bit. We think that search engines will re-index us quickly.
The coverage kicks off here now: https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-3.0
The TOC for Blazor should be stable going forward. The next round of updates (Part II) will only address the content and sample apps.


[flutter_tools] DVTPlugInLoading: Failed to load code for plug-in com.apple.dt.IDESimulatorAvailability

on stable/3.3.3 (this is the 6th highest crasher in terms of affected clients)
with command flutter build ipa --no-codesign
ProcessException: Process exited abnormally:2022-10-04 19:20:06.301 xcodebuild[64151:230947] [MT] DVTPlugInLoading: Failed to load code for plug-in com.apple.dt.IDESimulatorAvailability (/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin), error = Error Domain=NSCocoaErrorDomain Code=3588 "dlopen(/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, 0x0109): Symbol not found: (_OBJC_CLASS_$_SimDiskImage)  Referenced from: '/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability'  Expected in: '/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator'" UserInfo={NSLocalizedFailureReason=The bundle couldn’t be loaded., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, NSDebugDescription=dlopen(/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, 0x0109): Symbol not found: (_OBJC_CLASS_$_SimDiskImage)  Referenced from: '/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability'  Expected in: '/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator', NSBundlePath=/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin, NSLocalizedDescription=The bundle “IDESimulatorAvailability” couldn’t be loaded.}, dyldError = dlopen(/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, 0x0000): Symbol not found: (_OBJC_CLASS_$_SimDiskImage)  Referenced from: '/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability'  Expected in: '/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator'2022-10-04 19:20:06.321 xcodebuild[64151:230947] [MT] DVTAssertions: ASSERTION FAILURE in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot2/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-21304/DVTFoundation/PlugInArchitecture/DataModel/DVTPlugIn.m:374Details:  Failed to load code for plug-in com.apple.dt.IDESimulatorAvailability (/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin)Please ensure Xcode packages are up-to-date — try running 'xcodebuild -runFirstLaunch'.NSBundle error: Error Domain=NSCocoaErrorDomain Code=3588 "dlopen(/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, 0x0109): Symbol not found: (_OBJC_CLASS_$_SimDiskImage)  Referenced from: '/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability'  Expected in: '/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator'" UserInfo={NSLocalizedFailureReason=The bundle couldn’t be loaded., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, NSDebugDescription=dlopen(/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability, 0x0109): Symbol not found: (_OBJC_CLASS_$_SimDiskImage)  Referenced from: '/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin/Contents/MacOS/IDESimulatorAvailability'  Expected in: '/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator', NSBundlePath=/Applications/Xcode.app/Contents/PlugIns/IDESimulatorAvailability.ideplugin, NSLocalizedDescription=The bundle “IDESimulatorAvailability” couldn’t be loaded.}Object:   <DVTPlugIn: 0x600000757a20>Method:   -loadAssertingOnError:error:Thread:   <_NSMainThread: 0x600002318280>{number = 1, name = main}Hints: Backtrace:  0  0x0000000106bb93d0  1  0x0000000106bb8aac  2  0x0000000106bb8c2c  3  0x0000000106a6726c  4  0x0000000106a2d0d8  5  0x0000000106a2b4e8  6  0x00000001bbb301b4  7  0x00000001bbb3f414  8  0x0000000106bfd54c  9  0x0000000106bd9470 10  0x0000000106a2b380 11  0x0000000106a2b5a0 12  0x0000000107aef2ec 13  0x0000000107aeeae0 14  0x0000000107aee1e8 15  0x000000010548c324 16  0x0000000105065e0c  Command: /usr/bin/arch -arm64e xcrun xcodebuild -listcontent_copy
at RunResult.throwException(process.dart:123)
at _DefaultProcessUtils.run(process.dart:275)
at <asynchronous gap>(async)
at XcodeProjectInterpreter.getInfo(xcodeproj.dart:317)
at <asynchronous gap>(async)
at IosProject.projectInfo(xcode_project.dart:298)
at <asynchronous gap>(async)
at IosProject.buildSettingsForBuildInfo(xcode_project.dart:261)
at <asynchronous gap>(async)
at IosProject._parseHostAppBundleName(xcode_project.dart:239)
at <asynchronous gap>(async)
at IosProject.hostAppBundleName(xcode_project.dart:228)
at <asynchronous gap>(async)
at BuildableIOSApp.fromProject(application_package.dart:114)
at <asynchronous gap>(async)
at FlutterApplicationPackageFactory.getPackageForPlatform(flutter_application_package.dart:81)
at <asynchronous gap>(async)
at _BuildIOSSubCommand.buildableIOSApp.<anonymous closure>(build_ios.dart:313)
at <asynchronous gap>(async)
at _BuildIOSSubCommand.runCommand(build_ios.dart:350)
at <asynchronous gap>(async)
at BuildIOSArchiveCommand.runCommand(build_ios.dart:136)
at <asynchronous gap>(async)
at FlutterCommand.run.<anonymous closure>(flutter_command.dart:1209)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at CommandRunner.runCommand(command_runner.dart:209)
at <asynchronous gap>(async)
at FlutterCommandRunner.runCommand.<anonymous closure>(flutter_command_runner.dart:281)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at FlutterCommandRunner.runCommand(flutter_command_runner.dart:229)
at <asynchronous gap>(async)
at run.<anonymous closure>.<anonymous closure>(runner.dart:62)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at main(executable.dart:91)
at <asynchronous gap>(async)

@jmagman do you have any clue about what's going wrong here?

The only reference online I see to this is https://melonicedlatte.com/2022/09/18/214500.html, sounds like they need to run sudo xcodebuild -runFirstLaunch, or run Xcode?  The new version of Xcode changed the way the simulators and additional components are installed.
Seems like we need to add some detection of this state to
https://github.com/flutter/flutter/blob/723b82e4f0f3652dfaffb6e9bbc714e069da2976/packages/flutter_tools/lib/src/macos/xcode.dart#L100
to fall through to
https://github.com/flutter/flutter/blob/32b22b85dec8bdbf14bfc9404f981a4c0e25a6ac/packages/flutter_tools/lib/src/macos/xcode_validator.dart#L65

Saw this error yesterday, while trying to run a newly created flutter project on macOS.
Flutter version is 3.0.0
I found the necessary terminal command buried deep inside the error message and thus was able to fix.
Flutter doctor output:
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.6 21G115 darwin-arm, locale en-DE)
• Flutter version 3.0.0 at /Users/bernhard/dev/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ee4e09cce0 (5 months ago), 2022-05-09 16:45:18 -0700
• Engine revision d1b9a6938a
• Dart version 2.17.0
• DevTools version 2.12.2
[!] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
• Android SDK at /Users/bernhard/Library/Android/sdk
✗ cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
[✓] Connected device (2 available)
• macOS (desktop) • macos  • darwin-arm64   • macOS 12.6 21G115 darwin-arm
• Chrome (web)    • chrome • web-javascript • Google Chrome 106.0.5249.119
[✓] HTTP Host Availability
• All required HTTP hosts are available


improve resource detector documentation

On the README of the resource detectors, there are no details about which resource attributes are being set and what are their respective keys, making it hard to identify what we have available.
Improve documentation, adding a table with the info for all resource detectors.

[x] Alibaba #2056
[x] AWS #2060
[x] Azure #2057
[x] Container #2061
[x] GCP #2062
[x] Github #2064
[x] Instana #2063

Done now, I believe.

@trentm thank you for all the reviews and merges!


⚠ Fortnite has degraded performance

In bbc1b61, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1623 ms

Resolved: Fortnite performance has improved in 4785c90.


Please add

https://github.com/aws-ia/terraform-aws-eks-blueprints/blob/f9a7ebdae3454f7997590268166ad519df9f6617/modules/kubernetes-addons/kube-prometheus-stack/main.tf#L2
Please add the manage_via_gitops here as well
and also in variables.tf ofcourse:
variable "manage_via_gitops" {
description = "Determines if the add-on should be managed via GitOps."
type        = bool
default     = false
}
I would be very greatful if we can create a patch sooooon 😇

Hi @jochemvankessel - please use the issue/feature templates provided.

closing for now - please utilize the templates provided and populate with the requested information


Top offset fix, now with sticky top can be passed if not it will work…

Top offset fix, now with sticky top can be passed if not it will work…
Now it can be used as,
<StickyBox style={{top: "100"}}>

Hi @saorabhkr, sorry for taking that long to respond and thanks for your PR!
While I guess it's not a top priority for you anymore, I'm still happy to provide feedback:

First off, I'm glad you've got it to work!
using the style prop to communicate the offset intent, is a nifty idea, but I'd prefer something more explicit. Probably a dedicated "offset" prop. (using style might also lead users to write code like style={{top: "0.5em"}}, which will break this code)
I'm not sure if this method leads to 100% accurate calculations. There are a lot of factors involved. Children height, parent height, parent offset. I don't know if all these things are correctly calculated with this approach. I think a better place would be to hook into this.naturalTop
I think that in almost all cases, it's sufficient to get an offset by adding a padding to the StickyBox's parent

Alright, Let me know what you think!

v0.6.3 was just released adding offset support :)


Feature/accounts ui zh

add Traditional Chinese and Simplified Chinese for accounts-ui

Can you review this PR?
and push to npm.
I need this version for my project.
Thank.

Thank you.


"Configure CNApy" and "Configure cobrapy" fields missing from Config menu

Thanks for sharing such a great tool with the community!
From your documentation, it appears that there should be options in the Config menu called "Configure CNApy" and "Configure cobrapy" where users can set their own solvers, etc. When CNApy is installed as a conda package on an a mac with python version 3.10.4, these menu options appear to be absent. This is the config menu in the installed version:

Have you seen this issue before? Ideally, I'd like to be able to change the solver to enable working with larger models without erroring out.

Apologies if you've addressed this issue in another post.
Many thanks,
Laura

Hi,
thanks for the bug report. I have noticed these missing menu entries on another Mac before, so it must be related to this platform. It is very weird because I have no idea why these entries are missing whereas the rest of the menus appears OK. Unfortunately we don't have access to any Macs at the moment and cannot investigate ourselves what is going on.
As a workaround you can set the solver via the CNApy console like this:
cna.appdata.project.cobra_py_model.solver = 'cplex'

or
cna.appdata.project.cobra_py_model.solver = 'gurobi'

You can also set 'glpk' but I am not sure if this runs on a Mac. The error message you posted indicates that your model is too large to be handled by the trial version of Gurobi, so you would need to install the full version if you want to use this solver.

Hi,
Thanks for the quick response! Helpful to know it was a Mac issue. Your recommended commands didn't appear to change the solver, but getting the full version of Gurobi fixed the issue!
In case it is helpful, I think (?) glpk does work on Mac. At least, some version of glpk is the default solver used by cobrapy.
Many thanks,
Laura


Send a message to a topic

Adds a simple form to send a message to a topic.
Send message operation

Send message form

Ref #130

I'd love to pull this in but I am not sure if everyone would be happy with allowing writes to topics.

We can maybe add a flag/switch to enable this feature ?
Having said that we already have a "Delete topic" button :)

i hope for added this feature,so we can test kafka cluster wether it's works right

@patelh I understand your concern, if you want if can add a flag to enable/disable this feature ?

Has this been merged? I don't see the post message option

No not yet. I'm not sure what needs to be done ?
Le 11 mai 2016 10:27 AM, "Krishna"<EMAIL_ADDRESS>a écrit :

Has this been merged? I don't see the post message option
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/yahoo/kafka-manager/pull/134#issuecomment-218394576

I think a Key and Partition would be  helpful


Project header leaderboard display/link discrepancy

project header leaderboard shows count based on hrank=species
e.g. http://www.inaturalist.org/projects/coyote-point-bioblitz-2015
this should be rank=species to match link, e.g.
http://www.inaturalist.org/observations/taxa?d1=2015-04-25T06%3A00%3A00-07%3A00&d2=2015-04-25T20%3A00%3A00-07%3A00&place_id=77154&rank=species

This is going to mean taxa that are represented only as infraspecies will not get counted, e.g. if someone observed Crotalus oreganus ssp. oreganus and not Crotalus oreganus, nothing will be counted. Is that what you want? That almost seems like it will cause even more confusion.

The immediate goal is for consistency
The longer term goal is for a good counting statistic. I'm going to lobby for leaves as the longer term best counting statistic.
As for the immediate goal of consistency, what statistic would you prefer among our short term options: species, species, ssp. & var., & all taxa. I think species is the least confusing of these three

I sort of feel like species-and-lower (i.e. hrank=species) is the least confusing, which is how the "Total" species works now on projects/show. That way you err on the side of too many taxa than on not enough, so no one can complain about their contribution not getting counted at all. Complaining about a species getting counted twice b/c a subspecies was observed seems like a lesser problem, no?

I'm not sure I agree, but I don't feel strongly about the choice given this set of options (I do feel strongly about implementing a consistent leaf count soon ;)
If you want to make everything count species-and-lower now thats fine with me, but can you also identify these locations to make what changes where from the existing issues?

I don't feel terribly strongly about it, and I'm happy to take your lead here since I feel like this is a temporary fix in advance of HAVO, but don't you think it's harder to explain to people why their contribution doesn't contribute to a count vs why it seems to count twice? Is it because you usually have to explain these counts to park managers who don't actually do much to contribute to the count themselves?

I thought going with species would be (1) an easier change to make and (2) easier to explain. But if you want to go with species-or-lower, thats fine with me. Can you pick one and make the changes?

Still a problem here, perhaps unrelated, but '298'

http://www.inaturalist.org/projects/hawai-i-volcanoes-national-park-bioblitz-2015
is not matching '287' showed on the subsequent link

http://www.inaturalist.org/observations/taxa?d1=2015-05-15T13%3A00%3A00-06%3A00&d2=2015-05-16T17%3A00%3A00-06%3A00&place_id=7222&hrank=species

The projects/show page was showing a number that was incorrectly high, due to how Elasticsearch has implemented counting https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html#_counts_are_approximate . I raised the precision_threshold for the counts in 558c480 , and the numbers now seem to be the same in both places.
There is other discussion here about what the count should actually represent, but the differences in counts should no longer happen. Should we close this and move the discussion about species vs leaves to another ticket?


How to protect routes using guard?

I would like to protect all routes except the login route with a guard which checks the loggedIn status using a self implemented userService.
I already followed this howto http://blog.thoughtram.io/angular/2016/07/18/guards-in-angular-2.html but i couldn't get this working with ng2-admin.
In which routes.ts should i put my guard?

Open pages.menu.ts and add canActivate property for your route. For example:
 path: 'pages',    canActivate: [ LoggedInGuard ]
Also make Guard Service. This example to get access for logged in users:
`@Injectable()
export class LoggedInGuard implements CanActivate {
constructor(private loginService: LoginService, private router: Router) {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
    return this.loginService.isLoggedIn();
}`

If you're using<EMAIL_ADDRESS>you should add your guards in pages.routing.ts, as this file describes most of the routes, at lease if you didn't change the configuration too much.
I have set up an authentication module, which exposes the login and logout routes. I include in in pages.routing.ts as the first element of the array, before the pages element, which contains routes that need to be protected. Then, all I did was set up a guard on the object with pages path.
Here's my pages.routing.ts:
import { Routes, RouterModule }  from '@angular/router';

import { SignInComponent } from './sign-in';
import { LogoutComponent } from './logout';

const routes: Routes = [
  {
    path: 'sign-in',
    component: SignInComponent
  },
  {
    path: 'logout',
    component: LogoutComponent,
    data: {
      menu: {
        title: 'PAGE_LOGOUT',
        icon: 'fa fa-power-off',
        selected: false,
        expanded: false,
        order: 1000
      }
    }
  }
];

export const routing = RouterModule.forChild(routes);

And here's authentication.routing.ts (custom module I've created, you can paste the contents of this array as the first element of the array in pages.routing.ts and it would work the same, except for being lazily loaded, I think):
import { Routes, RouterModule }  from '@angular/router';

import { SignInComponent } from './sign-in';
import { LogoutComponent } from './logout';

const routes: Routes = [
  {
    path: 'sign-in',
    component: SignInComponent
  },
  {
    path: 'logout',
    component: LogoutComponent,
    data: {
      menu: {
        title: 'PAGE_LOGOUT',
        icon: 'fa fa-power-off',
        selected: false,
        expanded: false,
        order: 1000
      }
    }
  }
];

export const routing = RouterModule.forChild(routes);

Thank you both, i got it working now. The problem was that i placed the AuthGuard in the wrong routing.ts. Your examples helped me to figure out the the correct location.


covid19-world-map

the data in covid19-world-map in index.js are static it was given, can you please make it dynamic by using an ipa because i tried to do it but i couldn't !

Absolutely, right now I'm making timeline of covid19 with world map like
wikipedia projection
Pada tanggal Rab, 22 Apr 2020 01.59, Raid Boulahdid <
<EMAIL_ADDRESS>menulis:

the data in covid19-world-map in index.js is static it was given, can you
please make it dynamic by using an ipa because i tried to do it but i
couldn't !
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tedirghazali/codetube/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMYO4JU2JKY6LJVMPCWXETRNXUHPANCNFSM4MNQ7ORA
.

Here is my index.js file i tried to make some modification in code to fit with an ipa but it doesn't dipslay the data on the web page, feel free to read it and execute it to understand.
https://github.com/raid21/covid-map/blob/master/dataset-t.js

You have to download mapael and raphael js plugins first, and then extract
it to asset folder, get that plugin from this link
github.com/neveldo/jQuery-Mapael also, use cdn instead, either jsdelivr or
cdnjs, I have been seeing your project html and I found out your html file
is missing the mapael plugin
Pada tanggal Rab, 22 Apr 2020 15.52, Raid Boulahdid <
<EMAIL_ADDRESS>menulis:

Here is my index.js file i tried to make some modification in code to fit
with an ipa but it doesn't dipslay the data on the web page, feel free to
read it and execute it to understand.
https://github.com/raid21/covid-map/blob/master/dataset-t.js http://url
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tedirghazali/codetube/issues/4#issuecomment-617645417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMYO4POP3DE7QYG4LL2WULRN2V5TANCNFSM4MNQ7ORA
.

Reply to this email directly, view it on GitHub
https://github.com/tedirghazali/codetube/issues/4#issuecomment-617725161,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMYO4IBJ7KBYN5POMPPEK3RN3JTDANCNFSM4MNQ7ORA
.

I already fork, edit and pull request your project, please merge it, I
replace fetch with ajax, the problem is promise still pending when using
async and await
Pada tanggal Rab, 22 Apr 2020 21.28, Tedir Ghazali<EMAIL_ADDRESS>menulis:

Also, you have to import its dependency, raphael.js, without this plugin,
mapael won't work, import jquery mousewheel too, I will see your project
again tomorow
Pada tanggal Rab, 22 Apr 2020 18.40, Raid Boulahdid <
<EMAIL_ADDRESS>menulis:

I know and i did that it's just i didn't upload the full project, and i
already integrated the mapael plugin using:
i did everything and i don't get the result, here is the full project:
https://github.com/raid21/covid-map
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tedirghazali/codetube/issues/4#issuecomment-617725161,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMYO4IBJ7KBYN5POMPPEK3RN3JTDANCNFSM4MNQ7ORA
.

It's done, now it's working fine. i had to use ajax and set additional param async to false to use the data outside the request.
https://github.com/raid21/covid-cases-world-map

Ğ


cannot resize entire row depending on the value in textviews

I was trying to create a table view, but the values in each text view in the table view might vary. so need the entire row to resize depending on the value present in the text view. if you can see  the first header row I just added some characters to the first text view, the rest columns does not match the height to the first row. tried adding layout params to text view and the row. same issue persists.

int[] widthPercent2 = {5, 12, 17, 10, 10, 10, 10, 10, 8, 8};
   String[] headerTitle2 = {"S# fjtdhrdygkyftjf", "Item Code", "Item Name", "Cs Qty", "Pc Qty", "Cs Price", "Pc Price", "Sub Total", "VAT", "Total"};
   String[] childTitle1 = {"1", itemCode[0], itemName[0], csQty[0], pcQty[0], csPrice[0], pcPrice[0], subtotal[0], vat[0], total[0]};

private PDFTableView.PDFTableRowView createTableHeader(String[] headerTitle) {
       PDFTableView.PDFTableRowView tableHeaderRow = new PDFTableView.PDFTableRowView(getApplicationContext());
       for (int i = 0; i < headerTitle.length; i++) {
           tableHeaderRow.addToRow(createHeaderColumn(headerTitle[i], i));
       }
       tableHeaderRow.setLayout(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
       return tableHeaderRow;
   }

private PDFTextView createHeaderColumn(String title, int pos) {
       PDFTextView pdfTextView = new PDFTextView(getApplicationContext(), PDFTextView.PDF_TEXT_SIZE.P).setText(title);
       if (pos == 0) {
           pdfTextView.getView().setBackground(getResources().getDrawable(R.drawable.border_left_top_right_grey));
       } else {
           pdfTextView.getView().setBackground(getResources().getDrawable(R.drawable.border_top_right_grey));
       }

       pdfTextView.getView().setTextSize(TypedValue.COMPLEX_UNIT_SP,  (float) 3.5);
       pdfTextView.setTextTypeface(ResourcesCompat.getFont(getApplicationContext(), R.font.calibrib));
       pdfTextView.setPadding(10, 0, 0, 0);
       pdfTextView.setLayout(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
       return pdfTextView;
   }

I attach the row to the table using the below mentioned code
PDFTableView tableView = new PDFTableView(getApplicationContext(), createTableHeader(headerTitleInv),
                createTableChildFirstRow(childTitleInv, 1));
        tableView.setColumnWidth(widthPercentInv);
        pdfBody.addView(tableView);
        pdfBody.addView(createSeparator(Color.WHITE, 15));

Could anyone tell me what I'm doing wrong/missing out..

Are you using two different set columnWithPercentage array?
I would suggest to modify your code by using example from here.

Are you using two different set columnWithPercentage array?
I would suggest to modify your code by using example from here.

no., I'm using same width percent array. i have developed similar to your example .

Attaching another image for better understanding the issue..
i think the textviews are not resizing according to the horizontal view

Ok, if font size or text wrapping is the issue, then this library does not handle those cases currently. You have to take care of that yourself.
I would suggest to use setMaxLines(2) and setEllipsize(TextUtils.TruncateAt.END).
Its up-to you how much width you want to give per column, if your column is too small, text will just wrap and take up all the height it needs.


fix: update ccm local activation command

PR Checklist

[ ] Leverages formatting as provided by https://squidfunk.github.io/mkdocs-material/reference/abbreviations/
[ ] Have viewed and verified edits in rendered form ensuring proper formatting

What are you changing?

Anything the reviewer should know when reviewing this PR?

Fixed


chore: [PL-39650]: Add full Upgrader sample yaml

Upgrader CronJob can't work on its own. It needs supporting K8S resources. This includes RBAC roles, Secret and ConfigMap
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


[CT-1851] [Feature] Re-render incremental_predicates at run-time, similar to hooks

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Currrently, as discussed in many other issues (https://github.com/dbt-labs/dbt-core/issues/3680, https://github.com/dbt-labs/dbt-core/issues/4023, https://github.com/dbt-labs/dbt-core/issues/2921, https://github.com/dbt-labs/dbt-core/issues/4692, https://github.com/dbt-labs/dbt-core/issues/2793, https://github.com/dbt-labs/dbt-core/issues/3985), the config state of a model is all rendered at parse time to be able to build dependencies etc, with the exception of hooks which are re-rendered at runtime (if you use the nested curly approach). The new incremental_predicates config option in 1.4 could be really powerful for optimising merges but often this optimisation will require some context of the data that has been run, such as being based off values within the same or other models, but currently it is not possible to use ref functions in the config and have them render correctly.
The main functionality I can see this having is being able to query the source table for something like a date range and use this as a predicate on the merge for the destination table to greatly reduce scanning (currently do this how the custom snowplow materialization works, the hope is with 1.4 that this materialization wouldn't require it anymore). But I am sure there are also other times when having this predicate be able to be generated at run time would be useful.
The main request is for internal predicates to be re-rendered at runtime the same way that hooks currently are.
Describe alternatives you've considered
I have attempted the following, none of which work for various reasons and even if they did they might rely on some side-effect of the way the config uses placeholder values rather than a documented functionality:

Try using a ref to another model. Outcome - uses the this placeholder so cannot reference another model
Try directly using the DBT_INTERNAL_SOURCE alias in a subquery. Outcome - does not work, the alias can only be used for column references not in subquerys within the on clause
Try hardcoding a __dbt_tmp after the ref name in the subquery. Outcome - does not work when the model has any +schema settings, the ref is passed as the default connection schema and datbase, rather than the one set in the config. Also relies on no changes to both __dbt_tmp naming AND what the placeholder on parse returns.

With the current limitation we cannot see a way to replace the optimisations we get from the Snowplow materialization with using the standard incremental with predicates.
An example macro I have tried to use to return the predicate is below, the execute block does run as I can see in the logs but is not actually used, and the non-execute block is used in the merge predicate but does not render with the correct schema (it renders with the target connection schema only).
{% macro get_snowplow_incremental_predicates(source, upsert_date_key, disable_upsert_lookback) -%}
  {{ adapter.dispatch('get_snowplow_incremental_predicates', 'snowplow_utils')(source, upsert_date_key, disable_upsert_lookback) }}
{%- endmacro %}

{% macro default__get_snowplow_incremental_predicates(source, upsert_date_key, disable_upsert_lookback) -%}

{# Get the upsert limits from the changed file - need actual values here not calculated at run time #}
{% if execute %}
    {% set upsert_limits -%}
    {% if disable_upsert_lookback %}
              select
                cast(min({{ upsert_date_key }}) as {{ dbt.type_string() }}) as lower_limit,
                cast(max({{ upsert_date_key }}) as {{ dbt.type_string() }}) as upper_limit
              from {{ source }}
      {% else %}
              select
                cast({{ dateadd('day',
                                    -var("snowplow__upsert_lookback_days", 30),
                                    'min('~upsert_date_key~')') }} as {{ dbt.type_string() }}) as lower_limit,
                    cast(max({{ upsert_date_key }}) as {{ dbt.type_string() }}) as upper_limit
              from {{ source }}
      {% endif %}

    {%- endset %}
    {# {{ snowplow_utils.log_message(upsert_limits) }} #}
    {% set limits = run_query(upsert_limits) %}

  {%- set snowplow_predicate -%}
    {{"DBT_INTERNAL_DEST."~upsert_date_key~" between timestamp '"~limits.rows[0][0]~"' and timestamp '"~limits.rows[0][1]~"'"}}
  {%- endset -%}
  {{ return(snowplow_predicate) }}
  {# {{ snowplow_utils.log_message(snowplow_predicate) }} #}

{% else %}
  {%- set snowplow_predicate -%}
    {{"DBT_INTERNAL_DEST."~upsert_date_key~" between (select min("~upsert_date_key~") from "~source~"__dbt_tmp) and (select max("~upsert_date_key~") from "~source~"__dbt_tmp)"}}
  {%- endset -%}
  {{ snowplow_utils.log_message(snowplow_predicate) }}
  {{ return(snowplow_predicate) }}

{% endif %}

{% endmacro %}

Who will this benefit?
Any users who wish to apply dyanmic predicates to their upserts/merges based on values in their data processed as part of the run.
Are you interested in contributing this feature?
Possibly, if you can point me to where hooks are re-rendered and predicates aren't
Anything else?
https://discourse.getdbt.com/t/issue-passing-a-ref-table-name-to-a-custom-materialization/973/5
https://github.com/dbt-labs/docs.getdbt.com/issues/2492

@rlh1994 Thanks for opening, and for having done your research :)
As you've noted/linked, this is an area where users have regularly run up against the limitations of resolving (at parse time) configurations that are narrowly targeting a bit of runtime behavior.

The main request is for internal predicates to be re-rendered at runtime the same way that hooks currently are.

I'm not strictly opposed to doing this—and doing the same for other "runtime-only" configs, such as merge_include_columns + merge_exclude_columns—with the caveat that the way we do this for hooks today is pretty gross, and so it's not a pattern I'd be thrilled about extending as-is.
Keep the easy things easy
The pattern you're pursuing here sounds a lot like insert_overwrite with "dynamic" partition replacement on BigQuery (docs). That level of precision is important on databases (such as BigQuery) where every gigabyte counts.
As a general rule, though, the trickiest things about incremental models is debugging too-clever-by-half logic when it goes wrong. That costs a lot in human time & cognition, which is expensive! The simpler, the better.
For now, in the first cut, I expect there's quite a lot of mileage you'd get from incremental_predicates simply by limiting to a static lookback window ("always 30 days"), or the same window that you're using in your is_incremental logic (since {{ this }} should work just fine):
{% set lookback_subquery %}
    select dateadd('day', -30, date_day) from {{ this }}
{% endset %}

{% set lookback_predicate %}
    DBT_INTERNAL_DEST.date_day between ({{ lookback_subquery }}) and current_date
{% endset %}

{{ config(
  materialized = 'incremental',
  unique_key = 'id',
  incremental_predicates = [lookback_predicate]
) }}

-- coordinate with the max lookback window
with upstream_table as (
    select * from {{ ref('upstream_table') }}
    {% if is_incremental() %}
    where date_day > ({{ lookback_subquery }})
    {% endif %}
)

Easy to configure, easy to reason about, and your database should still thank you plenty if date_day is a cluster or sort key. (Though it's never guaranteed with a subquery, so a conservative static value may well be safer.)
Make hard(er) things possible
If you do need to get fancier, and dynamically produce an incremental predicate by first running queries that get min/max from the source table, this is possible (if trickier) with user-space code. You could do this by overriding the get_merge_sql macro to run some extra introspective queries at runtime. For example, incremental_predicates needs to be a list, but I could establish a (totally custom, just-for-me) convention whereby the first element is the string "dynamic_date_range", and the second element is the name of the date column.
{{ config(
  materialized = 'incremental',
  unique_key = 'id',
  incremental_predicates = ["dynamic_date_range", "date_day"]
) }}

select 1 as id, current_date as date_day

Then, I check for my custom condition within get_merge_sql, and recalculate the predicates, before passing all arguments on to the built-in macro. Borrowing from some of the code you've included above:
{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}
    {% set predicate_override = "" %}
      {% if incremental_predicates[0] == "dynamic_date_range" %}
        -- run some queries to dynamically determine the min + max of this 'date_column' in the new data
        {% set date_column = incremental_predicates[1] %}
        {% set get_limits_query %}
            select
                min({{ date_column }}) as lower_limit,
                max({{ date_column }}) as upper_limit
            from {{ source }}
        {% endset %}
        {% set limits = run_query(get_limits_query)[0] %}
        {% set lower_limit, upper_limit = limits[0], limits[1] %}
        -- use those calculated min + max values to limit 'target' scan, to only the days with new data
        {% set predicate_override %}
            DBT_INTERNAL_DEST.{{ date_column }} between '{{ lower_limit }}' and '{{ upper_limit }}'
        {% endset %}
    {% endif %}
    {% set predicates = [predicate_override] if predicate_override else incremental_predicates %}
    -- standard merge from here
    {% set merge_sql = dbt.get_merge_sql(target, source, unique_key, dest_columns, predicates) %}
    {{ return(merge_sql) }}

{% endmacro %}

Result:
merge into analytics.dbt_jcohen.my_incremental_model as DBT_INTERNAL_DEST
        using analytics.dbt_jcohen.my_incremental_model__dbt_tmp as DBT_INTERNAL_SOURCE
        on (
            DBT_INTERNAL_DEST.date_day between '2023-01-19' and '2023-01-19'
        ) and (
                DBT_INTERNAL_SOURCE.id = DBT_INTERNAL_DEST.id
            )

    when matched then update set
        "ID" = DBT_INTERNAL_SOURCE."ID","DATE_DAY" = DBT_INTERNAL_SOURCE."DATE_DAY"

    when not matched then insert
        ("ID", "DATE_DAY")
    values
        ("ID", "DATE_DAY")

;

Thanks for the response @jtcohen6!

The pattern you're pursuing here sounds a lot like insert_overwrite with "dynamic" partition replacement on BigQuery (docs). That level of precision is important on databases (such as BigQuery) where every gigabyte counts.

You're right, this is pretty much the core idea behind the Snowplow Incremental Materialization, for example this is the output of a merge on a snowflake warehouse. For massive tables we get a lot of optimization out of this (because the tables are partitioned/clustered/other depending on warehouse), but as I'm sure you'll appreciate keeping a custom materialization up-to-date with 4 adaptors is not an easy task, hence our hope to move back to the standard incremental method.
-- define upsert limits
      set (dbt_partition_lower_limit, dbt_partition_upper_limit) = (
            select
              dateadd(day, -30, min(start_tstamp)) as lower_limit,
              max(start_tstamp) as upper_limit
            from <database>.dbt_ryan_derived.snowplow_web_sessions__dbt_tmp
      );

  -- run the merge statement
  merge into <database>.dbt_ryan_derived.snowplow_web_sessions as DBT_INTERNAL_DEST
  using (
    select * from <database>.dbt_ryan_derived.snowplow_web_sessions__dbt_tmp
  ) as DBT_INTERNAL_SOURCE
  on
        DBT_INTERNAL_SOURCE.domain_sessionid = DBT_INTERNAL_DEST.domain_sessionid
    and DBT_INTERNAL_DEST.start_tstamp between $dbt_partition_lower_limit and $dbt_partition_upper_limit

  when matched then update set
    /* cut for space */
  when not matched then insert
     /* cut for space */
;

  -- Unset variables
  unset (dbt_partition_lower_limit, dbt_partition_upper_limit);

Unfortunately I think the keeping things easy approach is a little too easy for us, our packages are built to encourage multiple smaller runs when backdating a large volume of data, as well as having a not entirely simple logic that defines what time range our processing tables will cover (if you're interested in reading more), which means anything referencing a static window won't work.

(Though it's never guaranteed with a subquery, so a conservative static value may well be safer.)

I've had horrible optimizing sessions before where the solution turned out to be setting a value rather than generating it in a subquery, so I entirely agree with this, hence the preferred option of querying first and getting static values. One of those things that will probably be fine either way but the 1 time it isn't will upset some people...
The second option is definitely interesting - would it work in a package imported into a project? It would mean we only have to maintain support for a single macro (maybe 2 if we added delete+insert as well) instead of 4 entire materializations, and would still allow for additional predicates should anyone want with some tweaks, and finally it would still preserve standard incremental models for anyone using them. I can definitely explore this for now, so long as it works from a package, thanks!
Overall I think it'd still be beneficial to have this runtime-only configs as you mentioned, with whatever pattern works for people, it opens up a lot more flexibility at a higher level for everyone and I could see some really cool stuff coming out of it!

The second option is definitely interesting - would it work in a package imported into a project?

Check out dispatch for this: https://docs.getdbt.com/reference/dbt-jinja-functions/dispatch#overriding-global-macros
In projects that install snowplow_utils as a package, just add (once):
# dbt_project.yml
dispatch:
  - macro_namespace: dbt
    search_order: ['snowplow_utils', 'dbt']

Now, any time dbt looks for a "global" macro (e.g. get_merge_sql), it will prefer the version defined in the snowplow_utils package.
(The opt-in has to be explicit, and in case of a conflict between multiple packages, you have to specify a search order that yields a deterministic "winnter.")

Great thanks, I'm assuming that if someone installed the snowplow_web package that uses the snowplow_utils package, the dispatch needs to be set at the user project level (i.e. if we set it in snowplow_web it wouldn't work?). That might make it a little tricky to make sure people enable it, but will work for some testing at least!

the dispatch needs to be set at the user project level

Correct - the dispatch config has to be set in the root-level (user) project. dbt needs an explicit order in which to resolve conflicts, in the event that multiple installed packages all try to override the same "global" macro. (There Can Only Be One!) The good news is, it's only a few lines of copy-paste code.

To show support for the original feature request -- and hold the stale label at bay -- I'd like to +1 this! I tried @jtcohen6 's "keep the easy things easy" approach, but {{ this }} did not reflect the model's custom schema; I then tried hard-coding the db.schema.table, but this caused errors in dbt unit ("functional"?) tests, which use a different, test-specific schema; I'm now planning to fall back to a fixed lookback window, though this has its own shortcomings. I think it would be very helpful if we could use the usual jinja magic in incremental predicates, as we do in hooks.

Big +1 to this. I also tried @jtcohen6 's "keep the easy things easy" approach, as it seemed perfect for our use-case, but as @bdewilde mentioned, {{ this }} does not reflect the model's custom schema when used in the predicate.

I also need this. There are other cases to need jinja variables expanded in an incremental_predicates string.


cant turn propally while attacking (its extrem slow) not sure if this is a bug (is also possible to change that?)

Describe the bug
When i am attacking i cant look left and right
To Reproduce
nothing speacial, just attack and turn around at the same time
Go to '...'
Do '...'
Expected behavior
the camera should move fast and smooth like in vanilla
Modlist version
latest.
Did you add any additional mods?
No

As above:
Not a bug, but intended feature - realistic attack commitment, which is provided by Mortal Enemies Synthesis patch.


Add vineyard to the shm benchmark

The number looks not well, and it does work and I would look into the number further.
Edit: I have made a mistake in the "cache" part of vineyard implementation. After the bug fixed vineyard looks faster than plasma and I think there are still much optimization spaces inside the vineyard itself.
The difference comes from the performance difference of _put_vineyard_buffer and _put_plasma_buffer. I have added a timing decorator in https://github.com/martindurant/distributed/pull/2.
Hope the above information could be helpful.
shm_distributed/test_runs.py::test_workflow[client_scatter_workflow-pickle] 7.540348s
Start: 742 resident, 516 unique
Start: 4844 resident, 4618 unique
Δmem: 4127
PASSED
shm_distributed/test_runs.py::test_workflow[client_scatter_workflow-plasma] 1.174548s
Start: 766 resident, 526 unique
Start: 1793 resident, 1552 unique
Δmem: 6
PASSED
shm_distributed/test_runs.py::test_workflow[client_scatter_workflow-vineyard] 0.915509s
Start: 1792 resident, 1551 unique
Start: 2818 resident, 2577 unique
Δmem: 5
PASSED
shm_distributed/test_runs.py::test_workflow[worker_scatter_workflow-pickle] 10.160269s
Start: 2795 resident, 2568 unique
Start: 6906 resident, 6679 unique
Δmem: 4134
PASSED
shm_distributed/test_runs.py::test_workflow[worker_scatter_workflow-plasma] 3.202961s
Start: 2826 resident, 2585 unique
Start: 4875 resident, 2586 unique
Δmem: 1033
PASSED
shm_distributed/test_runs.py::test_workflow[worker_scatter_workflow-vineyard] 3.288973s
Start: 2827 resident, 2586 unique
Start: 10000 resident, 3615 unique
Δmem: 1045

Address #2

The number looks not well, and it does work and I would look into the number further.

I diasgree! The numbers for vineyard and plasma are about the same in delta-memory (system memory) and time. Why and how the "unique" appears higher, I am not sure, perhaps how memory is reported is different between the systems; but certainly the performance is greatly beating pickle on your system. At a guess, I would say that your memory is more constrained than mine.
Note that a lot of things will impact what we see (config, systems, choice of workflow), and the benchmarks here should be seen as a starting point from which we can work out something more robust.

and the benchmarks here should be seen as a starting point from which we can work out something more robust.

Totally agree.


Add log level to the console printouts

Global Logger version: 0.3.16
Python version: 3.9
Operating System: Windows 10

Add log level to the console printouts
Currently the console logs come without the the log level
Improvement: Add log level to the console printouts
My solution (I can do it but I think someone that already has the solution set up could do this much faster...):
In  the global_logger.py
Update:
LOGGER_COLORED_MESSAGE_FORMAT = '%(log_color)s%(message)s'
to
LOGGER_COLORED_MESSAGE_FORMAT = '%(levelname)s: %(log_color)s%(message)s'
or ask user to pass a parameter that would allow them to customize the console logs as they wish or when setting the message_format apply that to the console log as well, similar to how we already do  for the designated file logging.
logger_message_format = '%(asctime)s: %(filename)s:%(funcName)s: %(levelname)s: %(message)s'
log = Log.get_logger(message_format=logger_message_format)
Additionally, allow user to turn off console logging
Cheers!
Lily

done in 0.3.17:

added Python 3.9 support
renamed message_format argument to file_message_format
added screen_message_format argument that you can use to override the default screen logging message format.

to disable screen logging, you can raise the global logging level to something like 999, and no log message level will be equal or higher than this number so the output should be empty. in this case, only file output will exist if enabled.
are you satisfied with these changes? can I do anything else for you?

Alexey Thank You Furrry Much (Paws up)

Please do not hesitate to leave a comment if something isn't working as expected or needs enhancement.
For now, I am closing this issue.


Bump colorlog from 6.8.0 to 6.8.2 (#7060)

Pull request opened by the merge tool on behalf of #7060

Merged in c5a2d0da35f2c2d62d2cd9786138d4e9e5a96ec5


[REQUEST] API periodic rescan

API that pulls settings from an external server has a fault.
If the client runs on a VPS and doesn't close the program or rescan, it uses the settings for life.
Could you implement a periodic rescan?
Or when it clicks to start the checker or stop it, OpenBullet automatically checks the configs API.

hi, i already asked to fix this...unfortunately openbullet doesn't want to do it... There is a hope with the Paradox fork, but since today they didn't add the feature, still waiting...

@Zigoleiro feel free to post a thread here and I'll tell you how to edit the source code to implement what you want ^_^ https://forum.openbullet.dev/category/21/mods

Also mind that the API is not supposed to be secure, a user can make 1 request to download all .loli configs, so do not use this to protect your intellectual property! A secure version of the API was proposed here https://forum.openbullet.dev/topic/12/poll-openbullet-secure-api but it had mixed reactions

oi, eu já pedi para consertar isso no fórum oficial ... infelizmente o openbullet não quer fazer isso ... Há uma esperança com o fork do Paradox , mas desde hoje eles não adicionaram o recurso, ainda estão esperando. ..

Anything new?


Ensure unique bicep names for role assignments and expose principalType parameter

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Provisioning


Account ID gets passed in as Asset ID when doing the Add Asset Quantity transaction

I'm new to Hyperledger Iroha. I just set up a network following the guide here I created an asset and the transaction was successful but when I try to do the Add Asset Quantity transaction to add the newly created asset to the admin@test account and check the status, I get this message : Transaction has not passed stateless validation. 0 AddAssetQuantity: [[Wrongly formed asset_id, passed value: 'admin@test'. Field should match regex '[a-z_0-9]{1,32}\#([a-zA-Z]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?' ]]
Looks like the value I enter at the account id prompt is being passed in as the value for asset id.

Thank you!
After recent fix (#1511) documentation & iroha-cli become outdated. The issue is also described in #1559, so I'm closing the issue


1.1.2 merge

Merge 1.1.2 back into dev to keep everything up to date.

Go ahead and merge because this PR changes no code 😄