Show category / tag in Expense preview view

Explanation of Change

Fixed Issues

$ https://github.com/Expensify/App/issues/52261
PROPOSAL: https://github.com/Expensify/App/issues/52261#issuecomment-2465507832
Tests

Submit some expenses in a workspace chat with category/tag:

No category/tag
Short/long category, no tag
No category, short/long tag
Short/long category, short/long tag

Open the expense preview
Verify that all cases, category/tag is displayed with the correct style

[x] Verify that no errors appear in the JS console

Offline tests

Same
QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]."

Submit some expenses in a workspace chat with category/tag:

No category/tag
Short/long category, no tag
No category, short/long tag
Short/long category, short/long tag

Open the expense preview
Verify that all cases, category/tag is displayed with the correct style

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/710c3712-279e-4381-a483-1d18aa3ccb63

Android: mWeb Chrome
https://github.com/user-attachments/assets/7e7b665e-9af3-4c00-9a7b-3949c671d7fc

iOS: Native
https://github.com/user-attachments/assets/17886254-a5bf-4938-872c-ce9fcaf6233a

iOS: mWeb Safari
https://github.com/user-attachments/assets/9a7cb27e-6677-4da3-a144-205e840efe3b

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/39a977ed-a7a3-408f-b43b-9536a8db775b

MacOS: Desktop
https://github.com/user-attachments/assets/9f57a824-5f4e-4a01-ae24-7072e846f9c2

Screenshots are looking good! Going to try to run a test build and get @Expensify/design's eyes on this as well.

😭 Oof yes, I agree we need to deal with that. Nothing is immediately coming to mind, but I agree we need to clean it up somehow.

I wonder if we should at least make these the same font size? Feels like there's too many sizes going on at the moment. Given they use the same icon size as well. Thoughts?

@dannymcclain I updated your suggestion here. Here is the latest result.

Feels like there's too many sizes going on at the moment. Given they use the same icon size as well. Thoughts?

Totally agree, though it seems like we can actually solve this one by just moving the pending/scanning text to the top eye brow line.

Spun up another test build for testing, cc @dannymcclain - let us know if that matches your expectations re: design styles!

The one thing that stands out to me is the font size. I think you are using micro (11px) in your mocks, but I think the build is using label (13px)? Let's get some clarification there.

The one thing that stands out to me is the font size. I think you are using micro (11px) in your mocks, but I think the build is using label (13px)? Let's get some clarification there.

Good catch! Yes, the mocks use Micro (11px) and it does indeed look like the build is using Label (13px). Let's get that updated.
Also it looks like expense previews without categories and tags are getting some extra bottom padding in the build?

This build
Desktop staging

Good catches Danny!

@dannymcclain Fixed two bugs above.

Will spin up a new test build.

That new test build is looking good! (After I opened the build link I had to refresh to get the latest styles just FYI Shawn)

Nice, yeah that feels good to me. Let's get it into final review! People are gonna love this one.

Just wanted to confirm that we're wanting to reserve the space to be 50% width on category and tags right?

Also this is super minor, but is it possible to do trim before the ellipsis? You can see in the screenshot above that we have a space before the ... which looks a tad odd.

Just wanted to confirm that we're wanting to reserve the space to be 50% width on category and tags right?

My understanding is that this is probably the easiest way to do it given the limits of flexbox. Ideally we'd just use all of the available space to us in that horizontal area but I think it's tricky to have say the category take up like 70% of the space and the tag take up the rest. The 50/50 split makes it easier to force the truncation I think.

You can see in the screenshot above that we have a space before the ... which looks a tad odd.

Agree, good catch!

Re: Spacing, I'm down to just go with 50% if it drastically simplifies the implementation, though do you both agree that this would be ideal?

I'm not sure how technically feasible the above is, so again, I'm happy to just go with 50/50. 👍

though do you both agree that this would be ideal?

100% agree that would be ideal! But yeah, same page - just not sure how easy it is to pull off. @mkzie2 thoughts?

@shawnborton So we always want to force the width 50/50, right? or only category/tag is too long

You can see in the screenshot above that we have a space before the ... which looks a tad odd.

I think it's only a special case when the last character before ... is space. It's hard to detect what is the last character before ...

So we always want to force the width 50/50, right? or only category/tag is too long

I think we would love it if Danny's mockups above were possible. But if not, we understand why we might need to do 50/50.

@shawnborton I just tried to do that but the problem here is we cannot know whether the category should be truncated. Or if we make the category take the remaining width if the category is longer than the tag, the UI doesn't correct when both the tag and category are short. So the best way here is to do 50/50 and the tag will always take the remaining width.

Yeah, I had a feeling. Let's make sure we have good screenshots for this that cover a variety of scenarios: long category + short tag, short category + short tag, short category + long tag, long category + long tag, etc

So the best way here is to do 50/50 and the tag will always take the remaining width.

Thanks for giving it a crack.

@mkzie2 would you please update the QA steps so that they're perfectly clear what QA should be verifying?

Verify that all cases, category/tag is displayed with the correct style

Specifically there ^ I think will be hard for QA to know exactly what the "correct style" is unless you write it out 🙏  Thanks!

Also @shawnborton @dannymcclain thanks for the design consultations!! 🙏 🚀

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@Beamanator Updated the QA test step.

Thanks very much!


Comrademao

I have this error each time i try to grab from comrademao
[ERROR] Service Unavailable! (503)

Error 503 means that the server has a problem/denies the request. This is probably because of Cloudflare.
See #65

will the problem solved if the cloudflare issue resolved

It's one and the same issue: Cloudflare's bot protection

Looks like this cloudflare problem is not going to be fixed anytime soon.I am using epubpress to make epubs of comrademao chapters.The only drawback is that I can only make epub of 40-50 chapters in one go.

Any help on this? I live in a place where internet cuts of regularly so I need to download my Webnovels, and I really like Comrademao

Any help on this? I live in a place where internet cuts of regularly so I need to download my Webnovels, and I really like Comrademao

I haven't gotten any Cloudflare checks on Comrademao for a week. Is the Cloudflare check on Comrademao gone? But I still can't access the Comrademao urls through Novel Grabber............

I haven't gotten any Cloudflare checks on Comrademao for a week. Is the Cloudflare check on Comrademao gone? But I still can't access the Comrademao urls through Novel Grabber............

Thanks for the info. The "normal" requests still get blocked by Cloudflare but headless works for now. Just update, it uses it by default.

Thanks for the info. The "normal" requests still get blocked by Cloudflare but headless works for now. Just update, it uses it by default.

Can you add a resume button to continue where it was interrupted by a cloudflare prompt or to save what it has already downloaded?  Currently in the headless window when cloudflare pops up, the downloading will be stop and every chapter that has been save will be lost and I'll have to start over from chapter 1.

Can you add a resume button to continue where it was interrupted by a cloudflare prompt or to save what it has already downloaded?  Currently in the headless window when cloudflare pops up, the downloading will be stop and every chapter that has been save will be lost and I'll have to start over from chapter 1.

What do you mean with "the downloading will be stopped"? I've never had a Cloudflare window pop up mid download before so I can't tell what's happening. (I usually test with downloading ~10 chaps and even after trying 100+ today, none showed up for me) I would guess it gets stuck on the Cloudflare page?
Normally if a chapter fails to download because of connection errors or if it couldn't find the chapter container, NG will still output the EPUB sans missing chapters. If this is what happens I can only suggest trying to download in chunks and combine the EPUBs in Sigil/Calibre etc. for now.
I'll see what I can do about a re-try failed chapters function.

What do you mean with "the downloading will be stopped"? I've never had a Cloudflare window pop up mid download before so I can't tell what's happening. (I usually test with downloading ~10 chaps and even after trying 100+ today, none showed up for me) I would guess it gets stuck on the Cloudflare page?
Normally if a chapter fails to download because of connection errors or if it couldn't find the chapter container, NG will still output the EPUB sans missing chapters. If this is what happens I can only suggest trying to download in chunks and combine the EPUBs in Sigil/Calibre etc. for now.
I'll see what I can do about a re-try failed chapters function.

This sometime happen I'm downloading a story with 800+ chapters the cloudflare page will appear in the headless window.  The program say it will retry for 30 sec but after waiting for several minutes nothing will happened.

This sometime happen I'm downloading a story with 800+ chapters the cloudflare page will appear in the headless window.  The program say it will retry for 30 sec but after waiting for several minutes nothing will happened.

A retry failed chapters option has been added. Hope it helps.

A retry failed chapters option has been added. Hope it helps.

Thanks, this will save a lot time if I don't have to restart from chapter 1.

Thanks, this will save a lot time if I don't have to restart from chapter 1.


VictoryLabel doesn't apply custom font

Bugs and Questions
Checklist

[x] This is a victory-native specific issue. (Issues that also appear in victory should be opened here)

[x] I have read through the FAQ and Guides before asking a question

[x] I am using the latest version of victory-native

[x] I have checked to make sure that my versions of react-native and react-native-svg are compatible with this version of victory-native. Read about version requirements

[x] I've searched open issues to make sure I'm not opening a duplicate issue

The Problem
I tried customising fontFamily property of VictoryLabel and found that custom fonts aren't applied (works fine with default fonts).
On screenshot below the first line of text is styled with custom font, the second one uses the default (note the difference in 7, it is the most obvious).
Axis labels and tooltips are also styled with custom font, however, their style doesn't seem to be affected.

Reproduction
I created an expo snack to demonstrate the issue:
https://snack.expo.io/@ibardash/victory-native-labels
(If custom font is not picked up in the snack on load, make changes to the code so it is re-run)
Project dependencies:
"expo": "^21.0.0",
"react": "16.0.0-alpha.12",
"react-native": "0.48.4",
"victory-native": "^0.15.0"

