Annotation stem drawn at wrong position when at start of series

When the release is October 2012, which occurs at the start of the time series, the annotation is actually drawn at the November 2012 position, presumably to make space for the label.

The stem of the annotation must occur at the correct position. If there isn't enough space to draw the label to the left of the stem, it should flip automatically to be drawn on the right.

I see your point, I would appreciate a codepen so I can quickly reproduce.

I'll see if I can do that. I don't really know how to codepen.

@junedchhipa Hi, I think I got a pen for you: https://codepen.io/bilge-the-encoder/pen/PoPYgBq

Thanks @Bilge
That was helpful, will be fixed soon.

@junedchhipa Thanks! I went ahead and added CodePens to all my outstanding bug reports (but not feature requests).


[AutoPR datalake-store/data-plane] typo: Microsoft.DataLakeStore

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4677

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/3573


Can not use css

the button's color is #ffffff

Same issue here.

element-plus still can not work well with nuxt3. And nuxt3 still being updated and have not yet been released stavle version.
Please just wait.

@YunYouJun, it is true, but may you give us a clue of what is missing so we can try to make some progress?

@calebeaires Sorry, I don't know why too.

@calebeaires Sorry, I don't know why too.

Make it work using client only wrapper
<template>
  <main>
    <ClientOnly>
      <NuxtPage />
    </ClientOnly>
  </main>
</template>

I think the way Element-plus set ccs variables in the button html is not compatible with the "rendering server time"!

This will be resolved in the next version of element-plus

try:
  <client-only>         <el-button type="primary">test</el-button>   </client-only>

+1 Same here since the first release of element-plus. Inline styles are not inject with SSR.
Client only is not a realiable solution.

Also to make it compatible with nuxt should be an option to render the button as a nuxt-link component.

Also to make it compatible with nuxt should be an option to render the button as a nuxt-link component.

This issue has been resolved, upgrade element-plus to the latest version


CB-84 Apply consent mode changes

New PR to apply consent mode changes based on #39. Not to be released until confirmed that it won't break our tracking setup

Changes for consent mode are working, but are not isolated to a specific service, so this PR shouldn't be merged until all services have been migrated to 'GA4-first' setup using GTM-side implementation only.


Module '"@jmondi/oauth2-server"' has no exported member 'generateRandomToken'

Since upgrade to Version 2.0.0 the generateRandomToken function is not exported anymore which is e.g. used in the typescript-example. Therefore it throws the error Module '"@jmondi/oauth2-server"' has no exported member 'generateRandomToken'

Quick fix:
Import it via import { generateRandomToken } from '@jmondi/oauth2-server/dist/utils/response';

My apologies, I was using barrelsby before to round up and export everything, and in v2 I opted to just manually choose what was exported. Apologies for missing this one, I’ll push up a patch fix by EOD

this issue is fixed in v2.0.2 https://github.com/jasonraimondi/ts-oauth2-server/releases/tag/v2.0.2

Thank you a lot!


Dark Mode support

Streamlit applications using this component are not properly visible when preferring Dark Mode or have it set as system default.
Light Mode

Dark Mode

The non-highlighted text colors should inherit from the current Theme (Light/Dark/Custom).

Any news regarding this issue?

This is supported now, since 2.0 was released yesterday. Closing


Online / live logging

Some suggested that being able to live-log on the website, in a set-and-forget fashion, could help increase logging rate. I think the idea is a page with basic localStorage for the user's callsign, and then a tabular entry widget where you could enter the callsign and channel you made a contact with / on, and have an (editable) auto timestamp. I think something as lightweight as possible would be best -- without a need to log in, for instance. This might be a sizeable feature to develop though.
Complication : can we have a list of stations spotted based on live logging in realtime ?

A thought: instead of all of that, a Discord channel where some of us would be available to help others with submitting their logs. I'd pitch in.

I hope that we are able to have a more lively Discord setup and, ideally, some more help going on, be it in logging or otherwise ! Thanks very much for the offer -- I'd love to have some folk help out in a more official ( or semi-official, if they prefer ) capacity !


Precisions in alternatives section and Pricing section for API Management

Alternatives section
No precision that  private connection scenario is only supported by Developer, Premium, and Isolated tiers of API Management
Pricing section
List of pricing tiers not full: there are no Consumption and Isolated tiers.

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

ID: c55f4eba-7057-a500-a770-2e20d0dda242
Version Independent ID: 6fb18f2d-1acb-76a9-70ad-11157f36bbc3
Content: Migrate a web app using Azure APIM - Azure Architecture Center
Content Source: docs/example-scenario/apps/apim-api-scenario.yml
Service: architecture-center
Sub-service: example-scenario
GitHub Login: @Begim
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 454692

@IhorLeontiev This has been taken care as mentioned above.

Hi @IhorLeontiev
Sorry for the delay.
The ticket was created some years ago, and the article has been updated several times since then.
Today in the cost section is a link to all the possibilities “API Management is offered in four tiers: developer, basic, standard, and premium. You can find detailed guidance on the difference in these tiers at the Azure API Management pricing guidance here.”
About the APIM flavor which supports some feature. There are links on the articles, and the information is on the related documents, for example:

Alternative section, “For more information, see Connecting APIM in internal mode to a VNet”. In that link there is an “Availability” section: “This feature is available in the Premium and Developer tiers of API Management.”

I will close the ticket, but feel free to re-open if additional clarification is needed.

#please-close


Html and CSS Documentation page

Assigned to
@IsmailMuhammed2019
@Msindy
@ODINKS

Worked on the documentation page. The design team implemented some recent changes to the structure  of the text files. Working on the setting up the lists in the boxes


Problem in getting refresh token

I have followed the instructions to the letter, until I come to Step 3. Configuring the Module.
Here I experience that no matter what I do, I don't get the refresh token to work.
With this incomplete  setup I start the MM I say the wake word "Alexa" the I get the halo and then I ask what time is it ? I can only see a white dot appear and its stays that's it.
For that reason I have contacted Amazon first to hear there side, here is the response :-