The issue is present for<EMAIL_ADDRESS>as well.

Hi @ibardash this looks like a problem using react-native-svg on expo. Try using a custom font directly on a svg Text element. The font isn't applied too.
Looks like they have a open issue for this:
https://github.com/react-native-community/react-native-svg/issues/189
Expo uses a fork of react-native-svg which isn't up-to-date. I've tried a standard react-native app on ios with the same dependencies and the custom font is applied correctly.

Thank you for looking into the issue @mattcubitt


[feature request] loading custom font support

deno-canvas supports writing text to a canvas:
import { createCanvas } from 'https://deno.land/x/canvas/mod.ts'

const canvas = createCanvas(500,600)
const ctx = canvas.getContext('2d')
ctx.fillStyle='red'
ctx.fillText(50,50,"Hello World")
await Deno.writeFile("image.png", canvas.toBuffer());

this is currently only limited to fonts your system knows about (it might even be more limited than that). Canvas kit has an api for loading custom fonts https://skia.org/docs/user/modules/quickstart/#text-shaping. Itd be great if deno-canvas supported loading custom fonts. I think pulling in the whole paragraph builder api might be substantial, but all I would personally be interested in is mirroring the browser's canvas apis with the addition of being able to load custom fonts. E.g.
import { createCanvas, registerFont } from 'https://deno.land/x/canvas/mod.ts'

const canvas = createCanvas(500,600)
const ctx = canvas.getContext('2d')
await registerFont({
  font_family: 'Comic Sans',
  // extra fancy would be supporting a url here (e.g. file:///my-fonts/comic-sans.ttf or any web url)
  src: './my-fonts/comic-sans.ttf'
})
ctx.font = 'Comic Sans'
ctx.fillStyle='red'
ctx.fillText(50,50,"Hello World")
await Deno.writeFile("image.png", canvas.toBuffer());

the registerFont method is very similar to the css interface for loading fonts:
@font-face {
    font-family: 'KulminoituvaRegular';
    src: url('http://www.miketaylr.com/f/kulminoituva.ttf');
}