Hello,
The steps described on the page (https://awesome-alexa.js.org/#/installation?id=step-3-configuring-the-module) are specific to the Magic Mirror implementation. We have no visibility how the link is getting generated and therefore cannot provide much guidance for it.
For instance, it is not clear why your redirect URI is https://<IP_ADDRESS>:5050/authresponse. In the example presented in the official AVS documentation (https://developer.amazon.com/en-GB/docs/alexa/alexa-voice-service/authorize-companion-site.html#lwa), the redirect URI is set to https://localhost
Again, it is not known to me how the link is being generated and I strongly suggest you reach out to the Magic Mirror support channel.
If you have any further questions about this issue, please do not reply to this email. To respond to us again about this issue, please use the following link:
https://developer.amazon.com/help/contact-us.html?caseID=6979636421
To contact us about a separate issue, please open a new case:
https://developer.amazon.com/public/support/contact/contact-us?subjectCategory=ALEXA
Do you think this resolved your issue?
If yes, please click here:
http://www.amazon.com/gp/help/survey?p=A2LUKYQU6KPH2H&k=hy
If no, please click here:
http://www.amazon.com/gp/help/survey?p=A2LUKYQU6KPH2H&k=hn
Best regards,
Bernardo B.
Amazon Developer Support
Please do not reply to this email. To respond to us again about this issue, please use the following link:
https://developer.amazon.com/alexa/console/contact-us/case?caseID=6979636421
To contact us about a separate issue, please open a new case:
https://developer.amazon.com/alexa/console/contact-us
================================
Here are the logs from my Magic Mirror.
pi@raspberrypi:~ $ pm2 log mm
[TAILING] Tailing last 15 lines for [mm] process (change the value with --lines option)
/home/pi/.pm2/logs/mm-error.log last 15 lines:
0|mm       | [2020-05-02 10:07:31.871] [ERROR]  (node:1191) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
0|mm       | [2020-05-02 10:07:31.873] [ERROR]  (node:1191) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
0|mm       | [2020-05-02 10:07:31.894] [ERROR]  (node:1191) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
0|mm       | [2020-05-02 10:07:31.895] [ERROR]  (node:1191) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
0|mm       | [2020-05-02 10:07:32.660] [ERROR]  Calendar Error. Could not fetch calendar:  https://calendar.google.com/calendar/ical/uem757506s1lrassv6v3js0598%40group.calendar.google.com/public/basic.ics 404: Not Found
0|mm       | [2020-05-02 10:07:32.847] [ERROR]  (node:1191) UnhandledPromiseRejectionWarning: Error: [object Object]
0|mm       |     at /home/pi/MagicMirror/modules/MMM-awesome-alexa/node_helper.js:1:6073
0|mm       |     at processTicksAndRejections (internal/process/task_queues.js:89:5)
0|mm       | [2020-05-02 10:07:32.854] [ERROR]  (node:1191) UnhandledPromiseRejectionWarning: Error: [object Object]
0|mm       |     at /home/pi/MagicMirror/modules/MMM-awesome-alexa/node_helper.js:1:6073
0|mm       |     at processTicksAndRejections (internal/process/task_queues.js:89:5)
0|mm       | [2020-05-02 10:07:32.858] [ERROR]  (node:1191) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
0|mm       | [2020-05-02 10:07:32.859] [ERROR]  (node:1191) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
0|mm       | [2020-05-02 10:07:32.865] [ERROR]  (node:1191) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
0|mm       | [2020-05-02 10:07:32.866] [ERROR]  (node:1191) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
/home/pi/.pm2/logs/mm-out.log last 15 lines:
0|mm       | [2020-05-02 10:07:31.608] [LOG]    Create new calendar fetcher for url<EMAIL_ADDRESS>- Interval: 300000
0|mm       | [2020-05-02 10:07:31.626] [LOG]    Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/en-gb.islamic%23holiday%40group.v.calendar.google.com/public/basic.ics - Interval: 300000
0|mm       | [2020-05-02 10:07:31.690] [LOG]    Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/uem757506s1lrassv6v3js0598%40group.calendar.google.com/public/basic.ics - Interval: 300000
0|mm       | [2020-05-02 10:07:32.104] [LOG]    Create new news fetcher for url: https://www.berlingske.dk/content/3/rss - Interval: 300000
0|mm       | [2020-05-02 10:07:32.188] [LOG]    Refreshed access token because it has expired. Expired at: 10:07:31 now is: 10:07:32

At the end the error was that I was pasting the whole web address with the token. I just had to copy it out and separate it.


httpgw: migrate to httpsession

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added

/cc @yodaos-project/performance


Add Groupme  and Linktree icons

Thank you for your PR! Released in v5.7.0 https://github.com/jaketrent/react-social-icons/releases/tag/v5.7.0


Move the SVGs from libratbag to piper

Right now, ratbagd provides the SVGs to client. The SVGs are themed, with the theory that different clients can load differently-looking SVGs. Realistically we only have one theme: "gnome", used by piper. No-one has shown interest in other themes, including the original few SVGs we had before piper.
I'm proposing removing the themes from libratbag and pushing them into piper.

there is nothing about the API that specifies what the SVG does, beyond "it's an SVG". This is problematic, because:
the theme is a "piper" theme more so than a GNOME theme. piper has requirements on how the theme must behave which only exist because of piper's implementation. Button label names, leader lines, etc.
if we are to make this a stable API, this behaviour of the SVGs becomes ABI too - we could never change the theme without potentially breaking other users

hypothetical issue: if piper's svg library changes/goes away and the new one renders slightly differently, we cannot update the svgs because they are part of the ABI. So we're doubly screwed.

the only reason we have the fd passing is because we expect piper to run in a container and not have access to the host. Shipping it in piper makes that problem go away.

There are some notable downsides:

adding a new device requires the user updates libratbag and piper
other tools that rely on these SVGs (if they exist? ratbagctl doesn't count) will stop working. But see my ABI comment above.
it is harder to enforce SVGs being added for new device if they're across two different repositories. That's a social problem, nothing technical stop us from saying "no .device file in libratbag until an SVG is in piper".

I think the benefit of not having to care about SVGs and magic ABI issues is greater than those drawbacks, so let's drop the SVGs and live merrily ever after
cc @bentiss, @Hjdskes, @FFY00, @phomes, @cvuchener

I'm in favor of this change and had been thinking along the same lines of it really being a "Piper" theme more than a "GNOME" theme when @bentiss brought it up in #626.

it is harder to enforce SVGs being added for new device if they're across two different repositories. That's a social problem, nothing technical stop us from saying "no .device file in libratbag until an SVG is in piper".

I don't think this is a new problem. We already have .device files without there being an SVG for Piper, for example the etekcity.


Skip BIOS validation for reserved hardware and check manifest for enforcement status

Reserved hardware can have custom BIOS configs that we don't want to
touch. At some point we'll want to have finer grained metadata on what
BIOS config to use as a source of truth, but for now we simply won't
apply BIOS configs to reserved hardware devices.
In the bios configs tarball we have a manifest.txt file which includes
an enforcement status field. If this field is not set to "enforce", all
BIOS config checks will happen, but the config will not be applied. This
allows us to improve the config normalization filters during a
development period, after which we can set the enforcement status to
enable the config to be written when drift is detected.

Note: I've tested the reserved status by modifying kant's data directly, and so I've verified the behavior works when reserved is true vs. false.

Note: I've tested the reserved status by modifying kant's data directly, and so I've verified the behavior works when reserved is true vs. false.


Proposal to configure hintText to be always visible even when inputting

Use case
I'd like to add a hint which is visible always, even when I type a text
Proposal
Add HintTextBehavior enum with values default value(not sure how to name but with current behavior) and always

@IlyaMax okay, thank you. Labeling the issue as a proposal.

Hi, as this is the role of the label (see https://material.io/components/text-fields/flutter#using-text-fields), closing this issue as not planned.

@guidezpl so maybe rename this issue to "configure labelText"? I can't achieve desired behavior anyway with current TextField interface.

with labelText and FloatingLabelBehavior.never I can achieve keeping visible text until field is focused. with hintText I can achieve keeping visible text until I type. but I still can't achieve keeping visible text always, even when I type.

I'm not sure I understand, you can totally have the label text visible at all times, see https://gallery.flutter.dev/#/demo/text-field for an example.


Adding new iOS 15 large content viewer support to Avatar-related controls

Platforms Impacted

[x] iOS
[ ] macOS

Description of changes
Bringing in large content viewer support to main and adding that support to Avatar. The Avatar image does not seem to render or resize despite adding the appropriate SwiftUI modifiers (.renderingMode and .resizable), so they are not shown if the default style is not used.
Referencing #994 and #1011.
Verification
iPhone 12, iOS 15.5
https://user-images.githubusercontent.com/22566866/173942121-514848bc-e78f-4dbf-bc97-eb02fa08b395.mov
Pull request checklist
This PR has considered:

[ ] Light and Dark appearances
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] iPad Pointer interaction
[ ] SwiftUI consumption (validation or new demo scenarios needed)
[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

Ah, actually, I know I just approved it, but it might be better to just add the view modifier with this change, then cherry pick the avatar change over?


BUG-7315 Change EZMultiPli set color commands

Changes these commands to be more similar to the DTH commands (removes extra fields not used in DTH).

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

These changes have been confirmed by the user who reported the issue.


how the logs are configured for the polls-demo example?

I'm unable to find out from where exactly these GET, POST log messages are coming from. I want to have it in my nextjs project as well. Please help.

I wish I could tell you more, but I didn't do anything specific to get those - they were just there.

I'm doing some housekeeping so I'm closing some older issues that haven't seen activity in a while.
If this is still relevant, please feel free to reopen the issue.


Show recent songs list per station

As seen in my desktop app, HuxleyFM.

Done! This is available as of version <IP_ADDRESS>.


Replace system krb5 package with pykrb5 package

Closes conda-forge#41

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@dhirschfeld seeking review please.
I note that @krisevans @rzillman have had no activity on GitHub in the few years, so expecting that only you would see this.

https://github.com/jborean93/pyspnego/blob/acc48e905663f2c4e4a423d5345cc5b207dc4ae5/pyproject.toml#L33-L37

https://github.com/jborean93/pykrb5
https://github.com/conda-forge/pykrb5-feedstock


Inquiry into acceptable fields for groupBy calls

I'm working with a client, who is trying to customize the filters for their portal.  I've updated the publicRESTJobAPIFieldList PLA to include jobOrder.customTextBlock5, which the client has set as a drop down edit type with only four options.
We've confirmed that the portal is recognizing the fields, but the issue arises when they are attempting to use the field and values for the job board filters.  They are mirroring the groupBy calls used for location and category to filter results by the values in customTextBlock5, but are encountering an error.
The documentation -- [LINK REMOVED] -- states that to-many fields are ignored,  but no indication of anything else.  Is there a comprehensive list of which fields are compatible with groupBy calls?  Is the fact that they are using a customTextBlock field, despite only set as a drop down, causing the problem?

Hello,
TextBlock fields cannot be used in that way.   I suggest utilizing a customText field if it is available.


Make record names unique

Right now, we have a big problem due to using DuplicateRecordFields in Stocks.hs
It is possible to get data structures from this module,
but it is then not possible to pick data out of these data structures because the
record accessor functions will be ambiguous in the user's code
I propose to put each data structure in its own module, so that we can then pick out
for instance 'symbol' from 'Company' like (IEXCompany.symbol companyData)

Would you have an example of that, as in, how would it work for, say, Quote?

Please see this https://github.com/dabcoder/stocks/commit/693aec341a6eb76cd8e5b634cc8f3e33c704d196 for what it would look like with my proposal (for Stats). I guess another solution would be to make sure no record fields are duplicate, like "statusCompanyName" in Status, but I think that is a bit worse..

I see, thanks for the detailed explanation.
We can probably go ahead with your proposal, I don't have any other suggestions at this point, thanks for looking into it!

Fixed by factoring out data types to their own haskell modules


How to build a static link?

I needed an onnxruntime static library, so I compiled with version 0.3.1 from source and opened -- --enable_msvc_static_runtime, but I didn't get just one static library.

 It's not just one single static lib.
Also, it is a lot of dependencies, like protobuf. If you do static link, you must use the protobuf lib under onnxruntime's build dir, not the system dir.
Therefore, static link is much more complex that dynamic link.

I got it. thanks


Crash under XMonad WM

I downloaded and compiled bitcoin-qt from sources. First time it run correctly ( gui showed), but next starts ended with crash ( no gui showed only splash screen by short while).
Even I deleted completely ~/.bitcoin , it crashed everytime.
When I run the same executable under valgrind - it run ok, gui showed ( only slower ). Without valgrind - crash.
From the same console the same executable ->  with valgrind ok, without valgrind crash.
I couldn't reproduce problem after switching to Unity WM, switching back to Xmonad it started crashing again.
It looks like some race condition problem.
My envirionment:
AMD 5600+, Ubuntu 11.10 64-bit, WM: Xmonad
version of downloaded sources:

git log -1
commit 1320b61bcfe25b1944b8db95166475c32adb6cfe
Author: sje397
Date:   Fri Nov 11 01:20:17 2011 +1100

    Added QRCode generation functions via libqrencode

All coredumps from these crashes shows:

Core was generated by `./bitcoin-qt'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000614f74 in ClientModel::getOptionsModel (this=0x0) at src/qt/clientmodel.cpp:77
77          return optionsModel;
(gdb) bt
#0  0x0000000000614f74 in ClientModel::getOptionsModel (this=0x0) at src/qt/clientmodel.cpp:77
#1  0x000000000042b61e in BitcoinGUI::changeEvent (this=0x7fff2ee3e9d0, e=0x7fff2ee3e310) at src/qt/bitcoingui.cpp:482
#2  0x00007fca3b2df77f in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007fca3b6a1ceb in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#4  0x00007fca3b28f424 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#5  0x00007fca3b294291 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6  0x00007fca3ad5eafc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fca3b300617 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007fca3b30e56b in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007fca3b32446e in qt_x11_wait_for_window_manager(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007fca3b6dde31 in QSplashScreen::finish(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x0000000000425905 in main (argc=1, argv=0x7fff2ee3eef8) at src/qt/bitcoin.cpp:164
(gdb) print this
$1 = (ClientModel * const) 0x0
(gdb) frame 1
#1  0x000000000042b61e in BitcoinGUI::changeEvent (this=0x7fff2ee3e9d0, e=0x7fff2ee3e310) at src/qt/bitcoingui.cpp:482
482             if (clientModel->getOptionsModel()->getMinimizeToTray())
(gdb) print clientModel
$2 = (ClientModel *) 0x0
(gdb) print *this
$3 = { = {}, static staticMetaObject = {d = {superdata = 0xabc760, stringdata = 0x71e520 "BitcoinGUI", data = 0x71e380, extradata = 0x0}}, TabIndex =<PHONE_NUMBER>, clientModel = 0x0, walletModel = 0x0, centralWidget = 0x1c33120,
  overviewPage = 0x1bc3fa0, transactionsPage = 0x1bef880, addressBookPage = 0x1c029d0, receiveCoinsPage = 0x1c0d920, sendCoinsPage = 0x1c1a590, labelEncryptionIcon = 0x1c68400, labelConnectionsIcon = 0x1c68740, labelBlocksIcon = 0x1c68a80, progressBarLabel = 0x1c68e10,
  progressBar = 0x1c69560, appMenuBar = 0x1bac160, overviewAction = 0x1ba81f0, historyAction = 0x1ba8820, quitAction = 0x1baa260, sendCoinsAction = 0x1ba9ac0, addressBookAction = 0x1ba89d0, aboutAction = 0x1baa3e0, receiveCoinsAction = 0x1ba9000, optionsAction = 0x1baa400,
  openBitcoinAction = 0x1baa770, exportAction = 0x1baa790, encryptWalletAction = 0x1baaab0, changePassphraseAction = 0x1baa9f0, trayIcon = 0x1bc2bb0, notificator = 0x1bcafb0, transactionView = 0x1bf0550, syncIconMovie = 0x1c69b60}
(gdb)

I added locally check for clientMode != NULL in src/qt/bitcoingui.cpp:482, it worked around problem for me as no problem reproduced after that in the same environment.

Thanks for the detailed tracebacks. It is indeed a race condition; an event
handler is called before the model is set.
This is fixed in -master, as the required null checks for models have been
added everywhere.

...except that one... Missed it because it is in an ifdef. Heh i'll fix
it tomorrow

The check has been added (both here and upstream).


fix non-utc time zone, epoch time aggregation problem

we found that the output epoch aggregation method was calculated in UTC time zone, and the non-utc time zone aggregation granularity was incorrect. And then I used SIMPLE_DATE_FORMAT and found DATETIMECONVERT udf conversion to SIMPLE_DATE_FORMAT are 50x slower than conversion to epoch time(https://github.com/apache/incubator-pinot/issues/3515). So we increased the output epoch method with time zone(dateTimeConvert(fdate, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH:tz(Asia/Shanghai)', '1:DAYS'))to solve the problem

Codecov Report

Merging #4242 into master will decrease coverage by 0.11%.
The diff coverage is 33.09%.

@@             Coverage Diff              @@
##             master    #4242      +/-   ##
============================================
- Coverage     67.24%   67.12%   -0.12%
  Complexity       20       20
============================================
  Files          1041     1042       +1
  Lines         51514    51649     +135
  Branches       7216     7246      +30
============================================
+ Hits          34640    34670      +30
- Misses        14506    14614     +108
+ Partials       2368     2365       -3

Impacted Files
Coverage Δ
Complexity Δ

...g/apache/pinot/common/data/DateTimeFormatSpec.java
82.85% <100%> (+0.76%)
0 <0> (ø)
:arrow_down:

.../transformer/datetime/BaseDateTimeTransformer.java
95% <100%> (+1.06%)
0 <0> (ø)
:arrow_down:

...rator/transform/transformer/datetime/Truncate.java
22.03% <22.03%> (ø)
0 <0> (?)

...e/pinot/common/data/DateTimeFormatPatternSpec.java
71.79% <85.71%> (+3.04%)
0 <0> (ø)
:arrow_down:

...r/validation/RealtimeSegmentValidationManager.java
43.33% <0%> (-36.67%)
0% <0%> (ø)

...apache/pinot/common/metrics/ValidationMetrics.java
20.28% <0%> (-23.19%)
0% <0%> (ø)

...e/impl/dictionary/LongOnHeapMutableDictionary.java
89.13% <0%> (-6.53%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
89.28% <0%> (-5.36%)
0% <0%> (ø)

.../org/apache/pinot/transport/netty/NettyServer.java
80.8% <0%> (-3.04%)
0% <0%> (ø)

...der/HighLevelConsumerBasedRoutingTableBuilder.java
90.9% <0%> (-3.04%)
0% <0%> (ø)

... and 18 more

Continue to review full report at Codecov.

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


refactor dependencies and add tileJSON endpoint

close #4
This PR does:

add /table.json TileJSON endpoint
refactor dependency injection for tile and tms
add Default indented JSON response
fix TileJSON model
make use of tilejson endpoint in demo

cc @bitner

Codecov Report

Merging #18 into master will increase coverage by 5.33%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##           master      #18      +/-   ##
==========================================
+ Coverage   62.79%   68.12%   +5.33%
==========================================
  Files          21       21
  Lines         301      320      +19
==========================================
+ Hits          189      218      +29
+ Misses        112      102      -10

Impacted Files
Coverage Δ

timvt/endpoints/demo.py
55.55% <0.00%> (ø)

timvt/endpoints/tiles.py
33.92% <47.36%> (+1.37%)
:arrow_up:

timvt/utils/dependencies.py
78.57% <50.00%> (ø)

timvt/app.py
100.00% <100.00%> (ø)

timvt/models/mapbox.py
100.00% <100.00%> (+100.00%)
:arrow_up:

timvt/ressources/responses.py
52.94% <100.00%> (+19.60%)
:arrow_up:

Continue to review full report at Codecov.

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


Please provide equivalents to ToastButton in Windows Community Toolkit

There is no way to create ToastButtonSnooze or ToastButtonDismiss using AppNotificationBuilder and AppNotificationButton.
<action activationType="system" arguments="dismiss" content=""/>

activationType="system" is necessary to use the default localized strings.
Snooze/dismiss

Thanks for proposing this feature!
For WinAppSDK 1.2, we wanted to cover as many core features as we could with intentions to reach 1:1 parity or close to it with the UWP ToastContentBuilder. We will continue to add more features in future releases and prioritize the features that customers are wanting most.


slidesOffsetBefore will not affect untill resize screen manully

Hi, and thanks for this react-swiper port,
i'm using react-id-swiper with .map(dynamic data) widely in my project and saw some behaviors that was strange to me, most of them was related to misusing of key with dummy data.
well, The problem which i haven't managed to solve is:
Params (150px is for demonstration condition)

const appParams = {
  containerClass: 'swiper-container mb-3',
  slidesPerView: 6.2,
  spaceBetween: 15,
  grabCursor: true,
  /* eslint-disable */
  breakpoints: {
    1199: {
      slidesPerView: 5.4
    },
    991: {
      slidesPerView: 4.7
    },
    "767.99": {
      slidesPerView: 4.1,
      slidesOffsetBefore: 150,
      slidesOffsetAfter: 150
    },
    575: {
      slidesPerView: 3.9
    },
    480: {
      slidesPerView: 3.5
    },

  }
};

render

<Swiper {...appParams}>
        {array.map((app) => (
            <Link to={`/a/${app.id}`} key={app.id}>
              // ... some cool stuff
            </Link>
          ))}
</Swiper>

and if you open the react app with iPhone viewport, responsive slidesOffsetBefore and slidesOffsetAfter are not affected, however slidesPerView is affected without any problem,but  you have to resize viewport manully and, then,
slidesOffset is affected.
any advice will be welcomed.

well, i solved the problem, thinking into css by js, strange but brings with itself the cure
in Swiper unlike css breakpoints behavior that overlap will be occured, you can not use another breakpoint properties while your viewport is falling down,
for example in standard responsive design - mobile first you come into css breakpoints with this concept that:
@media min-width(768px) {
body {margin-top: 60px}
}
@media min-width(992px){
body {margin-bottom: 60px}
}

and you finally expect that body should have  margin : {margin-top:60px; margin-bottom:60px}  in VIEWPORT > 992
but in swiper as i understood, this is not correct, injecting css by js is explicit, and after condition becomes false, css will be eject.
so if you want to use css like behavior in Swiper breakpoints, its better to implement your css properties downward or upward in all case you are using,
in my case the correct snippet will be:

 breakpoints: {
    1199: {
      slidesPerView: 5.4,
    },
    991: {
      slidesPerView: 4.7,
    },
    /* eslint-disable */
    "767.99": {
      /* eslint-enabel */
      slidesPerView: 4.1,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    },
    575: {
      slidesPerView: 3.9,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    },
    480: {
      slidesPerView: 3.5,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    },
    390: {
      slidesPerView: 2.8,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    },
    350: {
      slidesPerView: 2.3,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    },
    320: {
      slidesPerView: 2.1,
      slidesOffsetBefore: 15,
      slidesOffsetAfter: 15
    }
  }

and problem solved, i hope this thread can help anyone like me that was struggling with swiper breakpoints. 👍🏻


Dependency check 6.5.1 not reporting Log4j 2.x issue (CVE-2021-44228)

We use the dependency check (6.5.1) in a lot of our Java applications, but the recent CVE-2021-44228 in log4j 2.x isn't reported in any of those applications. I tried several versions of log4j 2.x (prior to 2.15.0 in which this issue is resolved), but the issue never shows up in the reports. Could anyone please explain this? We're trying to push as many development teams as possible to use these kind of checks, but I can't explain why this one isn't reported.
We have many different environments in which the dependecy check runs, but here's some data on my own machine's environment:
$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.11, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-41-generic", arch: "amd64", family: "unix"
CVE: https://nvd.nist.gov/vuln/detail/CVE-2021-44228
We're using an internal mirror of the NVD database. nvdcve-1.1-modified.json.gz and nvdcve-1.1-modified.json on that server contain the CVE.

The json file from nist - dont have the info at the moment. The Web-Page is fixed. Maybe in half an hour.

Now the NIST Download include the score
timestamp
CVE-Recent | 12/13/2021; 12:00:00 PM -0500
may you have force the download

DependencyCheck 6.5.1 does not yet exist. Last release is 6.5.0.
And dependencycheck only periodically tries to update it's CVE database, so having them present in the datafeeds on your mirror does not mean that dependencycheck will retrieve them (NVD datafeeds are ignore for 4 hours after last update unless you customize cveValidForHours to extend this time or force it to expire faster)
I have seen CVE-2021-44228 surface in my scans today, so once your CVE database is updated with your latest datafeeds it should show for you as well.

Ok, that might explain things.
As of this morning I am seeing the CVE-2021-44228 in the report.
Thanks for the input.

Yes, CVE-2021-44228 is in the reports since yesterday. But now, it is linked with all log4j dependencies: log4j2 and log4j 1.x. It seems not good.

Yes, CVE-2021-44228 is in the reports since yesterday. But now, it is linked with all log4j dependencies: log4j2 and log4j 1.x. It seems not good.

That was caused by a missing starting-revision in the NIST NVD datastream which has now been resolved. After update of the CVE database it should no longer flag 1.x versions vulnerable


Fix flow-upgrade

This PR does a few things:

Upgrades the jscodeshift version (still using my custom fork)
fixes the tests
bumps the version number

After this is merged, I'll deploy this to NPM. Note that I used this version of flow-upgrade to create D15503065

I do not think this (version 1.1.1) has been released to NPM?
Or is this not recommended to be used any more? I did try running flow-upgrade (checked out from the master branch) on a rather big project which is currently on Flow 0.109.0, that did introduce quite a few errors.

What kind of errors did it introduce? What command did you run? This is still the tool that should be used to upgrade codebases to exact-by-default, but there are some cases where it misses something.

I tried a bit more now, and if I split up the version range in two, it seems the older migration is what messed it up for me. Running:
node ../flow/packages/flow-upgrade/dist/index.js 0.50.0 0.60.0
Gives changes like:
From:
class WindowsSystemMediaTransportControls extends React.Component<Props> {
To:
class WindowsSystemMediaTransportControls extends React.Component<> {
  static defaultProps: Props;

So I'm guessing that (parts of) that codemod can not be run on (partly) more up to date codebases?
Running it again also seems to eat more of the signature, for cases where both Props and State are in use.
If I run:
node ../flow/packages/flow-upgrade/dist/index.js 0.60.0 0.109.0
Then that seems to work as expected! (Adding explicit inexact)

And for completeness, if I run it the documented way (from NPM):
yarn create flow-upgrade
These are the versions it tries to update between:
The Flow version you're upgrading from: 0.52.0
The Flow version you're upgrading to:   0.53.0


Update README.md changed audiance spelling to audience

Related Issue

Closes: #[issue number]
Description of Changes

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots

Original
Updated

Please provide any necessary screenshots to illustrate the changes made.

just changes the spelling of audiance to audience in readme file


Add target_scitype to unsupervised methods

Some clustering have both a predict and   transform so there should be both a output_scitype and target_scitype potentially.

reopening this + warning, doing this may break  MLJModels


Active internet connection is required

Can you please provide some info regarding HAproxy-wi works fine when I have active internet connection but nothing works when no internet ?

Great tool amazing but  cant use it since internet is is required for all JS-jquery , well I downloaded and modified each html where .JS and .CSS required to go out internet, now I can login but rest of the feature does not work like over view , config view etc.. it says authentication failed.etc..

May be you forgot or mistake with js-cookie lib
Отправлено из Mail.Ru для Android суббота, 16 февраля 2019г., 06:10 +03:00 от v-masterman<EMAIL_ADDRESS>:

Great tool amazing but  cant use it since internet is is required for all JS-jquery , well I downloaded and modified each html where .JS and .CSS required to go out internet, now I can login but rest of the feature does not work like over view , config view etc.. it says authentication failed.etc..
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly,  view it on GitHub , or  mute the thread .

Thanks for the response Aidaho12 , can you please tell me where do I reference js-coolie Lib ?

It's sets in head teg

Aidaho12 , thanks for great help, almost there , the only last issue if you can help me with,
metrics_out.html I believe get generated each time i go to metrics page and it re-rights to go to
Can you please help me to find out where that' s coming from ? once I correct that I can then have fully working haproxy-wi without internet, I really appreciate your help and time .

  <meta charset="utf-8">
  <title>Bokeh Plot</title>

    <link rel="stylesheet" href="https://cdn.pydata.org/bokeh/release/bokeh-0.13.0.min.css" type="text/css" />

    <script type="text/javascript" src="https://cdn.pydata.org/bokeh/release/bokeh-0.13.0.min.js"></script>
    <script type="text/javascript">
        Bokeh.set_log_level("info");
    </script>

Ou... This code generate python lib... and I even don't know how do it without internet... may be put JS code in bottom metrics.html and code will be do that will change https://cdn.pydata.org/... to local scripts

Thank you Aidaho12,
I found the solution searching google for Bokeh lib offline. simply changed output_file with mode='inline'  creates the code in side the html instead of cdn ref. so basically I had to modify options.py for both output_file ( "metrics_out.html") to output_file ("metrics_out.html", mode='inline') did the trick.
So now I have a solution that I can use in closed environment without internet . I am so happy to see your project . your work is amazing , Thank you

It's cool!
Maybe you will fork the project, and add your changes to them and after do pull request?

Aidaho12,
I do not know how to fork the project , its your great work , so I would send it to you directly and if you can test verify and upload ?
Let me know if it good , I can send you all the steps I took to make it work offline , you than test\verify and upload ?

@v-masterman Were you to able to make it work as is? I'm still seeing calls to code.jquery.com due to the app/template/base.html file. Seems like this is duplicate issue of https://github.com/Aidaho12/haproxy-wi/issues/86

I have made mistake with base.html, now will be fine


New version: GR v0.42.0

Registering package: GR
Repository: https://github.com/jheinen/GR.jl
Created by: @jheinen
Version: v0.42.0
Commit: 2ab34b8ea5c02e8211e5d2e1c5053245b280c027
Reviewed by: @jheinen
Reference: https://github.com/jheinen/GR.jl/commit/2ab34b8ea5c02e8211e5d2e1c5053245b280c027#commitcomment-35605059

Your new version pull request does not meet all of the guidelines for automatic merging.
Specifically, your pull request does not meet the following guidelines:

The following dependencies do not have a compat entry that has an upper bound: julia

It is important to note that if your pull request does not meet the guidelines for automatic merging, this does not mean that your pull request will never be merged. It just means that your pull request will require manual review by a human.

These guidelines are intended not as requirements for packages but as very conservative guidelines, which, if your new package or new version of a package meets them, it may be automatically merged.

On a separate note, I see that you are registering a release with a version number of the form v0.X.Y.
Does your package have a stable public API? If so, then it's time for you to register version v1.0.0 of your package. (This is not a requirement. It's just a recommendation.)
If your package does not yet have a stable public API, then of course you are not yet ready to release version v1.0.0.

[noblock]

Please fix the compatibility bounds for the next release such that it will be automatically merged.


Bug: resource browser UI issues

📜 Description
conenection closing in terminal chaneg
pod manifest and terminal not persist
single terminal - pod terminal state connection not persisting , after moving to resource tree and back
👟 Reproduction steps
conenection closing in terminal chaneg
pod manifest and terminal not persist
single terminal - pod terminal state connection not persisting , after moving to resource tree and back
👍 Expected behavior
state should persist
👎 Actual Behavior
state should not persist
☸ Kubernetes version
latest
Cloud provider

azure

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#9254

Potential duplicates:

[#4914] Bug:[prod**] pagination bug on resource browser (67%)

Potential duplicates:

[#4914] Bug:[prod**] pagination bug on resource browser (67%)

Potential duplicates:

[#4914] Bug:[prod**] pagination bug on resource browser (67%)


Fixes from the evaluation

fix unit test names
add TODOs and let unwrap
subscription record is always new, reuse it
refactor set_subscrypt_pass, add TODO
add more todos
refactor check_auth and add a test

The changes look good, good to go on my side


Update funcs.ts to use relative path of jupyter server

Is there an image I can use to test this?

Not yet @grallewellyn--what's the process for publishing these extensions for testing?

I can do it. The testing steps are:

Run through the README commands again after making your changes (I still need to test if you need to run through all of them, but I think it is more than just jlpm build)
sudo python -m build in the extension (might need to do python3 -m pip install --upgrade build first).
Add the whl file to the jupyterlab folder and add these lines to maap-workspaces and build locally:

COPY ./maap_help_jupyter_extension-1.2.1-py3-none-any.whl /maap_help_jupyter_extension-1.2.1-py3-none-any.whl
RUN source activate $WORKSPACE_TYPE && \
    pip install /maap_help_jupyter_extension-1.2.1-py3-none-any.whl

Remember to comment out the extension install from the environment.yml
4. Publish that image and test in DIT
Alternatively, I just tried testing this by installing it directly in an already running DIT workspace, but the extension doesn't correctly uninstall in the first place, so I don't think that is the best way to test

@bsatoriu Are you able to successfully run through the README commands? I am getting errors

Sorry @grallewellyn, I fixed the compile errors. Would you please try once more?

Yep, it works now! I am building the image to test now
https://repo.dit.maap-project.org/root/maap-workspaces/-/pipelines/7055

I tested with this image: mas.dit.maap-project.org/root/maap-workspaces/jupyterlab/python:presignedUrl-relative-path-1036
And I still can't get the presigned s3 url


JS Cache busting not working as expected

Cache-Busting for production (build) *.js files is not working as expected.
TODO:

remove mod_expire for *.js files from .htaccess
implement a new cache-busting strategy for *.js files.
unique file name (add version param [main.js?v=x.x.x]
as result stronger Cache-Headers should be possible

I would highly recommend not relying on apache modules and .htaccess configurations for managing things like cache, access restrictions, etc. Cache busting should never even be needed if your server is setup correctly.
If you still need a cache busting setup, use gulp-rev and load the manifest file into your app and use that to link to the renamed files.

I would be nice if Pathfinder would be as easily setup for nginx and other webservers besides apache and IIS.

I run it on nginx currently with some very minor modifications, mainly the eve headers code I mentioned in another ticket. Its not that terrible to setup.

Im currently working on two main Gulp (http://gulpjs.com/) tasks:
default

task for continuous development (default task)
watching *.js *.sass files for changes
running jshint on *.js changes
running "compass watch" on *.scss changes

production

task for release deployment
running requireJS build + optimizer (generate source maps, minify, uglify
running "compass" (generate CSS)
copy new build .js files into "public/js/X.X.X/" (Any release has its own JS folder) This should solve the caching problem

Issue will be fixed with e452adb597e326330929914c09aece282b66a826


Reflection free JStachioTemplateFinder option

We currently generate a listing of all templates as ServiceLoader services registration file (META-INF/services/io.jstach.jstachio.TemplateProvider) but this does not work well for modularized applications (module-info.java) as registration of ServiceLoader services needs to go into module-info.java.
Furthermore the serviceloader is still reflection based albeit Graal VM native is pretty smart about that.
I propose generating a class whose name and location is configurable that has a listing of all the Templates.
Something like:
@JStacheConfig(generateTemplateFinder="MyFQClassName")
module my.module {
}

The generated class could be an enum and implement TemplateProvider.
EDIT this should probably be its own annotation like JStachePath (see #14) where it is annotation as well as can sit JStacheConfig:
@JStacheConfig(templateFinder={@JStacheTemplateProvider(className="fqn")})
module my.module {
}

and
@JStacheTemplateProvider(className="fqn")
module my.module {
}

OR alternatively we could make it slightly similar to how JStacheFormatter and JStacheContentType work where you create an interface.
@JStacheTemplateProvider
public interface MyTemplateProvider {
}

TODO for my own sake of need to run a profile on the reflection lookup as well.


Badger storage plugin: query service to support spanKind when retrieve operations for a given service.

Requirement - what kind of business use case are you trying to solve?
Related to #1920
Update badger reader and writer such that we can retrieve operations by service name and span kind
Problem - what in Jaeger blocks you from solving the requirement?

Proposal - what do you suggest to solve the problem or improve the existing situation?

Any open questions to address

I'll add notes here so that I don't forget (or if someone else is implementing):

A single index key is enough for serviceName, operationName + span.Kind indexing

Thus, replace the following code from reader:
		if query.OperationName != "" {
			indexSearchKey = append(indexSearchKey, operationNameIndexKey)
			indexSearchKey = append(indexSearchKey, []byte(query.ServiceName+query.OperationName)...)
		} else {
			indexSearchKey = append(indexSearchKey, serviceNameIndexKey)
			indexSearchKey = append(indexSearchKey, []byte(query.ServiceName)...)
		}

Instead, write a single key with operationIndexKey and in the form of query.ServiceName+query.OperationName+tags.span.kind. Then, in the reader scanning, take into account the length of the searched index key such as query.ServiceName has total length of serviceName+overhead+timestamp+sizeOfTraceID and not more. This can be added to the scanFunction to skip keys which do not match here (or stop searching if we bypassed the match).
In the cache.go, remove two full-table-scans and replace with one which would warm the cache for both services, operations as well any theoretical operations+kind query.
Bonus is one less key written to the db with a slight increase in complexity for reading.

Not familiar with badger, but should the key be query.ServiceName+tags.span.kind+query.OperationName because we want to get a list of operation names given the service name & span.kind?

It slightly depends. There's two different use-cases for that information, fetching the list of operations vs fetching the list of traces. For traces, is the span.kind used or not? You should optimize for that use-case and then the "list of operations" for UI purposes is done with the cache.go and a table scan of possible pairs of span.kind + operations meaning it doesn't really matter in which order they are.

Make sense. I didn't know it's also used for fetching traces.

As far I could understand, operations are fetched only from cache not from the store! So do we need to change the cache only? @yurishkuro

Cache loads from the store, to the store needs to support this

Probably. As long as the list can be scanned.

Cache loads from the store, to the store needs to support this

Got it! Thinking of changing the service key to serviceName+span.kind and operations to serviceName+span.kind+operationName. Will it be viable?

There is a problem in this approach! For getting traces, span.kind is always to be passed in the Query as a tag and fetching the spans of all kind will be impossible without multiple iterations and scans. The approach given in this: https://github.com/jaegertracing/jaeger/issues/1922#issuecomment-554799450 is also leading to this problem. I could think of this solution:
Creating an additional operationNameWithKindIndexKey with span.kind instead of embedding them in existing keys. When in tags "span.kind" would be present we can use this key else we could use the default operation key (without kind hence will fetch spans for all kinds). With this we can create a migration script to create this new key for all operations, then cache can be refilled with operations and its kinds! If getting spans of all kinds is not a concern then we can skip this and embed the span.kind in operationNameIndexKey and when no tags of span.kind are given we can by default add an unspecified tag while reading that implies when no tags will be given only unspecified spans would be fetched. Migration script here would be adding the kinds in same key. @yurishkuro Please see this and give me direction or a more appropriate way!

The approach given in this: #1922 (comment) is also leading to this problem.

Please elaborate. Why would this lead to extra scanning?
You also talk about migration - the migration is to be avoided at all costs. Users should be able to upgrade to next version of Jaeger and still use their existing data. If we must we can implement dual look-ups and phase them out eventually (e.g. make them opt-out first, then opt-in).

Please elaborate. Why would this lead to extra scanning?

Because as far I could understand from the comment is that it is trying to change the index to <operationNameIndexKey><serviceName+operationName+spanKind><startTime><traceId>. Now 2 cases rises:

When user sends a tag of "span.kind" then we can just add the kind to operationNameIndexKey while reading and send back the result.
When no tag is sent by the user, this implies we need to send spans of all kind. Now scanning happens in a way that if we want to find trace ids now, we have to embed the kind that means either we have to scan for all kinds or we have to append 6 keys (as there are 6 kinds of span) to the reader so that all kinds can be sent

Now regarding migration, if we have to avoid it, we can do one thing we can look up for old index during two cases, when no span kind tag is sent or when span kind of unspecified is sent, this means we can label as all the old spans as unspecified. I don't know whether this is correct! Would be interested to know your as I am new to this changing database structures in production!

I tend to agree that a single combined index is not the right approach. It enforces a specific hierarchy service > operation > kind, which would be ok if that was the end of the key, but since we also follow this with the timestamps then the searches for only higher levels of hierarchy cannot be efficiently reduced to known time ranges only.
I think given the current architecture of the indices we just need to add a 3rd index that includes the kind. It is similar to the overall indexing approach we did in Cassandra. And this would be easily backwards compatible. I would say the old data that was not written with the extra index will not be searchable if the kind is present - perhaps we can introduce an optional cutoff_time parameter that will help the storage make these decisions. What I would rather avoid is having to support with-kind queries against the old index, as it means loading all the traces for a given operation and then filtering them out by span_kind, which is messy.

Ok, so for now what we could do is introduce a 3rd index with kind and old data will not be accessible when kind tag is there from user but I couldn't understand the working of cutoff_time. How will it help the storage to make decisions?

right now the cutoff isn't especially useful because the UI ticket for querying with span kind is still not implemented. If it were implemented we would have to decide how to deal with that.
I also think we should include support for this query in the storage capabilities API so that UI could not try to query by kind if the backend doesn't support that.


Update README.md

After two days I have concluded that to handle CORS we must use APP service CORS.
Please suggest if there is any way around to use FastAPI CORS. If there is none, i would love to include the information into the documentation

@yugyesh Thanks for the suggestion! Each of the different services on Azure have different way to enable CORS. This particular repo is set up for deployment with Azure API Management in front of an Azure function, so CORS support should be setup in the API management policy, like detailed here: https://learn.microsoft.com/en-us/azure/api-management/cors-policy
Are you deploying this to a different architecture than the one set up in the infra/ folder?

@yugyesh Thanks for the suggestion! Each of the different services on Azure have different way to enable CORS. This particular repo is set up for deployment with Azure API Management in front of an Azure function, so CORS support should be setup in the API management policy, like detailed here: https://learn.microsoft.com/en-us/azure/api-management/cors-policy
Are you deploying this to a different architecture than the one set up in the infra/ folder?


I keep getting this error -

File "main.py", line 115, in main
loader = DataLoader(FilePaths.fnTrain, Model.batchSize, Model.imgSize, Model.maxTextLen)
File "/Users/adarsh/Desktop/SimpleHTR/src/DataLoader.py", line 43, in init
assert len(lineSplit) >= 9
AssertionError
My training file looks like this.
words.txt

there is something wrong with the line-breaks which I marked as [LF]:
a01-000u-00-00 X X X X X X X Any [LF]
[LF]
a01-000u-00-01 X X X X X X X Electrons

There must not be empty lines. Maybe some OS-specific problem (maybe something like: write words.txt e.g. with Linux and read with e.g. Windows).

My os is macOS Mojave. I have removed all the white spaces and the words.txt looks like this
I still keep getting the same error. Am I missing something?
words.txt

there are still line-breaks in your file.

I was able to resolve it thank you!


Breaking a locked chest loses all items

Title says it all, the chest was locked and broken, and all items dissapeared

This was a pretty simple fix actually and with it performance might be improved as well. You will see this fix soon in 0.4.0, so check Ore later tonight or early tomorrow morning.
Thanks for the report.


v3.7.2

fix: prevent postcss parse syntax error (#212)

:tada: This PR is included in version 3.7.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Map Upgrade

After creating a map with club locations, the upgrade focuses on additional features:

improving the zoom of the map so it doesn't disappear when it's too close,
correct scaling of icons on the map
links leading to the club description page in the window (other issue)

Okay, the first thing I added is that when multiple clubs are on the same level so to speak, they now accumulate and then it gives the number of clubs in the area

https://github.com/kibolApp/kibolApp/assets/115737114/39fc5494-fc6f-4e00-91ab-e870894adfa7
For now under right mouse button is zooming in to closest football club.


updateValue not working

Hi, I am having an issue updating value in my textfields.  I have a screen that display a listview of values.  when i click one of the item in the list, it will take me to another screen that display my reactive form.  when I display the screen with the form, I am trying to update the value of the textfields with the values that had been past to the form but it is not working for me.  here is partial code

class AddEditIncomeForm extends StatelessWidget {
  AddEditIncomeForm({
    Key key,
    this.incomeTransactionType,
    this.incomeData
  }) : super(key: key);

  final String incomeTransactionType;
  final IncomeDetailListResult incomeData;
  FormGroup get form => fb.group(<String, dynamic>{
    'amount': FormControl<String>(validators: [Validators.required]),
    'frequency': FormControl<String>(),
  });

  @override
  Widget build(BuildContext context) {
    final database = Provider.of<AppDatabase>(context);

    form.control('frequency').value='test';
    this.form.value = {
      'amount': incomeData.actualAmount.toString(),
    };

    return Scaffold(
      appBar: AppBar(title: Text(incomeTitle), backgroundColor: colorPrimary,),
      floatingActionButtonLocation: FloatingActionButtonLocation.endTop,
      floatingActionButton: FloatingActionButton(
        backgroundColor: colorPrimary,
        onPressed: () {
        },
        child: Icon(
          Icons.save,
        ),
      ),
      body: SingleChildScrollView(
        physics: ClampingScrollPhysics(),
        child: ReactiveFormBuilder(
          form: () => this.form,
          builder: (context, form, child) {
            return Container(
              margin: EdgeInsets.all(13.0),
              child: Column(
                children: [
                 ReactiveTextField<String>(
                     textAlignVertical: TextAlignVertical.center,
                     keyboardType: TextInputType.number,
                    formControlName: 'amount',
                   decoration: InputDecoration(
                       labelText: incomeAmount,
                      labelStyle: TextStyle(
                        fontSize: text_size_20
                   ),
               border: OutlineInputBorder(),
              prefixIcon: Icon(Icons.attach_money, color:green),
            ),
          validationMessages: (errors) => {
          ValidationMessage.required: 'Amount must not be empty',

        );

        ReactiveTextField<String>(
                     textAlignVertical: TextAlignVertical.center,
                     keyboardType: TextInputType.number,
                    formControlName: 'frequency',
                   decoration: InputDecoration(
                       labelText: incomeAmount,
                      labelStyle: TextStyle(
                        fontSize: text_size_20
                   ),
               border: OutlineInputBorder(),
              prefixIcon: Icon(Icons.attach_money, color:green),
            ),
          validationMessages: (errors) => {
          ValidationMessage.required: 'frequency must not be empty',

        );,

                ],
              ),
            );
          },
        ),
      ),
    );
  }

i tried using different way to set the values such as  using control  or form.value{} and so on but the textfield doesnt get updated with the values. they stay blank
form.control('frequency').value='test';
    this.form.value = {
      'amount': incomeData.actualAmount.toString(),
    };

am I doing something wrong?  can someone help?  As mentioned above, I am passing values from one screen to my screen which contain the form and trying to update the textfields.

Hi @rodriger06,
Thanks for using Reactive Forms and for the issue.
You first need to understand two things:
1- Each time your widget builds you are creating a new FormGroup:
// calling this `get` will always create a new form group
FormGroup get form => fb.group(...);

So when you update the value you are not updating the value of the FormGroup bound with the ReactiveFormBuilder.
2- You should update your form value in a controller/viewmodel/provider/bloc/etc, not in the build method. Remember that a FormGroup or FormControl is your model and you should not update them when building the widget, but independently.
For example, in your case, I suggest you create a Provider that holds the definition of the FormGroup.  Then you access that provider within your AddEditIncomeForm widget and bind it to a ReactiveForm. And before navigate to the screen with the AddEditIncomeForm you can access your provider (from anywhere in your app) and update the controls.
I hope you get the idea. If you still have questions don't hesitate to ask me again.
Best regards.

Hi joanplablo, thank you for your input.  I really appreciate it.  I am not 100% sure how to create the provider and bind it to the reactiveform.  do you have some sample code that I can use based on my example?  It will be very helpful. thanks in advance

hi joanpablo,
I managed to do the following:
i created a model with the form defined
import 'dart:core';

import 'package:flutter/material.dart' ;
import 'package:provider/provider.dart';
import 'package:flutter/services.dart';
import 'package:reactive_forms_widgets/reactive_date_time_picker/reactive_date_time_picker.dart';
import 'package:reactive_forms_widgets/reactive_dropdown_search/reactive_dropdown_search.dart';
import 'package:reactive_forms/reactive_forms.dart';

class IncomeViewModel {
  FormGroup get form =>
      fb.group(<String, dynamic>{
        'amount': FormControl<String>(validators: [Validators.required]),
        'frequency': FormControl<String>(),
      });

  void updateValues(IncomeDetailListResult incomeData2)  {
    this.form.value = {
      'amount': incomeData2.actualAmount.toString(),
      'frequency': incomeData2.frequency,
    };
  }
}

then I call this class before calling my form screen.  i called it like this
final viewModel = new IncomeViewModel( );
viewModel.updateValues(transaction);`

then in my form, i have the following:
class AddEditIncomeForm extends StatelessWidget {
  AddEditIncomeForm({
    Key key,
    this.incomeTransactionType,
    this.incomeData
  }) : super(key: key);

  final String incomeTransactionType;
  final IncomeDetailListResult incomeData;
  FormGroup get form => fb.group(<String, dynamic>{
    'amount': FormControl<String>(validators: [Validators.required]),
    'frequency': FormControl<String>(),
  });

  @override
  Widget build(BuildContext context) {
    final database = Provider.of<AppDatabase>(context);
    **final viewModel = Provider.of<IncomeViewModel>(context, listen: false);**

    form.control('frequency').value='test';
    this.form.value = {
      'amount': incomeData.actualAmount.toString(),
    };

    return Scaffold(
      appBar: AppBar(title: Text(incomeTitle), backgroundColor: colorPrimary,),
      floatingActionButtonLocation: FloatingActionButtonLocation.endTop,
      floatingActionButton: FloatingActionButton(
        backgroundColor: colorPrimary,
        onPressed: () {
        },
        child: Icon(
          Icons.save,
        ),
      ),
      body: SingleChildScrollView(
        physics: ClampingScrollPhysics(),
        child: **ReactiveForm(
          formGroup: viewModel.form,**
          child: Container(
              margin: EdgeInsets.all(13.0),
              child: Column(
                children: [
                 ReactiveTextField<String>(
                     textAlignVertical: TextAlignVertical.center,
                     keyboardType: TextInputType.number,
                    formControlName: 'amount',
                   decoration: InputDecoration(
                       labelText: incomeAmount,
                      labelStyle: TextStyle(
                        fontSize: text_size_20
                   ),
               border: OutlineInputBorder(),
              prefixIcon: Icon(Icons.attach_money, color:green),
            ),
          validationMessages: (errors) => {
          ValidationMessage.required: 'Amount must not be empty',

        );

        ReactiveTextField<String>(
                     textAlignVertical: TextAlignVertical.center,
                     keyboardType: TextInputType.number,
                    formControlName: 'frequency',
                   decoration: InputDecoration(
                       labelText: incomeAmount,
                      labelStyle: TextStyle(
                        fontSize: text_size_20
                   ),
               border: OutlineInputBorder(),
              prefixIcon: Icon(Icons.attach_money, color:green),
            ),
          validationMessages: (errors) => {
          ValidationMessage.required: 'frequency must not be empty',

        );,

                ],
              ),
            );
        ),
      ),
    );
  }

still i dont see the values updated in the reactive text field.  am I still missing something? please provide any feedback. thanks  in advance

Hi @rodriger06
If you want quickly see your example running you can update your formGroup inside the builder of the ReactiveFormBuilder.
ReactiveFormBuilder(
          form: () => this.form,
          builder: (context, form, child) {
//update form here
 }

But that is not what I recommend.
What I always recommend is to use a state management library. For example I can see you are using Provider package, that's great. In the next comment I will show you an example

In you viewmodel class change this:
class IncomeViewModel {
  FormGroup get form =>
      fb.group(<String, dynamic>{
        'amount': FormControl<String>(validators: [Validators.required]),
        'frequency': FormControl<String>(),
      });
}

to this:
class IncomeViewModel {
  final form = fb.group(<String, dynamic>{
        'amount': FormControl<String>(validators: [Validators.required]),
        'frequency': FormControl<String>(),
      });
}

Hi joanpablo,
after changing the IncomeViewModel class, I can see the form is now updating the textfields.  thanks a lot.  I have one more question.  I have a reactive button  ReactiveFormConsumer
ReactiveFormConsumer(
                    builder: (context, form, child) {
                      return RaisedButton(
                        child: Text('SAVE'),
                        onPressed: form.valid ? () => print(form.value) : null,
                      );
                    },
                  ),

for this button to become active, i need to filled out the required fields.  When I fixed the IncomeViewModel class based on your suggesstions, the fields are now populating. however, the ReactiveFormConsumer becomes active even though not all required field are updated in my model class. here are my questions:

how do I fix the ReactiveFormConsumer button so that when I update my form from values pass from another screen, the button will still be inactive ? see pic attached of active button circled in red
the rest of the blank fields are required. i only updated the first two but the button is active even though im using ReactiveFormConsumer . the button should had been grey out when inactive and blue when active.

Instead of a ReactiveFormConsumer button, I want to create a regular button that will be active all the time. however, when user press on the button and the required fields are not populated with values, the fields will turn red and the error messsage will come up to indicate the user that the fields in red needs to be filled out before proceeding.  the error message should show below the textfield.   how can i do that?  can you provide sample code ?

thanks in advance

Hi @rodriger06,
There are several questions, let's go in parts (like Jack the Ripper said) :)
First, if you have this code:
onPressed: form.valid ? () => print(form.value) : null,

and your button is always active, then your FormGroup is always valid. So you need to check your validators and the default value you are assigned to controls. (you can show me the definition of your form, so I can help you to detect the error)
The second question about having a button always active:
onPressed: () {
   if (form.invalid) {
      form.markAllAsTouched();
   } else {
      // some business logic here
   }
}

Hi @rodriger06,
I will close the issue now because I'm guessing you have achieved your goals, trying to update a control's value. Don't hesitate to open it again or open a new one if you have more questions.
Best regards.


SSR Declarative Shadow DOM in html literal with interpolations

Which package(s) are affected?
SSR (@lit-labs/ssr)
Description
When attempting to render DSD via the SSR package and including an interpolation in the shadow DOM section, Lit throws an assertion error. A simplified version of what I'm trying to do:
import {render} from '@lit-labs/ssr';

const name = 'World';
render(html`

    <template shadowrootmode="open">

Hello, ${name}!

    </template>

`);

This throws the following error when consuming the rendered template:

Error
Error: unexpected final partIndex: 0 !== 1
    at renderTemplateResult (file:///home/doug/.cache/bazel/_bazel_doug/0000b3b3fa770637f16a71f2a8299a7e/execroot/rules_prerender/bazel-out/k8-opt-exec-2B5CBBC6/bin/node_modules/.aspect_rules_js/@lit-labs+ssr@3.1.5/node_modules/@lit-labs/ssr/lib/render-value.js:508:15)
    at renderTemplateResult.next (<anonymous>)
    at renderValue (file:///home/doug/.cache/bazel/_bazel_doug/0000b3b3fa770637f16a71f2a8299a7e/execroot/rules_prerender/bazel-out/k8-opt-exec-2B5CBBC6/bin/node_modules/.aspect_rules_js/@lit-labs+ssr@3.1.5/node_modules/@lit-labs/ssr/lib/render-value.js:342:16)
    at renderValue.next (<anonymous>)
    at render (file:///home/doug/.cache/bazel/_bazel_doug/0000b3b3fa770637f16a71f2a8299a7e/execroot/rules_prerender/bazel-out/k8-opt-exec-2B5CBBC6/bin/node_modules/.aspect_rules_js/@lit-labs+ssr@3.1.5/node_modules/@lit-labs/ssr/lib/render.js:28:12)
    at render.next (<anonymous>)
    at collectResult (file:///home/doug/.cache/bazel/_bazel_doug/0000b3b3fa770637f16a71f2a8299a7e/execroot/rules_prerender/bazel-out/k8-opt-exec-2B5CBBC6/bin/node_modules/.aspect_rules_js/@rules_prerender+lit_engine@0.0.0/node_modules/@rules_prerender/lit_engine/index.mjs:25:16)
    at renderToHtml (file:///home/doug/.cache/bazel/_bazel_doug/0000b3b3fa770637f16a71f2a8299a7e/execroot/rules_prerender/bazel-out/k8-opt-exec-2B5CBBC6/bin/node_modules/.aspect_rules_js/@rules_prerender+lit_engine@0.0.0/node_modules/@rules_prerender/lit_engine/index.mjs:11:28)

I originally thought I was experiencing https://github.com/lit/lit/issues/2246, however I believe that has been fixed and I'm still seeing the same issue.
I'm not sure if static expressions are expected to be required when rendering DSD, however even using those I get the same error. I think it should be ok for a DSD template to use dynamic expressions since it gets immediately turned into DOM nodes like any other DOM node, but I might not be fully understanding the security story. I'd be very interested to know if rendering DSD inherently requires all the expressions to be static.
Reproduction
Lit Playground reproduction
Note this reproduction uses includeShadowRoots in DOMParser to apply SSR in a browser environment. As such it is a Chrome-only reproduction, however you can put a similar repro in a Node environment and get the same error.
Workaround
I have not found a workaround.
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
lit-html - 2.7.5, @lit-labs/ssr - 3.1.5 (current latest for both)
Browser/OS/Node environment
Reproduces in both:

Chrome 115
Node: 18.12.1

Lit 2.0 doesn't support bindings in <template>s, even in client code. We found this was a very rare use case that had a non-negligible cost on all templates to support. It also has unintuitive semantics to some: updating values in the template bindings does not update update any instances stamped from that template, only the template itself. That's better with declarative shadow DOM, but it was a consideration with removing this feature before DSD existed.
The way to do this now is to use a static template.

Static templates have the same error. Or are you saying that once this bug is fixed the recommendation will be to use static templates?
Would that mean that you have to use literal or unsafeStatic for every interpolation, or could I use dynamic expressions just as long as they use the static html import? I'm wondering how limiting this constraint would be for SSR'd DSD use cases.
The workaround I can think of is to put the interpolations in light DOM with <slot name="..."> to put them in the right place, though that would leak the content and allow it to be overriddable by the component's parents, which might not be desired. Also it just has a really awkward DX.

We should be able to support this with our upcoming server-only templates feature. I'll take this on.


chore: rename blockchain connector to Application connector

Because

https://github.com/instill-ai/protobufs/pull/274 removed the Blockchain
connector type

This commit

Updates compogen with the new connector type

Merging as it only modifies compogen, production code isn't affected.


Expand data base by locations, services and category

Description
Only office locations and services listed here are valid.
Valid categories are constructed as follows: "Safe Keyword of a Service (Column B)" -> "Category (Typ 2)"
So a category could e.g. be "4HANA ->Technical Issue"   or   "Illustrator -> Account Management"
This is done for each combination.
User story

As a developer
I want / need all relevant data to be included in the data base
So that I can refer to them if necessary

Acceptance criteria

[ ] office locations are included in the data base
[ ] services are included in the data base
[ ] categories are build as described above and included in the data base

Definition of done (DoD)

Work products are uploaded to the Github repository and merged to the main branch
If necessary, the bill of materials section of the planning documents is updated
Code/feature passes suited tests
Code is peer-reviewed
Help documentation (README) is updated
Fits into our architecture, where possible

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

act: 3


Wrong bits getting written/read in BigEndian mode?

I seem to have run into some edge case where bitbuffer ends up emitting (and reading) the incorrect sequence of bits.
Minimal repro in https://github.com/cswinter/bitwriter-minimal-repro/blob/main/src/main.rs:
fn main() {
    let mut bytes = vec![];
    let mut writer = bitbuffer::BitWriteStream::new(&mut bytes, bitbuffer::BigEndian);
    let num1 = 0b11000_00111110u64;
    let num2 = 0b1111111_11100100_00100100_11011101_00000011_11100000_01100111_11011011u64;
    writer.write_int(num1, 13).unwrap();
    writer.write_int(num2, 63).unwrap();

    let buffer = bitbuffer::BitReadBuffer::new(&bytes, bitbuffer::BigEndian);
    let mut reader = bitbuffer::BitReadStream::new(buffer);
    let num1actual = reader.read_int::<u64>(13).unwrap();
    let num2actual = reader.read_int::<u64>(63).unwrap();

    println!("EXPECTED: {:013b}{:064b}", num1, num2);
    print!("BYTES:    ");
    for byte in bytes { print!("{:08b}", byte); }
    println!();
    println!("READ:     {:013b}{:064b}", num1actual, num2actual);
    assert_eq!(num1actual, num1);
    assert_eq!(num2actual, num2);
}

This gives me the following output:
(base) clemens@LAPTOP-NV53OUEJ:~/src/bitwriter-minimal-repro$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/bitwriter-minimal-repro`
EXPECTED:<PHONE_NUMBER>1100111111111100100001001001101110100000011111000000110011111011011
BYTES:<PHONE_NUMBER>1100111111111100100001001001101110100000011110000001100111110110110000
READ:<PHONE_NUMBER>1100011111111110010000100100110111010000001111000000110011111011011
thread 'main' panicked at src/main.rs:20:5:
assertion `left == right` failed
  left:<PHONE_NUMBER>588108763
 right:<PHONE_NUMBER>178288091
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The 63 bit write seems to randomly delete a 1 bit in the middle of the u64, and then when reading it back out a 0 seems to be added at the beginning. The same code runs without triggering the assertion when using LittleEndian mode.

Can you check again on latest master to see if https://github.com/icewind1991/bitbuffer/pull/6 fixed it?

That doesn't seem to fix it

That doesn't seem to fix it

Oops deleted because it was not making any sense haha!

Should be fixed with b46bc881f0922c376e69b4eaee4efbd3b77f409b, released with 0.11


Check for index bounds before accessing Updates array

Before accessing the array, added a check for index against the size of Updates array to avoid IndexOutOfRangeException exception.

Do we know what can cause this situation to arise?

I am getting Index out of bound error after the changes from merge request #25.  The error is only when adding videoDelay to ActiveRecording.VideoStartTimeStamp. Removing the change fixes the issue as well.


Publish 8.0-20230131000316+0000

Publish 8.0-20230131000316+0000

@bot-gradle test and merge

I've triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

I've triggered a build for you.


Bulkrax OAI importer issues

I created two Bulkrax OAI importers on demo.adventist-knapsack. Both importers pulled 10 records from the adl:image OAI set. The importers both have status of "Complete (with failures)." The error code is ArgumentError. All 20 records came into the repo, but no files came in.

First importer, selected to skip thumbnails
Second importer, selected to include thumbnails

The importers did not map metadata exactly according to the ADL and Hyku Maps document.
Work on Demo (first importer): https://demo.adventist-knapsack-staging.notch8.cloud/concern/images/20119303_untitled?locale=en
Work on ADL Prod (first importer): https://adl.b2.adventistdigitallibrary.org/concern/images/20119303_untitled
Work's OAI metadata: http://oai.adventistdigitallibrary.org/OAI-script?verb=GetRecord&metadataPrefix=oai_adl&identifier=20119303
Work on Demo (second importer): https://demo.adventist-knapsack-staging.notch8.cloud/concern/images/20119409_may_covington?locale=en
Work on ADL Prod (second importer): https://adl.b2.adventistdigitallibrary.org/concern/images/20119409_may_covington
Work's OAI metadata: http://oai.adventistdigitallibrary.org/OAI-script?verb=GetRecord&metadataPrefix=oai_adl&identifier=20119409
MAPPING ISSUES:

< identifier> should map to the Identifier (local) field. It did not map at all.
<aark_id> should map to AARK Identifier. It mapped there and also mapped to Identifier (local). Note that on prod it maps to both, creating a second Identifier (local) entry after the contents of < identifier > map there.
Related URL and Thumbnail URL failed to map. No files imported. No URL shows in the related URL field. Expected behavior would bring in files and show the URL.

Continued testing shows that all OAI sets import with status "Complete (with failures)." Consistent ArgumentError across all tests.
Checking metadata mapping for all OAI sets and work types that import via existing Adventist OAI shows same identifier and AARK identifier mapping errors and failure to import files. Other fields map as expected.
Work types tested:
Published work (adl:book and adl:issue)
Generic work (adl:other)
Thesis work (adl:thesis)

Please note that importers I created for testing on 10/9 did not have files attached at the time, and no files have rendered in the repo. Today (10/11) I reran an adl:image importer and selected "reharvest." The files are still not showing up.
https://demo.adventist-knapsack-staging.notch8.cloud/importers/35?locale=en

Triage:

On previous adventist we're using v5.3.0
Knapsack uses v5.4.1

I have compared the parser mappings and Knapsack adds a handler for description.abstract import.  Which means we should have the same mappings.
I'll be looking into the loading sequence as well as the difference between v5.3.0 and v5.4.1 to see what might have introduced the errors.

One possible bug introduced is from this PR: https://github.com/samvera-labs/bulkrax/pull/853

Team, I've continued testing Bulkrax imports to Knapsack, and I want to report that a CSV with a valid URL in the Related URL field has not imported the file. The importer says it failed due to an argument error, but the metadata has imported and the work is created. The file is what's missing, and it did import correctly on SDAPI staging (see links below). The title of this ticket should perhaps more accurately read "Bulkrax importer issues on Knapsack." Both OAI and CSV imports are impacted.
Knapsack (file failed to import): https://demo.adventist-knapsack-staging.notch8.cloud/importers/80?locale=en
SDAPI Staging (file imported as expected): https://sdapi.s2.adventistdigitallibrary.org/importers/141?locale=en
This is critical and I would mark this ticket among the highest priorities to fix with whatever remains of our Knapsack/upgrade hours.

An update: As of today (11-29-2023), trying to create either a CSV or OAI importer causes an error message to appear, and nothing works. The importers don't create and fail. They just don't create.

Thanks for checking @KatharineV we'll take a look

@KatharineV seems it was a Fedora issue, we've since restarted it and it should be working, can you check again when you get a chance?

@kirkkwang The CSV importer worked beautifully this time: https://adl.adventist-knapsack-staging.notch8.cloud/importers/35?locale=en
The OAI importer looks successful, but the works it created won't open. I can see them in the catalog view, but trying to open the works generates an error message. Could it be related to the Fedora issue?

https://adl.adventist-knapsack-staging.notch8.cloud/concern/theses/20121848_problems_in_presenting_the_gospel_to_the_hindu_mind

@KatharineV I believe this issue has been resolved. I clicked on the link you've provided and see the work.

dupe


Fix line algorithm implementation

This implements the Bresenham's line algorithm from the wikipedia page with some slight modifications.
fixes #11

Thanks for taking a crack at this! A couple of things:

Can you rustfmt your code please?

It would be good to have at least a primitive unit test for this code, just to catch any glaring problems. I wrote a crappy one for my fix which passes when pasted into this PR. It's not the greatest test, but it should hopefully catch any regressions in the future.

I've added tests for each octant. I'm not sure if its the best way to test things, but it should catch regressions.

Looks good! I like your approach to the testing, much better than mine as it actually checks the line. Thanks for fixing the lines!


Trim long workspace name

@Julesssss Can you please review this?
Details

Trimmed workspace name when its too long

Fixed Issues

$ #4747
Tests

Test on WorkspaceSidebar
Tested on Home Sidebar

QA Steps

Create an account with a very long email
Create a new workspace
Then visit the workspace and verify that it doesn't get trimmed outside the container.

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

🚀 Deployed to production by @roryabraham in version: 1.0.88-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

This has been deployed to production and is now subject to a 7-day regression period.
If no regressions arise, payment will be issued on 2021-09-08.  :confetti_ball:

@akshayasalvi when creating new PRs, can you please include the full link to the GH issue and not just the issue number?
$ https://github.com/Expensify/App/issues/4747 instead of

Okay noted. Will do.


Get last inserted rows

This might be a dump question. Suppose I inserted a new row into a table with db.NamedExec, what is the recommended way to get the inserted row? (Especially I need the ID).
Currently, I'm doing something like
res, _ := DB.NamedExec(s, obj)
id, _ := res.LastInsertId()

However, I don't think this approach supports concurrent request.

@hangll it depends on your database.  Some databases do not support LastInsertId but have other methods of retrieving this information, eg in PostgreSQL you can do INSERT ... RETURNING ... and then do db.Query or db.Get


iCloud-sync not working properly when other device has not been used for several days

In the past 3 weeks, I have experienced this several times. For this report, I set up a test and recorded it.

On Mac Big Sur in NNW 6.0.3b1 I had read everything, did one more manual sync and quit NNW. (screen-video)

On iPad I opened NNW 6.0 (not used for a week). After syncing for a while the Unread count showed 2824. (screen-video)

Back on the Mac, NNW showed 1702 Unread after sync. (screen-video)

The timeline on Mac shows that only 5 articles were really unread since I started the test at 1800 h. (screenshot)

Expected behaviour: The read status from Mac should have been synced to iPad. Instead, lots of unreads were synced back to NNW Mac. - In the past, I experienced the same with NNW on iPhone and NNW on Monterey beta.
I'll send the link to the recordings to Maurice per PM.

This was due to the sync database having records in it that it couldn't find in the regular database, so it would give up and stop the sync process. We now continue to process even when the sync database can't find records in the regular database.


Explicitly set the type by workspace creation

This is for supporting the creation of compute workspaces under root (default is organization under root).
Signed-off-by: Frederic Giloux<EMAIL_ADDRESS>

/lgtm


KeyError: 'background'

When I train on custom dataset and keep auto-poses-scale False i get the following error. I have used Lidar odomtery instead of COLMAP and created a transforms,json. I have hence kept the load-pcd-points false as well
/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/nerfstudio/models/splatfacto.py", line 861, in get_loss_dict     gt_img = self.composite_with_background(self.get_gt_img(batch["image"]), outputs["background"]) KeyError: 'background'
ns-train dn-splatter --max-num-iterations 100000 normal-nerfstudio --data DATA_DIR --load-pcd-normals False --load-3D-points False --auto-scale-poses False

Can you try adding this command:
--pipeline.model.random_init
ns-train dn-splatter --max-num-iterations 100000 normal-nerfstudio --data DATA_DIR --load-pcd-normals False --load-3D-points False --auto-scale-poses False

Nopes. Same issue. I set this to True

Nopes. Same issue. I set this to True

Okay it could be the camera pose conventions then? If the crash comes at the first training iteration, this could explain it, i.e. the camera poses do not see any gaussians.

Does the normal splatfacto model work with your dataset?

I used splatfacto with normal-nerfstudio flag as I dont want to load the sfm points but it shows the following (grads are either not computed or found)
RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn

My best guess is the opencv conventions but this isnt the issue when I keep auto scale ON

I used splatfacto with normal-nerfstudio flag as I dont want to load the sfm points but it shows the following (grads are either not computed or found) RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn

Yes, this error occurs at the first training iteration when no gaussians are projected into the camera frame resulting in zero grads basically at the first iteration. This suggests to me that there is something off in the poses. How large do you think is the scale of your poses? I think the random initialization is hardcoded to be in a 10 unit cube, so if your poses are way larger than this, a camera could be outside of this cube and sees none of the initially random initialized gaussians.

Ill just list my experiments for better clarity
1 - I tried with a phone camera with lidar (gives trasnforms json with ns-process record3d) on a custom dataset without loading the pcd points and autoscale on and off both. It works fine and the predictions are okay
2- I try with a external lidar and camera setup. With auto poses scale on i get it to train but predictions are bad so i tried without that and these issues persist

How are you generating the transforms.json for the 2) option?

I used splatfacto with normal-nerfstudio flag as I dont want to load the sfm points but it shows the following (grads are either not computed or found) RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn

Yes, this error occurs at the first training iteration when no gaussians are projected into the camera frame resulting in zero grads basically at the first iteration. This suggests to me that there is something off in the poses. How large do you think is the scale of your poses? I think the random initialization is hardcoded to be in a 10 unit cube, so if your poses are way larger than this, a camera could be outside of this cube and sees none of the initially random initialized gaussians.
The exact line of code where the random init occurs is here

My poses were initially higher than 10 as I was assing trasnforms wrt a world frame now i calculated transforms wrt the first camera frame and the position should be closer

How are you generating the transforms.json for the 2) option?

I get the camera to world transformation, images, camera info from ROS

How are you generating the transforms.json for the 2) option?

I get the camera to world transformation, images, camera info from ROS

Yeah, I would carefully check what camera pose convention is used by your ROS application. There is some info here that could help you. Since its ROS... it could very well be OpenCV (my bias is just that this is probably the more conventional coordinate system for robotics people and ROS) and thus a transform of something like pose @ torch.diag([1,-1,-1,1], dtype=pose.dtype, device=pose.device) is required.

ns-process data and the output transforms.json is all in opengl coordinate system. The colmap and coolermap (subclassed from colmap with additional normal stuff needed in this project) have a conversion from the OpenCV colmap output to opengl.

one more doubt regarding the auto poses scale. Will this play a role in better/correct rendering. Because for the phone data I dont find a lot of improvement in the end except there may be scale ambiuity in case of final mesh rendering.

one more doubt regarding the auto poses scale. Will this play a role in better/correct rendering. Because for the phone data I dont find a lot of improvement in the end except there may be scale ambiuity in case of final mesh rendering.

Sure let me try this. Ill get back. Thank you

one more doubt regarding the auto poses scale. Will this play a role in better/correct rendering. Because for the phone data I dont find a lot of improvement in the end except there may be scale ambiuity in case of final mesh rendering.

Anecdotally, I think I might have observed similar behaviour. But I think the scale of the reconstruction should not have an effect on the final quality... so it is indeed strange but I have no good answer for this right now.

Okay got it.

Initial render in the viewer seems much better. Have to check the depth predictions though.

Street view could be quite challenging for dn-splatter which is mainly meant for indoor scenes of finite scale. With outdoor scenes, the background like sky is hard to model with just Gaussian. I have not personally tested street view scenes so would be interesting to see what happens.

It is rather a large indoor scene. To be accurate im collecting data from a robot in an hospital env in simualtion. But yes I agree

Cool! @karthik101200, maybe you can post some screenshots if you get dn-splatter to work on your data, I would be interested to see.