[edit]
it seems like ctx.font =  is not a supported api at all in the current version. Setting font to anything, including fonts available to the system looks like:
> ctx.font = 'Roboto'
Uncaught TypeError: Cannot read property 'family' of null
    at q.set [as font] (https://deno.land/x/canvas@v1.3.0/src/lib.js:2264:37)
    at <anonymous>:2:10

For loading custom fonts, there is canvas.loadFont.
For setting font you'll need to specify size too.

oh if this is already supported thats fantastic. I am looking at the code now https://github.com/DjDeveloperr/deno-canvas/blob/master/src/types.ts#L1065, what should the descriptors field be?

ah, I figured it out:
canvas.loadFont(fontBuffer, {
  family: 'Comic Sans',
  style: 'normal',
  weight: 'normal',
  variant: 'normal'
})

it probably wouldnt hurt to make the type signatures more accurate than Record<string, string>. Perhaps:
type FontDescriptors = {
  /* identifying name of font */
  family: string
  style: 'normal' | 'italic'
  variant: 'normal' | ...
  weight: 'normal' | 'bold' | ...
}
  loadFont(
    bytes: ArrayBuffer | Uint8Array,
    descriptors: FontDescriptors,
  ): void;

seems like the context.measureText results are very inaccurate.
const text = "Hello There"
// load a font
    const font = await Deno.readFile(family)
    const font_identifier = new Date().toString()
    canvas.loadFont(font, {
      family: font_identifier
    })
    context.font = `${size}px ${font_identifier}`
// get the font measurements
  const metrics = context.measureText(text)
// draw a rect around it
    context.fillStyle = 'white'
    context.fillRect(0, 0, metrics.width, metrics.fontBoundingBoxAscent + metrics.actualBoundingBoxDescent)
// draw the text
    context.fillStyle =  "black"
    context.fillText(text_chunk, 0, 0)

if this looks like a real issue I can create a separate issue or change the title on this one

Here are some repros. First a jsfiddle which correctly measures the width of text:
https://jsfiddle.net/8dk71toq/2/

and second, deno-canvas incorrectly measuring the same text:
import { createCanvas } from<EMAIL_ADDRESS>
const canvas = createCanvas(500, 200)
const context = canvas.getContext('2d')

function draw_text(text: string, x: number, y: number) {
  const metrics = context.measureText(text)
  console.log(metrics)
  context.fillStyle = 'red'
  context.fillRect(
    x,
    y,
    metrics.actualBoundingBoxLeft + metrics.actualBoundingBoxRight,
    metrics.fontBoundingBoxAscent,
  )

  context.fillStyle = 'black'
  context.fillText(
    text,
    x + metrics.actualBoundingBoxLeft,
    y + metrics.fontBoundingBoxAscent,
  )
}

context.fillStyle = 'white'
context.fillRect(0, 0, canvas.width, canvas.height)
const font_buffer = await Deno.readFile('./fonts/tangerine/Tangerine-Regular.ttf')
canvas.loadFont(font_buffer, {family: 'Tangerine'})
context.font = '50px Tangerine'
draw_text("Hello World", 50, 50)
await Deno.writeFile('canvas.png', canvas.toBuffer())

both examples use this font https://fonts.google.com/specimen/Tangerine?query=tangerine

some further debugging shows that the builtin font (monospace in the case of my mac) correctly measures the text. 50px monospace is shown below.

loading a different font and specifying it via context.font does produce different measurements, so its clear that canvaskit is reading the new font. It just doesnt quite interpret the sizes correctly. Is this an issue I should move upstream to canvaskit?

All values in TextMetrics except width were added with a hacky workaround, so they might not be right. And no, actual canvaskit does not even implement measureText as they just say to use Paragraph API instead. So this is a issue in deno-canvas only.

Got it. Well it is unfortunate that measuring text can't be done with deno canvas. I wanted to build out text captions with borders. I suppose there's an extremely hacky workaround for me where I dump the image data and find the max & min x & y

Right.. text rendering as a whole is not-so-good with canvaskit-wasm. Btw, deno-canvas does expose Skia related APIs, such as Paragraph API if that's any helpful for you. I plan on porting Node.js skia-canvas using Deno FFI, if that works out we'd have a more performant and compatible canvas API. Though can't say for sure it'll be a thing, or anytime soon as FFI is limited a lot right now.

It would definitely be cool to see an ffi bridge to skia. For what I need though, if the paragraph api is exposed that would probably get me everything I need. Would you mind showing an example of how to use it in deno canvas (I have seen canvaskits docs but I'm not sure it's the same api here)

Skia related APIs are all exposed in a namespace that is default exported from mod.ts.
import Skia from<EMAIL_ADDRESS>
// Use Skia.Paragraph, Skia.ParagraphBuilder, etc.
// API should be same as canvaskit.

@DjDeveloperr could you give me a primer on contributing to this library? Would it be this file https://github.com/DjDeveloperr/deno-canvas/blob/master/src/lib.js#L2750? Its hard to tell if this is a source file because some of this code looks minified. Could you show where another skia specific method is used as an example?

Yeah, in src/lib.js. Right.. it was minified at first. a variable contains everything exported as default in mod.ts, so all Skia APIs. You can use ctrl+f to find implementation of measureText.

@andykais your first attempt at the implementation looks great. I think it would be good enough for first pass (better than currently inaccurate implementation)
And yes, we do have access to Font in context (it's a minified property, which we can access through context.we), and even FontMgr (in canvas.Cf).
So I think you can PR this function (but slightly modified to accept FontMgr and Font instead of), and I can add it in lib.js 🤔

whats the current CanvasKit version?

It is 0.32.0

I think I've figure out how to measure text correctly.
First, ignore measureText() method. It is not accurate.

// Make sure to set the font size first!
 context2d.font = `16px sans-serif`;

 // The text to display
 const text: string = `Hello World`;

 // Measure the width of a single character
 const charWidth: number = Math.floor(context2d.measureText("X").width);

 // Get the length of the text string
 const textLength: number = text.length;

 // textWidth at selected fontSize
 const textWidth: number = charWidth * textLength;

@webdev3301 I believe there is still an issue with measuring custom loaded fonts. See this message above: https://github.com/DjDeveloperr/deno-canvas/issues/17#issuecomment-926166920


how to set webview setting setSavePassword=false ？

This is a question better suited for StackOverflow, since there doesn’t seem to be anything wrong with Flutter itself. Anyway, keeping it open as it may relate to the lack of documentation.

Hi @zhouxting,
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Zoom doesn't work on latest release

Greetings,
In the latest version there is a bug that prevents from zooming in.
The only movement possible is left and right.
Little view on the functionality here: Click
It would be realy nice to get closer to the character to get the result many are looking like in TR. RE.
It works with optifine and shaders now, which is good.
Toggle shoulder and switch perspective is working as well.
Stay healthy

Thanks for the report. A new version will be available shortly.
Sidenote: Optifine is working on the latest version because i made some compatibility changes. The only thing i cant fix is the crosshair.


[W06H01] Added two more tests for reverse

I don't know why negative numbers should change any behavior. Same for the long list.

A test for long lists should definitely be inluded. Negative numbers shouldn't make a difference here but I like to cover everything. People write weird code sometimes.


Allow cacheKey to accept arbitrary options objects

graphql-sequelize passes context and root objects in options, which caused problems because we tried to JSON.stringify as circular structure. Now we only stringify what we need to

1.1.1


Feat dice sim coefficient

@kvpradap  Please review

Can you add reference to the dice similarity

Added references.


How to unban a user if he does not pass the captcha?

A user who fails the captcha is not displayed in the list of banned users and cannot open the group.  How to make sure that the bot does not ban those who do not pass the captcha?

Banned users are not on Black List users in Telegram. Haven't found a way to unban those souls.

there should be a command in /help to kick instead of banning; it bans for 30s
probably tg cached the banned status and they need to relaunch tg or try later — when it unbans them, users do not show  up in the banned list (obviously)


Assistance exporting git-large to ONNX

Hello! I am looking to export an image captioning Hugging Face model to ONNX (specifically I was playing with the git-large model but if anyone knows of one that might be easier to deal with in terms of exporting that is great too)
I'm trying to follow these instructions for exporting an unsupported architecture, and I am a bit stuck on figuring out what base class to inherit from and how to define the custom ONNX Configuration since I'm not sure what examples to look at (the model card says this is a transformer decoder model, but it looks like i that it has both encoding and decoding so I am a bit confused)
I also found this notebook but I am again not sure if it would work with this sort of model.
Any comments, advice, or suggestions would be so helpful -- I am feeling a bit stuck with how to proceed in deploying this model in the school capstone project I'm working on. In a worst-case scenario, can I use from_pretrained in my application?

In a worst-case scenario, can I use from_pretrained in my application?

Yes, it is fine to use just this. Unless you need to speed up inference, make things portable, or get out of PyTorch, it's completely fine.
Ideally, a GitOnnxConfig should be added in Optimum for the export, looking at GitForCausalLM code, it seems to be a decoder-architecture usable with generate() method.

@gracemcgrath Hello! Have you found a solution to this problem?
I am facing the same problem.
Thanks


Implicit grant flow v3

Good news everyone, I've integrated implicit grant flow. Feedback is more than welcome!

+1

any updates here? this would be great to have

Hey Dylan, so instead of waiting. I took the 'current' version of 3.x.x and just copied the changed files from this PR and put them in my copy. There was a couple of debugging things i did like changing _.contains () to _.includes ()
Please note you will probably need to catch the response_type in your authorize call to put the access tolen in the querystring and send back if it's 'token' rather than the code

+1

Thank you for doing this! Would love to see this merged. Implicit makes life much easier with certain types of applications.

@abelaska If you want to rebase, I'll merge it in.

This PR needs to be rebased against the latest master.  If anyone wants to take that on, I'll merge it in.

Implemented the module last week, really like it. What are the plans on the Implicit Grant? When is it expected?

Anyone?

Any updates? I would be happy to help/contribute, if this speeds things up.

@dannydeut As mjsalinger already said, the PR needs to be rebased against the current master dev branch before it can be merged.

As mentioned above, I took the master branch and added the changes to a copy. With some minor changes I got it to work. Not ideal, because would like to use future update. But it works for now. I'm not a git expert, so I can not help you with rebasing. I hope it will be rebased/merged soon. Keep up the good work.

I've rebased this with the dev branch in #464.


set() and going "up a node"

http://jsbin.com/jezoja/2/edit?js,console
When chaining the set() method, is there a way to "go back up the tree".
For example, these 2 behave different...
frozen
.set('a', 'aaaaaa')
.set('b', 'bbbbbb')
.c.set('d', 'dddddd')
;
AND
frozen
.set('a', 'aaaaaa')
.c.set('d', 'dddddd')
.set('b', 'bbbbbb')
;
It looks like this is because the set() returns the node in being acted on, and not the root node.  Is there a way in the 2nd scenario above to go back up a node so the set('b') works as expected?

not pretty, and may have issues, but this seems to work...
frozen
.set('a', 'aaaaaa')
.c.set('d', 'dddddd').__.parents[0]
.set('b', 'bbbbbb')
;

Hi @aktxz,
Yes, that way you can access to the parent. Parent access is not recommended, because there must be more than one parent for a node, so you can break your app if you are not sure of what parent to update.
If your component has access to the parent node I would do
frozen.set({a: 'aaa', b: 'bbb'})
  .c.set({d: 'ddd'})

If your component has no access to the node, I woul emit an event pass a callback to it in case the parent need to be updated.

Hi @aktxyz
It's been a long time, but there are news about this issue. Latest update of freezer comes with a method called pivot. Using it you can make your node updates return the pivoted node. In your example you could do:
frozen.pivot()
  .set('a', 'aaa')
  .c.set('d', 'ddd')
  set('b', 'bbb')
;

Once you pivoted frozen all the updates in the children return the updated frozen object.


Endless loop when not being able to connect to url preview

Please have a look at this example:
https://www.loom.com/share/3ef149cb9d77428d8812b827411b4ab6
Looks like if an error prevents the URL preview from connecting, it just tries again forever.
This is on WEB btw (haven't tried this scenario on other platforms yet)

Thank you @cristaloleg for moving it for me

We didn't find any issue with this library, so my guess will be that the onPreviewDataFetched callback wasn't specified (https://docs.flyer.chat/flutter/chat-ui/advanced-usage#link-preview) which resulted in a loop, because on error this library returns empty preview data and as soon as even empty preview data is saved, preview will not be triggered again. Our design flaw was that even though this callback is optional, it is kinda required, so what we did is added additional check in the UI library to not fetch the preview if onPreviewDataFetched is null. I assume that onPreviewDataFetched will correctly update the messages passed to the chat (as in the example in docs), if not - this issue will appear. Chat UI v1.0.7 is released with this change, @jlubeck please check and let us know if were thinking the right way.

Hey @demchenkoalex unfortunately your assumption that onPreviewDataFetched wasn't specified is not right... I have this method passed in there which I implemented from the getting started documentation:
  void _handlePreviewDataFetched(
    types.TextMessage message,
    types.PreviewData previewData,
  ) {
    final index = chatMessages
        .indexWhere((element) => element.id == message.id);
    final updatedMessage = chatMessages[index]
        .copyWith(previewData: previewData);

    WidgetsBinding.instance?.addPostFrameCallback((_) {
      setState(() {
        chatMessages[index] = updatedMessage;
      });
    });
  }

I'll see if I can somehow find a way to 100% reproduce the issue...

Please try to debug to see if you actually receive something inside the _handlePreviewDataFetched (should be a PreviewData with a link) and see if chatMessages are actually updated. If the answer is yes to both questions we will ask you to give us a sample minimal project with this issue, because we were unable to repro this :(

Closing due to inactivity, we can come back to this later, but looks like nobody experienced this issue or reproducible example wasn't provided


LD_PRELOAD fails on coreutils

git clone --depth=1 --branch=debug-noop-hooks https://github.com/milahu/nodejs-hide-symlinks
cd nodejs-hide-symlinks
cargo build
LD_PRELOAD=./target/debug/libnodejs_hide_symlinks.so readlink -f .
LD_PRELOAD=./target/debug/libnodejs_hide_symlinks.so coreutils --coreutils-prog=readlink -f .
LD_PRELOAD=./target/debug/libnodejs_hide_symlinks.so python -c "print(1)"

LD_PRELOAD fails on readlink -f .
LD_PRELOAD works with python -c "print(1)"
$ LD_PRELOAD=./target/debug/libnodejs_hide_symlinks.so python -c "print(1)"
keeping numeric syscall 186
hooking syscall readlink("/run/current-system/sw/bin/python", &buf, bufsz) -> retval: 69, buf: /nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/bin/python
hooking syscall readlink("/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/bin/python", &buf, bufsz) -> retval: 10, buf: python3.12
hooking syscall readlink("/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/bin/python3.12", &buf, bufsz) -> retval: -1, buf:
1

maybe blame stderr output buffering
see also: LD_PRELOAD does not work as expected

src/lib.rs

extern crate libc;

#[macro_use]
extern crate redhook;

use std::collections::HashMap;
use std::ffi::CString;
use std::env;

unsafe fn is_symlink(statxbuf: *const libc::statx) -> bool {
    // https://man7.org/linux/man-pages/man7/inode.7.html
    const S_IFMT:   u16 = 0o170000; // bit mask for the file type bit field
    const S_IFLNK:  u16 = 0o120000; // symbolic link
    return ((*statxbuf).stx_mode & S_IFMT) == S_IFLNK;
}

unsafe fn str_of_chars(cstr: *const libc::c_char) -> &'static str {
    return std::str::from_utf8(std::ffi::CStr::from_ptr(cstr).to_bytes()).unwrap();
}

unsafe fn str_of_chars_len(cstr: *const libc::c_char, clen: libc::ssize_t) -> &'static str {
    if clen < 0 {
        return "";
    }
    return std::str::from_utf8(std::slice::from_raw_parts(cstr as *const u8, clen as usize)).unwrap();
}

unsafe fn string_of_statxbuf(statxbuf: *const libc::statx) -> String {
    return format!("{{ stx_ino: {}, stx_mode: {:#o}, is_symlink: {:?} }}", (*statxbuf).stx_ino, (*statxbuf).stx_mode, is_symlink(statxbuf));
}

hook! {
    // https://docs.rs/libc/latest/libc/fn.syscall.html
    unsafe fn syscall(
        num: libc::c_long,
        a1: *mut libc::c_void,
        a2: *mut libc::c_void,
        a3: *mut libc::c_void,
        a4: *mut libc::c_void,
        a5: *mut libc::c_void
    ) -> libc::c_long => my_syscall {

        if num == libc::SYS_statx {
            println!("hooking numeric syscall statx");
            let dirfd = a1 as libc::c_int;
            let path = a2 as *const libc::c_char;
            let flags = a3 as libc::c_int;
            let mask = a4 as libc::c_uint;
            let statxbuf = a5 as *mut libc::statx;
            return statx_hooked(dirfd, path, flags, mask, statxbuf) as libc::c_long;
        }

        if num == libc::SYS_readlink {
            println!("hooking numeric syscall readlink");
            let path = a1 as *const libc::c_char;
            let buf = a2 as *mut libc::c_char;
            let bufsz = a3 as libc::size_t;
            return readlink_hooked(path, buf, bufsz) as libc::c_long;
        }

        if num == libc::SYS_readlinkat {
            println!("hooking numeric syscall readlinkat");
            let dirfd = a1 as libc::c_int;
            let pathname = a2 as *const libc::c_char;
            let buf = a3 as *mut libc::c_char;
            let bufsz = a4 as libc::size_t;
            return readlinkat_hooked(dirfd, pathname, buf, bufsz) as libc::c_long;
        }

        if num == libc::SYS_open {
            println!("hooking numeric syscall open");
            let path = a1 as *const libc::c_char;
            let oflag = a2 as libc::c_int;
            return open_hooked(path, oflag) as libc::c_long;
        }

        if num == libc::SYS_openat {
            println!("hooking numeric syscall openat");
            let dirfd = a1 as libc::c_int;
            let pathname = a2 as *const libc::c_char;
            let flags = a3 as libc::c_int;
            return openat_hooked(dirfd, pathname, flags) as libc::c_long;
        }

        println!("keeping numeric syscall {}", num);
        return real!(syscall)(num, a1, a2, a3, a4, a5);
    }
}

hook! {
    unsafe fn statx(
        dirfd: libc::c_int,
        path: *const libc::c_char,
        flags: libc::c_int,
        mask: libc::c_uint,
        statxbuf: *mut libc::statx // https://docs.rs/libc/0.2.103/libc/struct.statx.html
    ) -> libc::c_int => statx_hooked {
        let mut retval = real!(statx)(dirfd, path, flags, mask, statxbuf);
        eprintln!("nodejs-hide-symlinks statx({}, \"{}\", {}, {}, &statxbuf) -> retval: {:?}, statxbuf: {}", dirfd, str_of_chars(path), flags, mask, retval, string_of_statxbuf(statxbuf));
        return retval;
    }
}

hook! {
    // https://docs.rs/libc/latest/libc/fn.readlink.html
    unsafe fn readlink(
        path: *const libc::c_char,
        buf: *mut libc::c_char,
        bufsz: libc::size_t
    ) -> libc::ssize_t => readlink_hooked {
        let mut retval = real!(readlink)(path, buf, bufsz);
        println!("hooking syscall readlink(\"{}\", &buf, bufsz) -> retval: {:?}, buf: {}", str_of_chars(path), retval, str_of_chars_len(buf, retval));
        return retval;
    }
}

hook! {
    // https://docs.rs/libc/latest/libc/fn.readlinkat.html
    unsafe fn readlinkat(
        dirfd: libc::c_int,
        pathname: *const libc::c_char,
        buf: *mut libc::c_char,
        bufsz: libc::size_t
    ) -> libc::ssize_t => readlinkat_hooked {
        let mut retval = real!(readlinkat)(dirfd, pathname, buf, bufsz);
        println!("hooking syscall readlinkat({}, \"{}\", &buf, bufsz) -> retval: {:?}, buf: {}", dirfd, str_of_chars(pathname), retval, str_of_chars_len(buf, retval));
        return retval;
    }
}

hook! {
    // https://docs.rs/libc/latest/libc/fn.open.html
    unsafe fn open(
        path: *const libc::c_char,
        oflag: libc::c_int
    ) -> libc::c_int => open_hooked {
        let mut retval = real!(open)(path, oflag);
        println!("hooking syscall open(\"{}\", {}) -> retval: {:?}", str_of_chars(path), oflag, retval);
        return retval;
    }
}

hook! {
    // https://docs.rs/libc/latest/libc/fn.openat.html
    unsafe fn openat(
        dirfd: libc::c_int,
        pathname: *const libc::c_char,
        flags: libc::c_int
    ) -> libc::c_int => openat_hooked {
        let mut retval = real!(openat)(dirfd, pathname, flags);
        println!("hooking syscall openat({}, \"{}\", {}) -> retval: {:?}", dirfd, str_of_chars(pathname), flags, retval);
        return retval;
    }
}

What OS/version are you using? I want to see if I can reproduce this and track it down.


How do I include a jar of a compiled subproject in a maven-capsule?

I have my project depending on another subproject:
        compile project(':common')
    }```

If I build a fatcapsule everything works, but if I build a maven-capsule the compiled `common.jar` is not included in my capsule, only my normal jar is.

Looks like the plugin will have to be taught how to handle project dependencies for the maven capsule. I taught it how to handle file dependencies back in f80bfd4, and something similar should work for projects.
In the mean time, something like this should get you up and going, although I haven't tested it myself:
configurations.create('embedCommon')
dependencies {
  embedCommon project(':common')
}
task capsule(type: MavenCapsule){
  // your other settings go here
  embedConfiguration configurations.embedCommon
}

Is there a way to transitively only embed project dependencies?

@thomaseizinger I don't quite understand what you're asking. Can you give me an example?

I have a project with 8 modules. One of them is an executable java application and depends some of the other modules. These modules in turn depend on libraries from maven central and modules from my own project. (Which are not directly listed as dependency in the executable module, but the executable module of course transitively depends on those modules.)
What I would like to achieve now, is to create a dependency configuration that only contains the direct dependencies of my executable module. I don't want the configuration to include all transitive dependencies, as that would include libraries from maven central. I want capsule to download these upon startup of the application.
The question is, is there a way to create a dependency configuration that only contains non-maven-central dependencies but these transitively?


Allow users to specify schemas for retention policies

This is something other systems support, and we may to consider it sometime in the future, or rule it out.
InfluxDB is schemaless in the sense that the system does not need to be told the schema up-front. However once data is written to a shard, the schema is inferred and any data destined for that shard which violates this schema results in write-errors. It can also result in unexpected query results across shards, as the schema may vary between shards.
Advanced users may wish to specify the schema up-front, for a given retention policy. This would allow the system to a) attempt to convert data to the required type (floats to ints would be possible, but precision would be lost), or just reject the data outright (converting strings to ints). But supporting something like this would prevent data of the wrong type setting the schema incorrectly in the first place, if the user knows exactly what they want.
This would give the user more control, at the cost of flexibility.

is it possible to distinguish between integer types, also between 32 vs 64 bit floating point? I think that cannot be inferred but with a schema one can use it. For most applications that I have 32 bit floating point is enough for example, and it does make difference when doing heavy math.

@dashesy InfluxDB doesn't currently support any data types other than string, boolean, float64, and int64. It would introduce non-trivial ongoing complexity to add 32-bit types. What would be the gain?

@beckettsean it will need half as much for space requirements and doing arithmetic will be faster too (for floating point definitely), also it requires less memory doing operations. BTW, in schema it might help to be able to specify the number of decimal points for any floating point type, to reduce the size of the returned text in json.

I'm not convinced that the gains are meaningful compared to the cost of complexity, in light of the other low-hanging fruit for performance. While it might be relevant to version 2.5, it seems like pre-optimization for 1.0. More data types certainly complicate all functions that do math, making it harder to add new functions or support custom functions. I think while we're still adding basic features it's better to opt for simplicity of design over incremental performance gains.
We have discussed whether there should be a limitation on the returned precision for time, although not for the stored values. Are you seeing float64s coming back with lots of trailing zeros?

makes sense, also float64 trailing zeros are fine, but limiting precision can help with trailing decimal points in general not just zeros.

@otoolep is this still relevant/feasible given the new raft implementation?

Yes.
The idea is to give users who know their schema up-front the ability to then lock it down, thereby avoiding all the problems of writing data as the wrong type. If we ever do it, it would be post 1.0.

I'm closing this to help clear up our issue queue. We'll reopen or make a new feature if we're going to do this post-1.0.


How to use Jconsole monitor wrapper java service

my project running  with win32 jdk 1.8.0_112 on windows server 2008 R2, Follow the guidelines wrapper service in running well,i want monitor my project jvm process heap with jdk tool 'jconsole'/'jvisualvm',  but i can't found jvm process instance in these tools GUI, on windows task manager i can find jvm process instance PID,but can't use it with command,like 'jconsole PID' is not working,what did i do wrong...
ps:i try use 'com.sun.management.jmxremote.port' and 'java.rmi.server.hostname' property in config xml like this
<service>     <id>myproject</id>     <name>myproject</name>     <description>This runs Spring Boot as a Service.</description>     <executable>java</executable>     <arguments>-Xmx1024m -jar "myproject-1.4.jar" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1111-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<IP_ADDRESS></arguments>     <logmode>rotate</logmode> </service>
but is not working too

@Neii , please see https://github.com/kohsuke/winsw/issues/150, might be relevant

@jvmlet ,thanks a lot,i will try it.


microk8s.status errors but inspect indicate that everything is running.

Please run microk8s.inspect and attach the generated tarball to this issue.
We appreciate your feedback. Thank you for using microk8s.
I just install microk8s on ubuntu 19.10 raspberry pi 3 B+.
Inspecting services
Service snap.microk8s.daemon-cluster-agent is running
Service snap.microk8s.daemon-flanneld is running
Service snap.microk8s.daemon-containerd is running
Service snap.microk8s.daemon-apiserver is running
Service snap.microk8s.daemon-apiserver-kicker is running
Service snap.microk8s.daemon-proxy is running
Service snap.microk8s.daemon-kubelet is running
Service snap.microk8s.daemon-scheduler is running
Service snap.microk8s.daemon-controller-manager is running
Service snap.microk8s.daemon-etcd is running
Copy service arguments to the final report tarball
Inspecting AppArmor configuration
Gathering system information
Copy processes list to the final report tarball
Copy snap list to the final report tarball
Copy VM name (or none) to the final report tarball
Copy disk usage information to the final report tarball
Copy memory usage information to the final report tarball
Copy server uptime to the final report tarball
Copy current linux distribution to the final report tarball
Copy openSSL information to the final report tarball
Copy network configuration to the final report tarball
Inspecting kubernetes cluster
Inspect kubernetes cluster
But
ubuntu@ubuntu:~$ microk8s.status
microk8s is not running. Use microk8s.inspect for a deeper inspection.
I managed to get things working once when I changed the localhost from <IP_ADDRESS> to <IP_ADDRESS>.  But it came back to the same error when I restarted the box.
Appreciate your help.
inspection-report-20191108_025935.tar.gz

@wpoosanguansit I see that trying to access the API server result in a  Unable to connect to the server: net/http: TLS handshake timeout. I need to understand what this thange of localhost to <IP_ADDRESS> is for, how did you end up to this change? Any documentation I could look into?
I wonder if you also need to change the /var/snap/microk8s/current/certs/csr.conf.template to use <IP_ADDRESS> instead of <IP_ADDRESS>.

Hi, I have gone through old tickets that I was given in my earlier case.  And I saw that that step might help.  So I just tested that out.  And I was surprised that it worked before I rebooted.  And now, it doesn’t.  Even when I tried changing it back and forth between <IP_ADDRESS> and <IP_ADDRESS>.  Any suggestion what I need to set to get things to work?  Thanks for your help.

On Nov 8, 2019, at 12:55 AM, Konstantinos Tsakalozos<EMAIL_ADDRESS>wrote:

@wpoosanguansit I see that trying to access the API server result in a Unable to connect to the server: net/http: TLS handshake timeout. I need to understand what this thange of localhost to <IP_ADDRESS> is for, how did you end up to this change? Any documentation I could look into?
I wonder if you also need to change the /var/snap/microk8s/current/certs/csr.conf.template to use <IP_ADDRESS> instead of <IP_ADDRESS>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I have made the change in the hosts file to point to <IP_ADDRESS> as localhost and reinstalled microk8s.  But it still gives me the same errors.
ubuntu@ubuntu:~$ sudo snap install microk8s --classic
microk8s v1.16.2 from Canonical✓ installed
ubuntu@ubuntu:~$ microk8s.kubectl get no
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
Appreciate your help.
inspection-report-20191109_081528.tar.gz

I have 4 instances installed and one of them turned up working.  So I attached the inspect for the one working here.  Any direction as how to debug this would be great.  Thanks for your help.
inspection-report-20191109_081528.tar.gz

Here is another inspect log that I did after commented out all of the IPv6 in the /etc/hosts.  Thanks.
inspection-report-20191112_222717.tar.gz

@wpoosanguansit just noticed you are running on 1GB machine with no swap. Is it possible the kernel is killing some of the running processes and systemd needs to restart them? Do you run any workloads on the cluster?

At the moment no workload yet, as I have not been able to make it work yet.  Thanks for your suggestion on swap.  I will look to see how I can enable that.

On Nov 12, 2019, at 3:37 PM, Konstantinos Tsakalozos<EMAIL_ADDRESS>wrote:
@wpoosanguansit https://github.com/wpoosanguansit just noticed you are running on 1GB machine with no swap. Is it possible the kernel is killing some of the running processes and systemd needs to restart them? Do you run any workloads on the cluster?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ubuntu/microk8s/issues/781?email_source=notifications&email_token=AAAWE3LFFIILW3Z3PDFS6GTQTM447A5CNFSM4JKSI3IKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED4KWTQ#issuecomment-553167694, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAWE3IBV4BHM5WDBMD2FWDQTM447ANCNFSM4JKSI3IA.

I did follow the suggestion given by Balchu on slack to disable ipv6 as in:
https://itsfoss.com/disable-ipv6-ubuntu-linux/
Now everything seems to work and I am able get the status correctly.


Very poor performance on two RTX 3060

System Info
Hi, I used the Transformers example code (which uses accelerate) to test the GPUs‘ performances. It turns out that for the text classification task, a single GPU can achieve a speed of 2.82 iters per second, but if I use 2 GPUs for distributed training, the speed can only reach 1 iter per second. Moreover, I tried to reduce the batch size, but the result was still slow.
Since the 3060 does not support NVLINK, I would like to ask if pytorch's distributed training can only run on graphics cards that support NVLINK? Or, how do I check for this error. Thanks.
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
Run the example script on two 3060 GPU
Expected behavior
Faster speed

In addition, I found some interesting phenomena, when two GPUs are working in parallel, their usage is not always 100%, but constantly jumping between 20% and 100%. This may mean that they are spending time waiting for each other.

Here is the performance of 2 GPUs (20 samples per batch on each GPU)
***** train metrics *****
  epoch                    =        3.0
  train_loss               =     0.4375
  train_runtime            = 0:06:15.83
  train_samples            =       3668
  train_samples_per_second =     29.279
  train_steps_per_second   =      0.734

Please follow the issue template, in particular copy and paste the result of accelerate env and if not using the default config, the config you are using, as well as the launch command for the script, so we can investigate more.


ToolbarTitle only accepts string for text

Right now ToolbarTitle only accepts string, it would be great if it accepted more then that so I don't get so many warnings :)
Warning: Failed propType: Invalid prop `text` of type `object` supplied to `ToolbarTitle`, expected `string`. Check the render method of `Header`

@JAStanton What other type would you want to pass? What would an object do as the toolbar title?

Something like React.PropTypes.element so that I can do something like:
<ToolbarTitle float='right' text={<FlatButton ... />} ... />
A few places this library lets you pass elements into components like Icons for instance.

@JAStanton I see, let me mess with the code to see, because generally the ToolbarTitle is a text, if you want to make it a button, it might be easier to just omit the toolbarTitle from your code and add the element you want instead inside the , for example in your case, instead of adding the ToolbarTitle element, you would add a FlatButton and it should replace the area where the title was. Let me know if this works, and if not I can try and add that functionality

Hmm what about if I want to style apart of the title, like make some of the title bold. Then I would need to wrap it in a span and strong

@JAStanton the ToolbarTitle component has a style prop that you can use to style the title. It is intended behavior for the ToolbarTitle title to accept a string type.
If you would like to put something else there, just put that as a child of your ToolbarGroup component.


Checkbox aria label

Closes #2623 The ARIA attributes "aria-label" are not valid for the element  with ARIA role "none"
The presence of the ariaLabel for the  element is not required. I evaluated the functionality of the checkboxes by navigating through them using keyboard tabbing, selecting and deselecting as needed. Moreover, I also tested their behavior by clicking on them with the mouse. Additionally, I ran the JAWS screen reader for all the checkboxes.
The error no longer persists in the IBM Equal Access Accessibility Checker.
Removed

{{[attr.aria-label]="ariaLabel"}}

Before the fix  :

After the fix :

I have read the DCO document and I hereby sign the DCO.


Vector Tile missing Projection

Hello,
I've noticed an issue with the changes from 3.10 to 3.11 and geoJson Vector tiles. Previously it seemed like the correct projections were automatically handled so they would be converted properly. When ol.format.Feature.transformWithOptions was called it properly had the correct dataProjection and featureProjection in the options; converting our tiles that are in EPSG:4326 to the map EPSG:3857 coordinates correctly.
In 3.11 the featureProjection is always null. I've traced this back to being called from a function in ol.featureloader.loadFeaturesXhr where the projection is null. I traced that call back to ol.VectorTile.prototype.load where the loader appears to be called with the projection hard coded to null. This seems a bit odd that you wouldn't pass along this.projection_ as the projection. Of course I only have a vague understanding of how this all works.
So far I've frivolously tried to pass in the correct projection any way I could to no avail.
new ol.layer.VectorTile({
  source: new ol.source.VectorTile({
    format: new ol.format.GeoJSON({
      defaultFeatureProjection: 'EPSG:3857'
    }),
    projection: 'EPSG:3857',
    defaultFeatureProjection: 'EPSG:3857',
    featureProjection: 'EPSG:3857',
    tileGrid: ol.tilegrid.createXYZ({
        maxZoom: 4
    }),
    url: "/geojsontiles/land/{z}/{x}/{y}.json",
      attributions: [attribution]
    })
})

I'll keep looking at ways to work around this issue, but it seems like the new code is not handling different projections as well as the old code.

Real vector tiles only work for rendering in the projection they were made for. If you want to continue doing what you did in 3.10 with ol.source.TileVector and vector features that are chopped into tiles, you have to use a plain ol.layer.Vector with an ol.source.Vector and an ol.loadingstrategy.tile:
var vector = new ol.layer.Vector({
  source: new ol.source.Vector({
    format: new ol.format.GeoJSON(),
    strategy: ol.loadingstrategy.tile(ol.tilegrid.createXYZ({
        maxZoom: 4
    })),
    url: "/geojsontiles/land/{z}/{x}/{y}.json",
    attributions: [attribution]
  })
});

In addition, you have to clear the source when the resolution changes, e.g.
map.getView().on('change:resolution', function() {
  vector.getSource().clear();
});

Above snippet not yet functional. I'll provide an updated one in a few minutes.

Above snippet updated to be functional. Also see this fiddle: http://jsfiddle.net/7tyyowuo/1/. This gives you the same behaviour as the old ol.source.TileVector, but without its memory leak (it did not prune tiles from cached resolutions).
Having shown and said all that, I recommend using real vector tiles when rendering is the priority, and plain vector layers when access to the feature geometries and properties is the priority. The approach we offered with ol.source.TileVector was problematic in sevaral ways.

Thanks for the information. I just want to try to clarify something. We generated our tiles from large geojson files using https://github.com/mapbox/geojson-vt . It sounded like one of the other OL3 developers was doing the same. Are you saying those aren't "real" vector tiles or is it just the coordinate conversion is really that much of an issue?

geojson-vt was used for debugging in OpenLayers. Tiles generated with it have one aspect of real vector tiles: they simplify geomeries for a view resolution. But they do not adjust content based on resolution. Mapbox-gl-js uses geojson-vt to render GeoJSON data. OpenLayers can render GeoJSON directly, and it also natively simplifies geometries for the viewport and view resolution. So geojson-vt is not the right tool for creating vector data sets for OpenLayers.

I don;t understand why geojson-vt is not the right librray to use with ol3. For large datasets, Openlayer's GeoJSON performance is poor compared to geojson-vt. There should be a way take geojson-vt output an feed it into Openlayer easily. Too bad there are no working example for geojson-vt and ol3 integration.

Hi,
I understand why you should not reproject a Vector, but in my case they are just points, so it would be very convenient for me to have this feature...
Let me explain my situation :
My view is using the default EPSG:3857 projection, but I need to fetch my features (lonlat points), using a lonlat bbox of 15°x10° for cache optimization.
So I am using a custom GridTile with this exact tile size, in the EPSG:4326 projection.
But now, I need to reproject those points.
What would be your advices ? Keep everything in EPSG:3857 projection but use a custom tileLoadFunction to reproject the extent to EPSG:4326, call my API, then reproject the points back to EPSG:3857 ?


Deployment into OpenShift

Is there any documentation available around generating a mycluster.yaml file to support an openshift deployment. Helm charts can be used to deploy applications into openshift, just not sure what the mycluster.yaml needs to support this type of deployment.

There's a PR pending with a first cut based on some mailing list discussion a couple weeks back.  Take a look at #465.  I'd love to get help improving the docs.

Merged #465.  Please give it a try.


Added a route for health check

Problem
In Kubernetes running docker containers typically need a readiness and health checks to make sure the container is running/ready
Solution
Describe the modifications you've done.
Added a path for /health that just returns 200 so the container can run in K8s.
Result
This will always return a passing health check so long as its running. Note that to truly follow k8s semantics we would probably want a seperate readiness check to pass (for instance once we've established a connection to redis), versus liveness which just checks that the service is alive. LMK if this is important enough to revise

@qix updated the PR with your suggested changes

@qix Mind approving/merging these changes? I don't seem to have permission here

@nagn running now...

@meyer thanks for running the checks! You'll have to merge it since I don't have write access but I appreciate you taking a look!

🚢💨


There's a hanging console.log

https://github.com/logbon72/angular-material-datetimepicker/blob/307054486aec110fe6387a9ad86a9e91cb226a27/js/angular-material-datetimepicker.js#L229

Duplicate of #113
Fixed long time ago in our fork:
https://github.com/beenote/angular-material-datetimepicker


FIrst call to vscode.startDebug does not show debug starting indicator (blue line)

VSCode Version: 1.8.1
OS Version: OS X 10.12.1

Steps to Reproduce:

Create an extension
Add a command that calls 'vscode.startDebug'
Call the command while debugging extension
Expected: VS Code shows visual indicator (moving blue line) while debug session starts up
Actual: VS Code starts debug session but never shows indicator
Stop debug session and restart by calling command a second time
Visual indicator shows up while debug session is starting.

Can not repro with latest insiders. What I did, I have an extension with the following snippet, I start debugging that extension from vscode and in the new window I trigger my command which triggers vscode.startDebug - I get a nice blue progress line.
Please keep in mind this issue which might be related to your scenario https://github.com/Microsoft/vscode/issues/16752
Please provide more details and I will reopen
'use strict';
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {

    let disposable = vscode.commands.registerCommand('extension.test', () => {
        vscode.commands.executeCommand('vscode.startDebug');
    });

    context.subscriptions.push(disposable);
}

// this method is called when your extension is deactivated
export function deactivate() {
}

I'm still encountering this, even with insiders (January). My exact test steps are as follows:

Close VS Code / VS Code Insiders
generate a basic project (this will be the extension that launches the debugger).

yo code dtest

generate a second project to act as the debugged project

yo code ntest

Launch VS Code Insiders and open the first project (dtest)
Change the extension.ts file to this

'use strict';
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {

   let disposable = vscode.commands.registerCommand('extension.sayHello', () => {

        vscode.commands.executeCommand('vscode.startDebug');
    });

    context.subscriptions.push(disposable);
}

export function deactivate() {
}

Launch the extension (F5) open the second project (ntest).
Activate the "hello" command (cmd+alt+p ...)
(Debugger starts with no indicator).
Stop the debugger.
Reactivate the "hello" command
(Debugger stars with indicator)

Thanks for details, reopening, will investigate this week

We have changed how the initializing state behaves. Your sample should now work.
Please let me know if that is not the case and I will reopen


abnormal cornea size

add terms for abnormal/increased/decreased cornea size

Added new  terms:
abnormal cornea size MP:0031498
DEF: deviation from the average range of cornea size for a given organism
SYN: abnormal corneal size
decreased cornea size MP:0031499
DEF: reduced average size of one or both corneas; generally refers to a congenital defect
SYN: microcornea
SYN: small cornea
SYN: small corneas
SYN: reduced cornea size
SYN: decreased corneal size
SYN: reduced corneal size
increased cornea size MP_0031500
DEF: increased average size of one or both corneas
SYN: increased corneal size
SYN: macrocornea
SYN: megalocornea
SYN: enlarged cornea
SYN: enlarged corneas
SYN: large cornea
SYN: large corneas

need to make thickness a child of size


Architecture

Overview

https://excalidraw.com/#json=5176497841111040,3fsAWaZz8kfgPh2SzloeHA

Initial open

[ ] Contains a local copy of Excalidraw app
[ ] Loads it and works offline

Open the app

[ ] Loads local version of Exaclidraw app
[ ] Periodically checks in the background for newer versions: version.json
[ ] If newer version is different than the local one then download latest asar packaged from the above URL
[ ] Unpack the contents
[ ] Ask user to reload the app to get the latest features

On Excalidraw.com side

[x] Version can be generated on the build and stored as timestamp: 2020-02-28-21-50-45 in version.json (the actual format is up to debate)

[x] Serve the version: https://excalidraw.com/version.json
{
  "app": "excalidraw-2020-02-28-21-50-45.asar",
  "version": "2020-02-28-21-50-45"
}

[x] Serve downloadable app: https://excalidraw.com/excalidraw-2020-02-28-21-50-45.asar

It sounds good in theory. Practically we will have to investigate whether it's feasible to update the wrapped Excalidraw web app directly on the artifact on the user's machine.
Normally you would bundle update the local version with the artifacts on every release of the desktop app. Not sure whether this will work with auto-updating.
Firstly will we have to see how to integrate the app (as zip or npm) into the electron app.

I created a first version of using a local packed Excalidraw bundle: https://github.com/excalidraw/excalidraw-desktop/commit/9b25168ec1cd3001e468a015311fd699fadb837c
Seems like some files can't be found:

But when I unpack the .asar file locally, the missing files are there. Will have a look what's going on

Seems like they searching for the required file inside the root directory:


upgrade project to work with avalanchego v1.5.3

These are the changes I had to make to have the timestampvm & deploy on a local avash network running on avalanchego v1.5.3. Was able to complete all steps of the tutorial.
There are a number of Timestamp variables that were changed. It seems like the name is now used by the parent class causing a naming conflict. I used VMTimestamp instead but this was a really quick choice.

Ok, I've resolved the change requests you made I believe


Improve blurring for atlas

WIP

These approaches are of help to improve blurring for atlas.

WIP

Experimental release
https://github.com/mob-sakai/BlurringAtlasForUGUI


UI Enhancement

Is your feature request related to a problem? Please describe.
UI of the application would be better using Bootstrap
Describe the solution you'd like
I will add a few Bootstrap utility classes for better UI and experience
Additional context
Bootstrap

Please review PR #7

ok so i have seen you ui and i think i could really enhance it could assign it to me and i am new to github and stuff could you just guide me

someone working on it?
if not please assign it to me

submited
https://github.com/ShadBalti/Age-Calculator-App/pull/27

please merge


[Feature][api-dao] ciphertext for password in datasource.properties

It's not security for putting real password in the configuration file.
So it's necessary to use ciphertext in configuration file.

This seems unnecessary. Even if we encrypt, the encryption method needs to be placed in our code. Or the relevant key also needs to be stored on the server, so the password is also an available state. This should be a problem of the safe work of operation and maintenance personnel, not what we should solve.


Bugfix

1, display response headers in report;
2, display image type

Coverage decreased (-0.02%) to 80.662% when pulling b4efbfcb2a1e982ba2efbf0c12c129d2ba97defc on bugfix into bfbcfb4bbc24fd4d8bc3e04cb9b8d2c1d6508a14 on master.


Restore the original LICENSE

You have copied code that does not writting by you and changed the included LICENSE. This is against the LICENSE and you should return the LICENSE to its original.
License
MIT License
Copyright (c) 2020 Thymon Arens (TigoDevelopment)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Thanks for not chaning the LICENSE


BUG: solve_ivp crashes interpreter with example from documentation

Describe your issue.
I wanted to explore ODEs by integrating them using the scipy routines. As a starting point I copied the example from the documentation (https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html) to solve the Lotka-Volterra equations.
Instead of a solution the solver just crashes the python interpreter. I do not get any trace or debugging information.
This occurs on Windows 11, python 3.11 with scipy 1.11.4 from conda-forge (details of the environment below).
Any hint how to debug this further is appreciated.
There is no crash with dense_output=False.
Reproducing Code Example
from matplotlib import pyplot as plt
import scipy
import numpy as np

def lotkavolterra(t, z, a, b, c, d):
    x, y = z
    return [a*x - b*x*y, -c*y + d*x*y]

sol = scipy.integrate.solve_ivp(lotkavolterra, [0, 15], [10, 5], args=(1.5, 1, 3, 1), dense_output=True)

Error message
No error message or traceback occurs.

SciPy/NumPy/Python version and system information
1.11.4 1.26.3 sys.version_info(major=3, minor=11, micro=7, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: C:/tools/miniconda3/envs/jupyter/Library/include
    lib directory: C:/tools/miniconda3/envs/jupyter/Library/lib
    name: blas
    openblas configuration: unknown
    pc file directory: C:\bld\scipy-split_1700812665193\_h_env\Library\lib\pkgconfig
    version: 3.9.0
  lapack:
    detection method: pkgconfig
    found: true
    include directory: C:/tools/miniconda3/envs/jupyter/Library/include
    lib directory: C:/tools/miniconda3/envs/jupyter/Library/lib
    name: lapack
    openblas configuration: unknown
    pc file directory: C:\bld\scipy-split_1700812665193\_h_env\Library\lib\pkgconfig
    version: 3.9.0
  pybind11:
    detection method: pkgconfig
    include directory: C:/tools/miniconda3/envs/jupyter/Library/include
    name: pybind11
    version: 2.11.1
Compilers:
  c:
    commands: clang-cl
    linker: lld-link
    name: clang-cl
    version: 17.0.5
  c++:
    commands: clang-cl
    linker: lld-link
    name: clang-cl
    version: 17.0.5
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 0.29.36
  fortran:
    commands: flang-new
    linker: lld-link
    name: flang
    version: 17.0.5
  pythran:
    include directory: ..\..\_h_env\Lib\site-packages\pythran
    version: 0.14.0
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: windows
  cross-compiled: false
  host:
    cpu: x86_64
    endian: little
    family: x86_64
    system: windows
Python Information:
  path: C:\bld\scipy-split_1700812665193\_h_env\python.exe
  version: '3.11'

Tried now with packages from anaconda instead of conda-forge and it works nicely. So this is a build issue and not directly a scipy issue.


add content

add some bullet points to open a fork and pr

Hi @staeiou  can you merge my changes ? thx


Using a version column and set it to unique key with aggregate_uuid avoid adding multiple events in concurrency

Could you explain a scenario where this change is needed?

Here is my scenario :
StoredEvents :

OrderConfirmed
(OrderDelivered)
OrderCanceled

An order can be cancel whether it was delivered or not. If not delivered, we call the payment gateway cancel authentication api, if delivered we call the refund api
So I think if two requests occured

I'm not certain if it is the responsiblity of our package to protect you against such conditions. How would you handle this in a traditional app?

I think it would be great if this package can handle the issue. Although we can extend the StoredEventModel by ourself, it still need to modify the default migration file.
I surveyed some Event Sourcing articles and discussions (mostly java and .net), it seems that using a version column with the aggregate_id for the concurrency issue is a common solution. And it will also be great if the concurrency issue can be talked about in the awesome document larabank example.
(If you think the users of the package can handle it by themself, it's totally fine.)
Thanks.

@guitarbien I took a look at your implementation and have one question:

In the saveMany you pass the version as a parameter to be used in all events being created. What if an event on the array is already past the version informed?

I do understand the benefits you described, but I also don't believe this functionality belongs to the package.
Regarding the migration, the installation guide already instructs to publish the migration to your project. So those updates, such as adding the version column, can be done in a per project basis. (I also usually change the increments to bigIncrements in the primary key).
On the versioning handling, you could add an observer to the StoredEvent Model, so you don't need to extend it. And I think the case of saving many events with different versions as I asked above can be better handled by an observer. In my projects I register in observer to add current request metadata to an event.

@guitarbien I took a look at your implementation and have one question:

In the saveMany you pass the version as a parameter to be used in all events being created. What if an event on the array is already past the version informed?

I don't understand how the situation happened. The aggregate always retrieves stored_events first so the concurrency requests will get the same beginning version, then when persisting the version increments by 1.
Do you mean the storeMany method offer the beginning version as the parameter could make the events version nonsequence (because developer could pass a wrong parameter) ?

I do understand the benefits you described, but I also don't believe this functionality belongs to the package.
Regarding the migration, the installation guide already instructs to publish the migration to your project. So those updates, such as adding the version column, can be done in a per project basis. (I also usually change the increments to bigIncrements in the primary key).
On the versioning handling, you could add an observer to the StoredEvent Model, so you don't need to extend it. And I think the case of saving many events with different versions as I asked above can be better handled by an observer. In my projects I register in observer to add current request metadata to an event.

I believe this way is more elegant. Thanks.

Hi @guitarbien , maybe I didn't understand well how the storeMany method works or in your scenario the situation does not happen.
In your example you describes a sequence of three events (OrderConfirmed, OrderDelivered and OrderCancelled). My guess was that maybe some of these events could happen more than once so it would have a different version than the others.  Taking a close look I guess it wouldn't happen as the versioning happens to the same event instance. So sorry for any misunderstanding.
Anyway I am glad you liked my suggestion.

@rodrigopedra , it's totally okay, we had a good discussion.
In my scenario, an EC app, the placing order may look like this:

ProductAdded could happened multiple times because the buyer buy lots of things, but each aggregate_root's events must in sequence, so use a unique constraint to prevent the concurrency issue.

By the way, finally I use the observer to count the version, it worked as well as the extending way. Thanks again.
class StoredEventObserver
{
    /** @var int */
    private static $currentVersion;

    /**
     * @param StoredEvent $storedEvent
     */
    public function retrieved(StoredEvent $storedEvent): void
    {
        self::$currentVersion = $storedEvent->version;
    }

    /**
     * Handle the stored event "creating" event.
     * @param StoredEvent $storedEvent
     * @return void
     */
    public function creating(StoredEvent $storedEvent): void
    {
        self::$currentVersion++;
        $storedEvent->version = self::$currentVersion;
    }
}


Can't see list of transactions from block

I can't see the missing or extra transaction of this one.
https://miningpool.observer/template-and-block/00000000000000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e
What might've happened here?

Thanks for reporting! Looking at the logs, it seems like there was a database error when trying to insert it, as the insert statement query ended up being too long: Error: number of parameters must be between 0 and 65535. This seems to be a limitation with postgresql https://github.com/diesel-rs/diesel/issues/2414#issuecomment-635311607.
...
2024-01-28 04:10:55,795 INFO  [stats] New Template based on<PHONE_NUMBER>0000000003cce52e671b9d9a4df70b4d8946f4f479720110871338 | height 827750 | 5676 tx | coinbase 6.53833271 BTC | sigops 2772
2024-01-28 04:11:06,087 INFO  [stats] New Template based on<PHONE_NUMBER>0000000003cce52e671b9d9a4df70b4d8946f4f479720110871338 | height 827750 | 5648 tx | coinbase 6.54121323 BTC | sigops 2832
2024-01-28 04:11:16,920 INFO  [stats] New Template based on<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e | height 827751 | 7117 tx | coinbase 6.5247704 BTC | sigops 1578
2024-01-28 04:11:17,907 INFO  [stats] New block detected<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e mined by Ocean.xyz
2024-01-28 04:11:17,974 INFO  [stats] Transactions in block: shared=233, missing=5415, extra=1269
2024-01-28 04:11:18,177 INFO  [processing] Getting the mempool entry times for 5415 only-in-template-transactions
2024-01-28 04:11:21,030 INFO  [processing] Completed requesting mempool entry times for 5415 transactions. 0 requests failed.
2024-01-28 04:11:21,885 ERROR [processing] Could not insert the transactions into the database. Skipping the remaining processing. Unclean database state! Error: number of parameters must be between 0 and 65535
2024-01-28 04:11:22,546 INFO  [stats] New Template based on<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e | height 827751 | 7117 tx | coinbase 6.5247704 BTC | sigops 1578
2024-01-28 04:11:23,462 INFO  [stats] New block detected<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e mined by Ocean.xyz
2024-01-28 04:11:23,505 INFO  [stats] Transactions in block: shared=233, missing=5415, extra=1269
2024-01-28 04:11:23,614 ERROR [processing] Could not insert the block into the database. Skipping the remaining processing. Error: duplicate key value violates unique constraint "block_pkey"
2024-01-28 04:11:24,335 INFO  [stats] New Template based on<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e | height 827751 | 7089 tx | coinbase 6.5271912 BTC | sigops 1648
2024-01-28 04:11:25,621 INFO  [stats] New block detected<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e mined by Ocean.xyz
2024-01-28 04:11:25,673 INFO  [stats] Transactions in block: shared=233, missing=5415, extra=1269
2024-01-28 04:11:25,744 ERROR [processing] Could not insert the block into the database. Skipping the remaining processing. Error: duplicate key value violates unique constraint "block_pkey"
2024-01-28 04:11:25,976 INFO  [stats] New Template based on<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e | height 827751 | 7089 tx | coinbase 6.5271912 BTC | sigops 1648
2024-01-28 04:11:27,448 INFO  [stats] New block detected<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e mined by Ocean.xyz
2024-01-28 04:11:27,601 INFO  [stats] Transactions in block: shared=233, missing=5415, extra=1269
2024-01-28 04:11:27,741 ERROR [processing] Could not insert the block into the database. Skipping the remaining processing. Error: duplicate key value violates unique constraint "block_pkey"
2024-01-28 04:11:28,176 INFO  [stats] New Template based on<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e | height 827751 | 7089 tx | coinbase 6.5271912 BTC | sigops 1648
2024-01-28 04:11:29,164 INFO  [stats] New block detected<PHONE_NUMBER>0000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e mined by Ocean.xyz
2024-01-28 04:11:29,205 INFO  [stats] Transactions in block: shared=233, missing=5415, extra=1269
...

I think the data on missing or extra transaction is lost. I'll look into how to avoid this in the future.

It's a pity to hear that, I was very interested on this Block.
Looking to the bright sight, a bug was found!
Ty for your answer. I hope you will fix it!

Maybe this can help: https://mempool.space/block/00000000000000000000b6387788d6bc5f3f3662739f6fc9977ad0a54d084d7e


[WIP]Build/cake

Unit Tests failure

:x: Build AElf <IP_ADDRESS>7 failed (commit https://github.com/AElfProject/AElf/commit/bb2b964a07 by @llyyss1988)

:x: Build AElf <IP_ADDRESS>8 failed (commit https://github.com/AElfProject/AElf/commit/c2bdeee4e8 by @rosona)

Not responding for a long time, closed.


splash screen

Windows Version
Microsoft Windows [version 10.0.22621.2861]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Ubuntu 20.04
Other Software
PyCharm 2023.3.2 (Professional Edition)
Google Chrome 120.0.6099.129
Repro Steps
After pycharm flashes back, it opens again with a splash screen, and then opens other apps with a splash screen as well.
Expected Behavior
Application splash screen
Actual Behavior
Application opens normally
Diagnostic Logs
No response

I have installed ubuntu 20.04 within wsl2 under win11, occasionally it triggers the application (including but not limited to pycharm, chrome) to splash screen, and after reboot it returns to normal. I have updated the latest drivers and tested the issue in the same environment on two different brands of computers.


Update and modify \mnote function and location

Let's discuss before you accept this PR.
Initially I set out to just change the \mnote to be single spaced, because I think it makes more sense this way. My effort turned into something more (i.e., I went down the rabbit hole), and I moved the entire \mnote logic outside the \iftoggle{@draft} logic.
I think this actually makes more sense to do, because it puts all the code relating to \mnote in one place. Indeed, I think the same should be done for \cnote and \pnote. In this way, only the geometry, line spacing, and line numbering would be handled inside the \iftoggle{@draft}. This makes sense because they are really the @draft specific options. The notes should have their own arbitrary logic that can be modified by any other number of options (e.g,. @nonotes).
So, I think this PR represents the correct first step in modifying the code to be more maintainable and logical. We could either merge in this PR and then separately move \cnote and \pnote, or I can do the refactor for those features and merge them in with this PR. Let me know what you think, and how you want to proceed.
I demonstrate the new \mnote below using the following code:
\section{This is another section}
Is there a difference between this text and some nonsense like ``Huardest gefburn''? Kjift – not at all!  \cnote{this needs a ref}
A blind text like this gives you information about the selected font, how the letters are written and \pnote{what's this?} an impression \mnote{margin note can be used without highlighting} of the look.
This text should contain all letters of the alphabet and it should be written \mnote[in of itself of]{typo! check this stuff!} the original language.
There is no need for special content, but the length of words should match the language.

Note that \mnote now takes an optional argument in square brackets. This is the text that is highlighted if given. Otherwise, the note is just put on the side with a line to the in-code location.
draft mode:

draft,nonotes mode:

final mode:

Note, there are some weird spaces that remain in the nonotes and final modes, e.g., in front of \cnote call right after "not at all!". I'll open a separate issue about this, it is unrelated to the changes made herein.

@ericbarefoot, just wanted to check in on the status of your review.
I'm sure it will be very thorough, considering you have been working on it for over 7 weeks!

I like the direction you put here. I'll attempt the same thing with pnote and cnote later.

@ericbarefoot great, glad you liked it. I will definitely be happy to show you how the bits I wrote work, though they rely heavily on the packages we are using for managing options etc.


'la -> ls -A' shows all files in column format; 'l -> ls' shows output of 'ls'

Three of the aliases, l, la, ll, had nearly the same output when executed. I think this implementation will differentiate more clearly what each of its intended purposes are.
Here are the changes I have proposed.

l: ls output. Trivial.
la: ls -A output. Lists all files and directories, in column format. Much easier to view at a glance.

I had also considered alias -='cd -', but there is a rule against aliases for quoted and escaped characters.
Let me know what you think!

I like these. In fact, I have quite the array of ls aliases in my dotfiles. But I don't know what the general feeling is regarding this aliases, we should get more people to discuss them.
@apjanke @ncanceill what do you think?

These aliases have been around with basically their current meanings since at least Dec 2012, that's a good three years. We don't know how many users are using them or how many prefer the current behavior, and we don't have a mechanism for notifying users they will be changing behavior, aside from just changing it and letting them notice next time they use them. I think the presumption should be in terms of keeping the existing behavior of aliases that have been around for a while. Regardless of what I think of the particular aliases, it's a matter of what the general userbase prefers.
I do my own ls* aliasing too.

I had also considered alias -='cd -', but there is a rule against aliases for quoted and escaped characters.

That restriction on plain unquoted strings for aliases is only in effect if the POSIX_ALIASES option is on. It is off by default. The command alias -='cd -' fails because the - looks like it's introducing an option to the alias command. To make it work, use -- to indicate the end of options.
$ alias -- -=foo
$ -
zsh: command not found: foo
$

Using this form, - is already aliased to cd - in OMZ.

Let's wait on this until we have a safe aliasing infrastructure (#4585) in place then.

Sorry guys, been idle for some time.
Personally I am used to using ls when I want basic ls output. When I feel like using l, I am already in an active state of mind, and probably wiggling around in the system, so I like having the full column output including hidden files.
Anyhow, @mcornella said it best, as always.
I fear “let us wait for #4585” is going to become the routine answer to many issues and PRs, right along “please do not send more themes” and “this is a duplicate of #XXXX”.


Person/zverulacis/vdk documentation

I tried to put all the info in as short, as specific, and useful as possible taking into consideration existing description, Angelica's blogs, and common sense.

I will merge it on your behalf.


afterCreate no longer contains id of created item

I had working code that made use of the numeric primary key ID number of the newly created record. Updated updating from 0.9.x to 0.10.x I find the id is no longer present in the newlyInsertedRecord parameter passed to afterCreate.
Is this intentional?

I was just bitten by this as well.  Basically, I have data in an existing MySQL database.  I've set autoPk to false because I do not want Waterline managing my ids.  When I use MyModel#create the returned object does not have the id set but when I do a MyModel#find, the returned models have the id field provided.
If I'm using Waterline with an existing database, why should I have to set autoIncrement to true?  Since this seems to be the fix for some, what can I expect this to change other than fixing this issue?

This is genuinely up to the adapters to implement, so I suggest moving this over to sails-mysql.  Some databases will return the created records upon create, and others wont.  So the adapters can make their own decisions about where an extra lookup is necessary.
In the case of sails-mysql I can tell you that it avoids having to perform another lookup.  It does this by asking for the inserted id, which it can only do when using an auto-increment property (see this).  If you're managing your own ids, then it seems that the id should be present in the created record, since you set it yourself.
I'm going to let this issue remain open a little while longer if there are clarifying questions, etc., but please raise any additional concerns on the appropriate adapter's repo.  Hope this helped!

As @devinivy stated this is an adapter issue, please raise it in the appropriate adapter's project. Feel free to re-open if you think this hasn't been fully answered.


⚠ Jurnal has degraded performance

In 65094ff, Jurnal (https://jurnal.unmer.ac.id) experienced degraded performance:

HTTP code: 200
Response time: 18043 ms

Resolved: Jurnal performance has improved in 5df1cc8.


First ROW of CONTAINER if full width IMG issuee

In Outlook 2003 there is an issue when using a header image with nothing above. To clean the issue up I just delete the full width row of the top and the text tags of the second row in the sidebar-hero template.
https://www.emailonacid.com/app/acidtest/viewresult/1aglkhzqTqsIbA5Bvo40tXTGEGLfto0QcYgRhO9GD2ntN

This should be addressed in v2. We're no longer supporting v1, but we're more than happy to merge a PR into the v1.0.0 branch. Thanks!


about points.h

enum PropType { kPoint = 1, kNormal = 2, kFeature = 4, kLabel = 8 };
Is there anything special about the numbers above?
If I add two parameters similar to features, can the following settings be used?
enum PropType { kPoint = 1, kNormal = 2, kFeature = 4, KFeature1=5,KFeature2=6,kLabel = 8 }
Looking forward to reply, thank you very much!

No, your modification will not work.
You should take care of all the functions that use PropType .

thank you for your reply！
I changed the following settings and recompiled successfully.Does it mean this is feasible?
enum PropType { kPoint = 1, kNormal = 2, kFeature = 4, KFeature1=8,KFeature2=16,kLabel = 32 }

It works,By imitating the organization of feartures and expanding two more, I successfully generated points files and octree files.Next, perform octree file conversion to lmdb file.


test(publishBehavior): Add comprehensive tests for publishBehavior

Resolves issue #655.

Merged with 01a58aa after minor lint fix. Thanks @staltz!


Error: assignment count mismatch

I tried to import this package on Go 1.8, but I am getting this error:
github.com/runningwild/gorbis/ogg.go:145: assignment count mismatch: 1 = 2

Very late but if anyone finds this, I found another!
https://github.com/jfreymuth/oggvorbis


Generate rvrn/rclt based on conditions in designspace

There is also proposed FEA syntax for specifying conditions, but I do not believe that is really used at all, whereas they are specified in real designspace files.
This was not previously exposed in norad, but it will be as of 0.12.0 (coming soon)

Maybe include rlig for fea variations support too?  This is the Glyphs compiler environment default with rationale in:
https://glyphsapp.com/learn/switching-shapes


fix(oui-loader): make loader in button possible

Here @ v1.0.0-alpha.16 we already have the loader in a button element.

@antleblanc But it doesn't worked with  element.  are forbidden in  element

You can remove icons files from your Pull Request please ? You didn't do any changes in them, we should consider fix the build script because it didn't generate the same list from an os to another.


Implemented metadata: :all from issue #15

Thanks for the pull request. I've merged it in and tagged a new version. I'll be pushing it to hex shortly.


Fix templates link in close bot

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Link was wrong.

Whoops, thanks @vitorgalvao!