Show frame in jupyter notebook as pandas.DataFrame

I tried to show frame in jupyter notebook as pandas.DataFrame, but it didn't work well.
The best result I got is:

It's not intuitive.
I hope there is a method which could help us show frame as pandas.DataFrame do in jupyter notebook:

Check out this repo.
https://github.com/WalternativE/Deedle.DotNet.Interactive.Extension
@WalternativE is working on an extension in dotnet kernel to show frame and series properly. We have chatted on Slack. This extension will be eventually added here and will be published on Nuget.
If you would like to try out now. Follow the steps.

Follow the nuget command here https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-sources to add https://www.myget.org/feed/Packages/gregs-experimental-packages to your local sources.
Run #r "nuget: Deedle.DotNet.Interactive.Extension,0.1.0-alpha1 in your kernel.


Can't roll back a workload

Setup

Rancher version: v2.6-head

Describe the bug
When attempting to roll back a workload, an error appears.
To Reproduce

From the dashboard, create a Deployment using nginx:latest
Go to edit config and create a new revision (I added some random environment variables)
Roll back the workload and see the error

Result

Expected Result
Workload is successfully rolled back to the previous revision

I'm closing this issue because I just followed the same steps as above, and I can no longer reproduce this in v2.6-head.


added mongo storage client

since this uses monk, there are some known bugs that are commonly encountered if the node version is 4 or above.
Notably:
https://github.com/Automattic/monk/issues/91
https://github.com/Automattic/monk/issues/114
I chose Monk for its simplicity, though Mongoose is probably the safer bet if people want to use newer node versions (i'm using 0.12 for this currently).
Just an FYI!

I love that Monk returns promises when you don't give it a callback. I hadn't heard of it, so I'm glad I saw this. I liked it so much that I went off and made my own simple adapter (I don't intend to hijack your PR, and I'm focusing on Harmony anyway.) My use-case needed more than the standard 3 stores.

@audibleblink great to see you found use from Monk :)


What's the difference between EpubViewer and ReactViewer

I'm wondering why there are two different implementations? What is the thinking behind it?

It's simply a level difference in abstraction. If you want to test and implement simply, you can use ReactViewer, and if you want to implement more advanced functions, you can use EpubViewer.


synth script checkin

Fixes #<issue_number_goes_here> (it's a good idea to open an issue first for discussion)

[x] Tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #12   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines           4      4
=====================================
  Hits            4      4

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 9432a4b...4551955. Read the comment docs.


Docs unclear on difference between client.documents.read and client.read

I think there is a statement in the docs that is backwards.  In the section about managing collections it says the following:
DatabaseClient.read: Read one or more JavaScript objects from the database by URI. Unlike DatabaseClient.documents.read, this method does not return document descriptors. Rather, it returns just the document content, in the same order as the input URIs.
It seems to be the other way around from what I can tell.  Databaseclient.documents.read returns the full document contents, while DatabaseClient.read returns only the descriptors.
This is on this page of the docs:
http://docs.marklogic.com/guide/node-dev/documents#id_22398

The documentation is right. If DatabaseClient.read() should return the content.

Matt, I'm not able to reproduce this issue on develop, and we do have a unit test for the db.read() shortcut:
https://github.com/marklogic/node-client-api/blob/develop/test-basic/documents-quick.js#L103
Can you provide more detail about how to reproduce the issue?  Is there any chance you're writing a document descriptor with the db.write() shortcut (in which case the descriptor would be saved as content)?
FWIW, I did discover there's a bug with double encoding of the defaulted / directory so the generated path of a db.write() shortcut starts with "%2F" -- but that's likely unrelated.

I see it on both branches using the following example. I still haven't tried upgrading my server yet, though, so let me try that and report back.
var marklogic = require('marklogic');
var my = require('./my-connection.js');
var db = marklogic.createDatabaseClient(my.connInfo);

db.read('example.json').result(
    function(documentsa) {
      for (var i in documentsa)
        console.log(JSON.stringify(documentsa[i], null, 2));
    },
    function(error) {
      console.log(JSON.stringify(error));
    }
);

db.documents.read('example.json').result(
    function(documentsb) {
      for (var i in documentsb)
        console.log(JSON.stringify(documentsb[i], null, 2));
    },
    function(error) {
      console.log(JSON.stringify(error));
    }
);

When I run that script, I get the following:
[
  {
    "uri": "example.json",
    "category": [
      "content"
    ],
    "format": "json",
    "contentType": "application/json"
  }
]
[
  {
    "content": {
      "a": "one",
      "b": "two"
    },
    "uri": "example.json",
    "category": [
      "content"
    ],
    "format": "json",
    "contentType": "application/json"
  }
]

Can you provide the code that writes example.json?

I just picked a random document that was lying about in my db, but evidence suggests I created it with the following server-side JS:
declareUpdate();
var anObj = {a: 'one', b: 'two'};
xdmp.documentInsert('example.json', anObj);

Upgraded server (clean install) to latest nightly and used the above SJS in QC to insert the document.  Got the same results.
Last thing I'm going to try is blowing away my project node_modules dir and reinstalling the API. My project is very old, so maybe it has strange archaeological artifacts in it.

Thanks for the info -- I'm seeing it too, looking into why the unit test is happy.

The bugs exhibits when the read() is on a single document -- the unit test reads two documents.

This bug was probably introduced by the optimization that skips multipart/mixed response processing when reading a single document.

Regression tests could be a single document write and single document read using the db.createCollection(), db.writeCollection(), and db.read() shortcut functions.

Ah, that explains it then.  My use case was also looking up a single document.  Thanks for the follow up info.

Added tests for single document read and writeCollection on nodejs-documents-quick.js


Release-component info should take release and component

Release-component info should take release and component
instead of ID.
JIRA: PDC-1215

LGTM, and this also needed for global component, I think, so maybe you could include it as another commit in this pull request.

@xychu , yes, I think so for global component.

@xychu, ycheng will do the "global component info", this commit I will merge it to master branch.


Upload Ind3X

Team
Ind3X teams are experienced, professional and hard working teams trying to accomplish their tasks on time.
Ind3X Exchange is a global cryptocurrencies exchange platform focusing on security advancement and low transaction fees.
Links:
Website: https://ind3x.co.id
Exchange: https://exchange.ind3x.co.id
Whitepaper: https://ind3x.co.id/attachments/Ind3X-WHITEPAPER.pdf
Twitter: https://twitter.com/ind3xOfficial
Telegram: https://t.me/ind3x_official_chat_group
Discord: https://discord.gg/gdMEak4
Facebook: https://www.facebook.com/indExchange
Instagram: https://instagram.com/ind3xexchange
Medium: https://medium.com/@ind3xid
Gas Limit: 60000

Please remove an logo.  images/0x44d269b126443007C2241E034416100fB7fDe3cB.png


Re-enable the status update healthchecks

This commit reverts https://github.com/alphagov/email-alert-api/pull/238 to re-enable the healthchecks since we are now getting status update callbacks from Notify.
Trello: https://trello.com/c/31XA1mkY/449-integrate-email-alert-api-with-notifys-callback

We will probably have to clear out the existing delivery attempts otherwise this will be flagged as critical.

Note that we shouldn't deploy this until we disable these health checks on staging and integration as they won't support the status updates.


createHistory not found

Hello,
I have the following code:
import { createHistory, useBasename } from "history";
const browserHistory = useBasename(createHistory)({
    basename: "/foo"
});

This was working correctly with react-router version 3.0.0 and history version  3.2.1
I have just updated everything to the latest react-router version 3.0.2 and history to 4.5.1 and now I get an error saying that createHistory can not be found. I found some posts that said I shouldn't be using createHistory directly so changed the code to:
import { Router, useRouterHistory} from "react-router";
import { createBrowserHistory } from "history"
const thisbrowserHistory = useRouterHistory(createBrowserHistory)({ basename: "/foo"});

and now get an error saying "Uncaught TypeError: createHistory is not a function".
Thanks

You should revert your history to v3. history v4 is intended for use with React Router v4.

@pshrmn hey there, this broke for me as well when upgrading from 3.0.0 to 3.0.2, but I'm using import browserHistory from 'react-router/lib/browserHistory'; for my client.

@julianvmodesto Are you saying that history v4 was automatically installed when you updated React Router from 3.0.0 to 3.0.2? In the RRv3 package.json, the history dependency is set for ^3.0.0 which will not install a 4.x.x version of history.

Oops, sorry – similar issue, but different. I don't have history installed, I actually was importing
react-router/lib/browserHistory.
I fixed by importing the named modules, so 3.0.2 is good
 -import browserHistory from 'react-router/lib/browserHistory';
 -import Router from 'react-router/lib/Router';

 +import { Router, browserHistory } from 'react-router';

It automatically installed "version": "3.2.1" (looking in the package.json of history)
running npm install<EMAIL_ADDRESS>put version 3 of history in but the code still didn't work.

I have got to the bottom of the issue.
I am using TypeScript and the latest @types/react-router version gets a @types/history which is incompatible.

Hi,
I have the same issue as @SarahJNash : Uncaught TypeError: createHistory is not a function after reinstalling react-router and her dependencies. And I do not use TypeScript.
└─┬<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
I take this issue to ask how to handle the basename correctly with the latest version of react-router. I did not find any example in the official documentation and many old propositions are misleading now.


Deploying pmem csi driver with ndctl mode sector

I want to deploy the pmem csi driver where the ndctl mode of my pmem devices is "sector".
Throughout the document, the fsdax mode is recommended. I tried manually configuring the pmem devices before the deployment prcoess, this does not allow my node-setup daemonset to schedule the nodes and run the pods.
Kindly recommend a method that I can follow to achieve the objective.
Thanks

We removed support for sector mode in commit 35de1446b312953f3500c3a68b4502bcca876ad2 to simplify PMEM-CSI and because the upstream documentation makes it sound like the mode shouldn't be needed anymore:

Use this mode to host legacy filesystems that do not checksum metadata or applications that are not prepared for torn sectors after a crash. Expected usage for this mode is for small boot volumes. This mode is compatible with other operating systems.

App Direct enabled applications definitely don't need it. For plain IO it might make sense despite the somewhat dismissive description above: although ext4 and XFS are both not legacy filesystems, torn sector writes can happen with them and applications might have a problem with that.
May I ask what your motivation is for using sector mode? We could bring back support for it, we just need to understand what the priority is.

This is critical for databases applications otherwise data will be left corrupted

all I/O done against persistent memory is done at cache line granularity. This means that all I/O operations are converted by the driver into memory copies. Because the x86 architecture only guarantees write atomicity for 8 bytes at a time, applications and file systems that rely on write atomicity at the block/sector level can get their data corrupted by torn sectors in the event of a crash or power failure.
To avoid such a scenario, we can create namespaces in sector mode. In this mode, the driver maintains a data structure called the Block Translation Table (BTT) to make sure torn sectors do not happen. To learn more about BTT, read the article Using the Block Translation Table for sector atomicity. One of the implications of using sector mode is that all I/O needs to go through the driver, which means that context switches to the OS are again inevitable.

So you want to use PMEM as replacement for a local SSD? Is that just theoretical or are you planning some real deployments?

This is definitely for real time deployment. And the PMEMs will coexist along with the SSDs

Hi, I just wanted to ask is it possible to add the sector mode, if yes, can I rely on some timeline ?

It's not going to make it for the upcoming 1.0.0 release (due June or July). We don't have a plan for next release after that yet.
Can you share some more details about the cluster(s) you intend to deploy on (in particular, number of nodes and amount of PMEM) with me via private email (patrick.ohly at intel.com)? That'll help prioritize this feature request. Do you already work with someone from Intel on this deployment?

I have mailed you the details on the provided email address. Thanks.

Thanks! It sounds like this is more like an academic exercise. I'm very curious whether your experiment will show a significant advantage of using PMEM as storage vs. SSDs. However, until we know that, support for sector mode and  traditional IO in general remain low priority for PMEM-CSI.
What you can do in the meantime is to prepare volumes manually on each of your nodes and mount them under a well-known location, like "/pmem". Then in your pods, request access to that volume with a hostPath volume entry. That way you don't need PMEM-CSI.

Hi Patrick,
May I know if there's any plan to include the above stated requirements in
a future release.
It's not any academic exercise. Our product release depends on these
requirements. If it's feasible we can set up a call as well. This product
is being designed at HPE.
Thanks and regards
On Thu, 17 Jun, 2021, 3:58 pm Patrick Ohly, @.***>
wrote:

Thanks! It sounds like this is more like an academic exercise. I'm very
curious whether your experiment will show a significant advantage of using
PMEM as storage vs. SSDs. However, until we know that, support for sector
mode and traditional IO in general remain low priority for PMEM-CSI.
What you can do in the meantime is to prepare volumes manually on each of
your nodes and mount them under a well-known location, like "/pmem". Then
in your pods, request access to that volume with a hostPath volume entry.
That way you don't need PMEM-CSI.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/intel/pmem-csi/issues/991#issuecomment-863124412, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIYXTWB73QU3RBVIH7DRU3DTTHE57ANCNFSM46NVTUHQ
.


Lots of smaller docs improvements ("catch all" docs ticket)

Let's put a grab bag of small improvements here as we come across them (but bigger than "lets just fix this right away as we encounter them). Can split into separate tickets if some of these turn out too big.

Split Rendering 3D Meshes into multiple pages + make clear that this is a full "incrementally port JS to Rust" example
Add clearer information on what the stability of things is, and what we're focusing on (e.g. version numbers / labels).
General copyediting (make sure spelling and grammar is correct).
More information about our history / vision / etc.
More information about who this is for (both right now and at different stages in the future).
Info about headers for getting SharedArrayBuffer to work.

@stevekrouse notes from this morning:
https://github.com/vitejs/vite/issues/3909#issuecomment-934044912

deafultStyles: false

^ example of how to actually call the initialize function

Explain #repr(C)

Explain how to have a top level carogo file (for rust analyzer vscode) but set the dist build directory somewhere else

cargo watch -- cargo zaplib build

Explain how to use serde to send over json, including using derive feature in cargo.toml

Interactables (benchmark many vs 1 buffer)


[editor]: Support pyc in preview

Please add support for .pyc files to the editor preview.
Generated by adamraichu.zip-viewer

(Duplicated of #133)


Iterable Steps

Allow a step to define a collection from attr_accessors that should be iterated over and passed to the step method until fully processed
class WorkerWithForEachStep
  include Sidekiq::Worker
  include AcidicJob

  attr_reader :processed_items

  def initialize
    @processed_items = []
    super()
  end

  def perform
    with_acidity providing: { items: (1..10).to_a } do
      step :work_with_individual_item, for_each: :items
    end
  end

  def work_with_individual_item(item)
    @processed_items << item
  end
end

@julianrubisch: What do you think about the semantics?

That looks intriguing!
Could you cook up an example where you'd process these iterable items over several steps?

That looks intriguing!
Could you cook up an example where you'd process these iterable items over several steps?

Interesting idea. I need to tweak the implementation a bit, but I think I know how to make that possible. Will work on a PR with a text case tonight or tomorrow


🔬🧪🧬 [Refactor] (test) Divide the util functions about getting Zookeeper node path to common module.

Target

Divide the util functions about getting Zookeeper node path to common module.

Modify Code Scope

Testing Code

Common module

module _instance_value

Integration Test

module crawler

Effecting Scope

Nothing.

Description

Separate the util functions about getting node path of Zookeeper into a single object _ZKNodePathUtils.
Move the util object _ZKNodePathUtils into common module _instance_value.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1074

Relevant Lines:
1161

💛  - Coveralls


Vulnerability roundup 106: vim-8.2.3337: 1 advisory [7.8]

search, files

[ ] CVE-2021-3770 CVSSv3=7.8 (nixos-unstable)

CVE details
CVE-2021-3770
vim is vulnerable to Heap-based Buffer Overflow

Scanned versions: nixos-unstable: bc9b956714e.
Cc @equirosa
Cc @lovek323

Fixed by #147146


Broken type highlighting inside of angle brackets

Hello,
The latest update broke the type declarations after function names but before the parentheses. It only occurs when the type is an array denoted by brackets. It seems to work fine in all other cases.
Broken:

Expected:

Thanks!

This issue was moved to Microsoft/TypeScript-TmLanguage#593


feat(crunchyroll): init

🎉 Theme for Crunchyroll 🎉
A video streaming platform geared towards anime.

💬 Additional Comments 💬
Started this about 7 months ago.
Haven't really got the time to finish this.
Maybe someone wants to do the finishing touches or use the style as is.
Probably also needs some clean-up. Got kinda messy.
Some stuff that is still unthemed:

[ ] Every account page
[ ] Music landing page
[ ] Notifications (got none atm)
[ ] Gift Card Redeem Page
[ ] Trial Popup
[ ] MALSync support (optional)

🗒 Checklist 🗒

[X] I have read and followed Catppuccin's submission guidelines.
[X] I have made a new directory underneath /styles/<name-of-website> containing the contents of the /template directory.

[X] I have ensured that the new directory is in lower-kebab-case.
[X] I have followed the template and kept the preprocessor as LESS.

[X] I have made sure to update the
userstyles.yml
file with information about the new userstyle.
[ ] I have included the following files:

catppuccin.user.css - all the CSS for the userstyle, based on the
template.
preview.webp - composite image of all four individual flavor screenshots stitched together,
generated via Catwalk.

if you need any help i can work on it

As the author states in the original description:

Haven't really got the time to finish this.
Maybe someone wants to do the finishing touches or use the style as is.
Probably also needs some clean-up. Got kinda messy.

Feel free to create a new branch with the commits from this PR and continue working on the userstyle @NeonGamerBot-QK

As the author states in the original description:

Haven't really got the time to finish this.
Maybe someone wants to do the finishing touches or use the style as is.
Probably also needs some clean-up. Got kinda messy.

Feel free to create a new branch with the commits from this PR and continue working on the userstyle @NeonGamerBot-QK
I'll close this PR as not planned if you, or someone else, decides to pick up this work or start from scratch.

i think ill pick it up after i finish my other PR's (#1140 #1160 ) and get them merged.

This should be more or less complete now.
I do not plan to do so, but @NeonGamerBot-QK might want to theme the games page, which is probably better done in a separate PR.
Apart from this some other pages are unthemed (e.g. news, about, tos, ...; see the used regex).

This should be more or less complete now.
I do not plan to do so, but @NeonGamerBot-QK might want to theme the games page, which is probably better done in a separate PR. Apart from this some other pages are unthemed (e.g. news, about, tos, ...; see the used regex).

i was just doing the extra pages because i thought it was apart of the current PR.  if it doesnt need to be done then the PR LGTM!

Rating popup unthemeed.

Login and create account pages are unthemed. Would be a nice touch, doesn't look too complicated?

I've yet to review the code but it really sticks out here. It is very warped of what we usually do and I'm struggling to understand what all the #catppuccinXyz mixins do and what not. Why are the colors in a mixin? Why is the normal mixin now called "main"? Etc.

I'm using two @-moz-document blocks, one for the main site and one for the video player that is embedded as an iframe.
For those I use #catppuccinMain and #catppuccinPlayer respectively, which both apply #catppuccinColors to define @base, @mantle, @crust...
In #catppuccinPlayer I further use #catppuccinMinimal, #catppuccinMedium and #catppuccinFull (see below).

Can you elaborate more on these player options; why a user might want them enabled/disabled compared to other users (in other words, why is this an option), and what do each of these options look like?

The Player: Flavor option allows using a different flavor for the video player.
I.e., if one likes to have a dark player on a light page, he may set this to Mocha:

Player: Setting allows to what extent the theme is applied to the video player:

None: disables theming of the video player

Minimal: player background, the orange accent in the timeline and the loading circle

Medium: same as Minimal plus menus

Full: all controls, menus and the background (contrast is suboptimal and likely to break)

Especially the full setting is quite experimental, e.g. using a black background in full screen with latte looks like this:

I tried to stay close to the original CSS, but we may do some slightly opinionated changes here.
And I also just fixed a breakage with a somewhat hacky selector in ab8d4e2 (#1023).
Player: Background controls when the background is themed. Similar to YouTube's Enable black bars.

Rating popup unthemeed.

Done in f685010 (#1023)

Login and create account pages are unthemed. Would be a nice touch, doesn't look too complicated?

Done in 9f33aed (#1023). Those pages use a different domain and some different class names.


[Feature Request] [MGS3]: proper 16:9 is seemingly impossible on a 21:9 monitor

proper 16:9 on ultrawide

it would be really nice to be able to record 16:9 footage in fullscreen on a 21:9 monitor if possible.

on a 21:9 monitor, setting the resolution to 1920x1080 results in a stretched 2560x1080 image instead of a 1920x1080 game window with black bars.

[Framebuffer Fix]
; Forces the framebuffer size to be the same as the custom resolution.
; Disable this if you want pillarboxing/letterboxing with your custom resolution.
Enabled = true

Set this to false.


JAVA-1174: Add IF_NOT_EXISTS option to mapper

I think we need to add a rule in Clirr:
[ERROR] 7002: com.datastax.driver.mapping.Mapper$Option: Method 'public com.datastax.driver.mapping.Mapper$Option$Type getType()' has been removed

I don't think users would address Options separately (just always pass in Option / never look at it), so it is probably ok to add an exception, wdty?

On second thought, it seems like it wouldn't be a problem to add getType() back and that seems like the most low risk thing to do, thoughts?

Ah, type itself was protected to begin with, so even though the API method was present, you couldn't use it for comparison purposes...sounds like clirr rule is more appropriate after all.

Went ahead and added the clirr exception, feel free to back out if disagree.  Also added a couple negative tests.

Good catch. The public getType was an oversight, but just to be safe I think it's better to keep it and deprecate it.

Just remembered, it would be good to add the new option to the manual where we document the rest of the mapper options.

Done


Error While npm run build.prod

Hello,
I am possibly facing the same issue as https://github.com/mgechev/angular2-seed/issues/1217.
Also only when I am running build.prod. The output is quite the same. Using clean build. Tried cloning master branch taking build from the site.
/Users/DmitryGr/Downloads/alfabank-proj/client/node_modules/stylelint/dist/utils/configurationError.js:8
  var err = new Error(text);
            ^
Error: No configuration found
    at exports.default (/Users/DmitryGr/Downloads/alfabank-proj/client/node_modules/stylelint/dist/utils/configurationError.js:8:13)
    at /Users/DmitryGr/Downloads/alfabank-proj/client/node_modules/stylelint/dist/buildConfig.js:43:54

npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build.prod"
npm ERR! node v6.4.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build.prod: `gulp build.prod --color --config-env prod`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build.prod script 'gulp build.prod --color --config-env prod'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular2-seed package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp build.prod --color --config-env prod
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular2-seed
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular2-seed
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/DmitryGr/Downloads/alfabank-proj/client/npm-debug.log

Sorry for opening the issue. After taking sources and building from scratch, everything is ok.


Moved UI gem dependencies to the UI repo

The jquery-rjs is included from our fork on GitHub and there is no
support for unreleased gems in a gemspec. I also tried to move it
to the UI Gemfile, without any success. So until we don't push it
to Rubygems.org, it needs to stay in the main repo's Gemfile.
Parent issue:
https://github.com/ManageIQ/manageiq-ui-classic/issues/1
Merge after:
https://github.com/ManageIQ/manageiq-ui-classic/pull/48

Merged ManageIQ/manageiq-ui-classic#48


Support JSON and URLs

Hello and thank you for this amazing project!
I;m doing my first steps in frontend development with Astro and I found very useful your project. However, I miss some features that I want to share with you:

Consume from JSON. Frameworks that generates OpenApi from source code, expose the openapi as JSON instead of yaml
Consume from URL. Since is autogenerated, it could be consumed once during the buildtime (and maybe fallback to file if not available). Very useful for dev environments.

I will try to do a PR if I have time. But meanwhile I want to, at least, give it some visibility.
Once again, thank you for your project!

Hello there. Thanks for your kind words!
For sure I have a lot of possible improvements for making full stack Open API development a breeze.
All you said is in scope. I started with a minimal setup for now, and the more I experiment with the OpenAPI eco-system, the more I can see what can be brought to the table. I was just waiting to see if people get interested by this project to go further.
I must say that myself I'm still experimenting with custom setups (with or without Astro by the way, with the great OpenAPI Stack project under the hood).
Let's keep this open. I don't have time for now.


Update Migration Docs

Coverage remained the same at 79.031% when pulling 11e7e3b6c0d8adf68d8f4d91e724e0183e9eacef on tnorling-patch-1 into 1ba9b4a4ca01ac22655c0ff392606f6fa4628c7a on dev.


Require still points to dojoRequire

From the src folder tying to run a simple electron app.
My index.html loads dojo something like
< script>
var dojoConfig = {
async: true,
deps: [ 'app/main' ],
has: {
'host-node': false
}
};
window.electronRequire = require;
delete window.require;

and
< script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js" >
on running the electron app, app loads dojo sucessfully but tries to load   main.js from https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/app/main.js
and hence fails.
Is there anything else as well to be fixed to load dojo.

See the CDN tutorial for how to properly configure the loader to load custom modules alongside CDN Dojo.
I'd point out, though, that this boilerplate is set up out-of-the-box to run dojo locally as part of the application itself, and loading dojo from CDN would seemingly defeat part of the purpose of building a desktop application (at the very least it'd make initial startup take longer and make the application impossible to use offline).

Understood. Now i am using local dojo and it works
One thing though , my dojo app uses require at certain places, (more than a few, to load widget by namespace and  its spread over my build scripts too) , so moving to a different variable requires me to customly change all the current structure.
Is there a way , in which i can do it reverse. I assign electron's require to some other variable and use that require to load all the electron modules ?

@kfranqueiro any solution for this, I am still stuck a situation where i need both dojo-require and electron-require.

Sorry for losing track of this.  The most I can say is try removing the last inline script block in index.html to leave dojo's require as require - I haven't written apps that way myself, but I suspect it may work (IIRC all node modules get a locally-scoped require anyway?).
On the other hand, there generally shouldn't be a need to ever rely on AMD's global require in a well-structured app (the only global you should need is define; you can always explicitly request a local require within modules).


bump to<EMAIL_ADDRESS>

Release plan
Publish only<EMAIL_ADDRESS>Question
Why can't I just bump eppo_core to 5.1.0 as in (https://github.com/Eppo-exp/eppo-multiplatform/pull/131/commits/1f8e47427093555db252fd81943c27e660af290a) and instead need to move everything to  5.1.0? I think its related to the local override.

I'll push a fix

ouch, auto-merge didn't wait for CI to finish...


Faster implementation

Rather than wait until the tmpSrc is loaded before loading the src
we are now instantiating a virtual Image object and setting its src to
the target src path. This will async load the src. All events are
attached to the virtual object and handled there.
tldr; cleaner and faster

One thing to note: if you are running dev tools with "Disable Cache" this could trigger two [GET] requests for each src resource.


test: initial integration test

This is a PR that adds 1 integration test but also gives a possibility to add more in the future, it also installs Splunk in CI, builds the demo app, install it as well, so we can test ucc-library.

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

v6.0.5
GitHub release

Your semantic-release bot :package::rocket:


GitHub Workflows security hardening

Summary
This PR adds explicit permissions section to workflows. This is a security best practice because by default workflows run with extended set of permissions (except from on: pull_request from external forks). By specifying any permission explicitly all others are set to none. By using the principle of least privilege the damage a compromised workflow can do (because of an injection or compromised third party tool or action) is restricted.
It is recommended to have most strict permissions on the top level and grant write permissions on job level case by case.
Test plan
N/A

Thanks @sashashura


[Feature Request] About HaProxy and the way this plugin works

Does this plugin support HAProxy from velocity's config？My Velocity server is configured with a hybrid port, configured via the plugin HaProxy-Detector plugin, allowing both HaProxy connections and direct connections
Can I disable certain IP segments? I don't want to see them working in the background, or only use IPs with <IP_ADDRESS>

[04:38:38] [Velocity Task Scheduler - #7/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:38:38] [Velocity Task Scheduler - #9/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:ced:3ff:fe2a:3f9d%25692]:25565
[04:38:38] [Velocity Task Scheduler - #10/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:38:48] [Velocity Task Scheduler - #11/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:38:48] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565
[04:38:48] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:ced:3ff:fe2a:3f9d%25692]:25565
[04:40:48] [Velocity Task Scheduler - #7/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:40:48] [Velocity Task Scheduler - #12/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:40:58] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:40:58] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565
[04:44:58] [Velocity Task Scheduler - #7/ERROR] [raknetify]: Raknetify server failed to start on /[fe80:0:0:0:b4ec:89ff:fe6b:c2ae%vethfb8136a]:25565: bind(..) failed: 无法指定被请求的地址
[04:44:58] [Velocity Task Scheduler - #13/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:44:58] [Velocity Task Scheduler - #12/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565

IP: 192.168.250.X is a Deepin UEngine's local IP

and ... w... wtf?
[04:38:38] [Velocity Task Scheduler - #7/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:38:38] [Velocity Task Scheduler - #9/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:ced:3ff:fe2a:3f9d%25692]:25565
[04:38:38] [Velocity Task Scheduler - #10/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:38:48] [Velocity Task Scheduler - #11/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:38:48] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565
[04:38:48] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:ced:3ff:fe2a:3f9d%25692]:25565
[04:40:48] [Velocity Task Scheduler - #7/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:40:48] [Velocity Task Scheduler - #12/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:40:58] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:40:58] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565
[04:44:58] [Velocity Task Scheduler - #7/ERROR] [raknetify]: Raknetify server failed to start on /[fe80:0:0:0:b4ec:89ff:fe6b:c2ae%vethfb8136a]:25565: bind(..) failed: 无法指定被请求的地址
[04:44:58] [Velocity Task Scheduler - #13/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:44:58] [Velocity Task Scheduler - #12/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:45:08] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:45:08] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565
[04:48:08] [Velocity Task Scheduler - #7/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:48:08] [Velocity Task Scheduler - #14/INFO] [raknetify]: Raknetify server started on /<IP_ADDRESS>:25565
[04:48:08] [Velocity Task Scheduler - #12/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:a864:f3ff:fead:7bc1%25710]:25565
[04:48:18] [Velocity Task Scheduler - #14/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:a864:f3ff:fead:7bc1%25710]:25565
[04:48:18] [Velocity Task Scheduler - #12/INFO] [raknetify]: Closing Raknetify server /[fe80:0:0:0:42:d6ff:fe23:520f%3]:25565
[04:48:18] [Velocity Task Scheduler - #7/INFO] [raknetify]: Closing Raknetify server /<IP_ADDRESS>:25565

无法指定被请求的地址?
Is this an internal network test pass-through port?

And when I connected to the server through OpenFrp, I found that the UDP port was not loaded with the HaProxy Protocol (Proxy Protocol), which caused the backend to show that the IP connected through OpenFrp's UDP tunnel was my server's internal IP.

this server using mix protocol
Bedrock+LanBoardcast+Haproxy+UDP（Raknet）

As far as I know, proxy-protocol doesn't exist on UDP applications.
No.
Pretty sure that is out of scope of this mod.
There are currently no way to know where the UDP packets come from when using <IP_ADDRESS> as bind address. That is a workaround for compatibility with multiple network interfaces.
If that's the case, people will be confused with not being able to connect after the server (re)connecting a network.

In other words, is a TCP handshake followed by a UDP-assisted transmission out of scope?


two websites for Force2017 - combine into one?

Currently there are two websites for force2017:
https://www.force11.org/meetings/force2017
http://www.force2017.org/
Could these be combined into one page?

These should absolutely be combined!
This will require 1) removing all redundant and unnecessary info from the "stub" website on the main F11 site, and just providing a brief description (2 sentences) and a link to the conference website, and 2) on the actual conference page (force2017.org), making sure as much of the information as possible is on that site itself, rather than having to link back to main F11 which it does in a couple places and sort of breaks the flow.
If people agree i can operationalize this into a few separate tickets

I agree!


[IDP-1334] merge from auth0/node-auth0

We've forked node-auth0 to add support for log streams. This PR merges newer commits from Auth0.
Note, this PR shouldn't be squashed and merged.

Stale PR, older than 3 years old, automatically closed.


MTU exchange requests?

Hello,
I would like to increase MTU size, do you know how to do this?
I am unable to find some documentation about this.
Thanks a lot.
Thierry

Hello,
As I know iOS is automatically exchanging MTU and only API related to it is maximumWriteValueLength(for:) which allows you get negotiated value.
More details can be found on SO:
http://stackoverflow.com/questions/41977767/iosble-get-negotiate-mtu

Thanks a lot.
I have a question. For sending saying 2KB of data should I segment them into 158 bytes chunks myself and do multiple write with response (for resend if it failed) or is it managed by CoreBluetooth?


Replace ComponentSparseSet's internals with a Column

Objective
Following #4855, Column is just a parallel BlobVec/Vec<UnsafeCell<ComponentTicks>> pair, which is identical to the dense and ticks vecs in ComponentSparseSet, which has some code duplication with Column.
Solution
Replace dense and ticks in ComponentSparseSet with a Column.

bors r+


Rspack dist uncertainty, execute multiple times  may produce unexpected dist, may also be the dist of the right.

System Info
System:
OS: macOS 13.4.1
CPU: (8) x64 Apple M1
Memory: 32.07 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 14.18.3 - ~/.nvm/versions/node/v14.18.3/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v14.18.3/bin/yarn
npm: 6.14.15 - ~/.nvm/versions/node/v14.18.3/bin/npm
pnpm: 7.30.0 - ~/Library/pnpm/pnpm
Watchman: 4.9.0 - /usr/local/bin/watchman
Browsers:
Chrome: 116.0.5845.140
Safari: 16.5.1
npmPackages:
@rspack/cli: ^0.3.1 => 0.3.1
Details

After several executions of packaging, the result, as shown in the figure, made me afraid to use Rspack again, perhaps because rust was unsure about performing parallel tasks.
Reproduce link
https://github.com/jeromehan/vue-rspack-demo
Reproduce Steps
execute multiple times
npm run build

I believe this is caused by the vue-loader's implementation. See this one for details: https://github.com/web-infra-dev/rspack/issues/4003#issuecomment-1689662380

I believe this is caused by the vue-loader's implementation. See this one for details: #4003 (comment). A fix to vue-loader is required to avoid parallel issue when it is called from Rust.

thanks

@jeromehan sorry for causing problems for your, and since this is a bug and we're gonna fix it

@jeromehan Feel free to test it out with version: 0.3.1-canary-efd2bf0-20230906032925.

@jeromehan Feel free to test it out with version: 0.3.1-canary-efd2bf0-20230906032925.

it is great


Tweaks for Backstop tests

Description

Related Issue

Motivation and Context

Checklist

[ ] An ADR
[ ] New and/or updated tests
[ ] Changes log in CHANGELOG

Looks good, I added a couple of comments though. The tests pass when running locally in Docker, see the comment about "/$".

All looks good and still passing locally ✔


add workflow steps

Codecov Report

Merging #2 (d1af97b) into master (086c491) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   60.74%   60.74%
=======================================
  Files           4        4
  Lines         242      242
=======================================
  Hits          147      147
  Misses         80       80
  Partials       15       15

Impacted Files
Coverage Δ

controllers/loudspeaker_controller.go
78.08% <0.00%> (ø)

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 086c491...d1af97b. Read the comment docs.

Codecov Report

Merging #2 (9e007bd) into master (086c491) will decrease coverage by 0.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage   60.74%   59.91%   -0.83%
==========================================
  Files           4        4
  Lines         242      242
==========================================
- Hits          147      145       -2
- Misses         80       81       +1
- Partials       15       16       +1

Impacted Files
Coverage Δ

controllers/loudspeaker_controller.go
76.71% <0.00%> (-1.37%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #2 (9e007bd) into master (086c491) will decrease coverage by 0.82%.
The diff coverage is n/a.

:exclamation: Current head 9e007bd differs from pull request most recent head eaff391. Consider uploading reports for the commit eaff391 to get more accurate results

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage   60.74%   59.91%   -0.83%
==========================================
  Files           4        4
  Lines         242      242
==========================================
- Hits          147      145       -2
- Misses         80       81       +1
- Partials       15       16       +1

Impacted Files
Coverage Δ

controllers/loudspeaker_controller.go
76.71% <0.00%> (-1.37%)
:arrow_down:

Continue to review full report at Codecov.

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


Pull request for jkvalk-updates

There is separate commit per every change, this should explain. I updated Gemfile just to be less outdated and also removed Ruby version requirement.

@jkvalk looks great, I added a line note about what looks like a typo, if you want to fix that I'll merge this in!

Yes, I'll fix that and I'll make a new pull request (dunno if there's a better way to do it).


Viewing Student Progress

When viewing the class roster, the button next to each student's name should be changed from "View Dashboard" to "View Progress".

Fixed in dev version.


feat(java): Add EnumNameSerializer for Enum

What does this PR do?

Add EnumNameSerializer for Enum, can config it by org.apache.fury.config.Config#useEnumNameSerializer, default value is false
Related issues

Does this PR introduce any user-facing change?

[x] Does this PR introduce any public API change?
[ ] Does this PR introduce any binary protocol compatibility change?

Benchmark

Hi @xxd819240366 , thanks for contribuing to Apache Fury. The code looks to me overall, I left some minor comments

Ok，I'll update it again

By the way, I can pass all test on my local development environment with java 8，but can't pass test on Java CI(8) . There is a error in org.apache.fury.serializer.EnumSerializerTest.testEnumSubclassFieldCompatible(org.apache.fury.serializer.EnumSerializerTest) only happen on github CI pipline

@chaokunyang

Seems some your jar version is 0.7.0 but others are 0.8.0-SNAPSHOT. Could you update all mavem module to 0.8.0-SNAPSHOT?

@chaokunyang  Seems all maven module version already updated to 0.8.0-SNAPSHOT

@lionel-xie Could you merge fury main branch first, your base branch is 0.7.0, not the developer main branch

done in #1892


PRFC: Tech Insights, stage 1

Architectural proposal to integrate Tech Insights into Backstage

Note that I ended up calling this tech insights for now for visibility. It would likely be better to figure out a better name for this whole feature set which contains data retrieval/aggregation, "autotune"/scorecards for individual components and "tech insights" to have aggregated views of scorecards and/or graphs.

This PRFC is intended to be stage 1 of a wider Tech Insights feature work.
This stage is focusing on defining the rough overall architecture for data fetching and storage, implementing individual checks for entities and interfaces and types around those. Initial commit contains a rough code example (without proper error handling, logging, tests, etc.) to demonstrate creation of data fetchers and checks as well as how to 'run' checks based on a rules engine. The purpose of this PRFC is to discuss higher level concepts and data structures (, and naming), leaving choosing the paint to use on the bikeshed for actual mergeable PR derived from this.
Stage 2 would be focusing on UI/FE and components, and how to generically construct information cards/views/displays from the data provided by previous stage.
Stage 3 should be dedicated to define closer logic to create 'scorecards', aggregations of checks, and possibly other higher level structures based on the available data (historics etc.).
Status: Open for comments
Need

Ref 1, Component scoring plugin: https://github.com/backstage/backstage/issues/2662, 24 thumbies
Ref 2, Tech Insights: https://github.com/backstage/backstage/issues/2723, 22 thumbies
Various customer asks
Similar functionality in other comparable products to Backstage

Proposal
Terminology and definitions
Fact
A "fact" is a value of an entity, entity's codebase, or other related data during a specific timestamp. Examples of facts are:

Service has 5 sonarqube vulnerabilities
Service was last deployed 1969-04-20
Group has 6 engineers
Repository has a README.md file
Deployed service name is prefixed with 'company-name-*'

Check
A "check" is a rule which a service either does or does not satisfy. For example "at least one protected branch is enabled on GitHub".
Other examples of checks:

Service has been deployed at least once in the past 30 days.
Service has an owner defined in metadata.
Jenkins code coverage is greater than 50%
React package version is greater than 17.0.0
Service has fewer than 3 sonarqube vulnerabilities
Service has no critical security vulnerabilities in Snyk

Scorecard
A "scorecard" is a group of checks. A security scorecard for example could be composed of the last 3 checks in the above list. How to 'score'/evaluate/display scorecards should probably be focused on stage 3 as defined in the beginning of this PRFC.
Architecture
Rough diagram of components:

The tech insights plugin on the backend side consists of the following components:

API
Fact Retriever Engine and a collection of Fact Retrievers
Fact Checker and a collection of Checks
Repository/data store

Fact Retriever
A 'fact retriever' is a component consisting of fact metadata definition and scheduled computation that fetches, calculates and stores fact data within its domain/responsibility.
Fact retriever consists of the following items:

Ref/name of the retriever, a unique identifier
Versioned schema which defines the output (per entity) from this fact retriever
a handler method doing the actual work of retrieving and crunching fact data

In current code implementation this handler receives Backstage config object and discoveryApi as arguments, what else might we need in these?

These retrievers are a core concept in this tech insights PRFC and would be something that are not swappable to other types by the integrator (like FactChecker for example could be).
Fact retrievers are registered to a FactRetrieverRegistry alongside with information about how often they should be executed ('cadence'). This registry is handled by Fact Retriever Engine (naming is a bit 'meh' here. Manager isn't any better... something else?). This engine handles persistence of versioned schemas provided by fact retrievers and the actual scheduling of fact retriever handlers based on the given cadence in registration information. Persistence of the data a fact retriever returns is handled by the engine as well.
In the future this engine can be extended to act as a catcher-dispatcher of catalog update events, in case an event driven implementation of updating facts is preferred.
FactChecker
A generic interface that calculates results of checks based on facts. As defined above, a response value of a check should be a boolean, with possibly some unstructured additional metadata (description text, something else?). FactChecker stores a runtime collection of 'Checks' which are defined as code. These individual checks are named and they contain references to facts they need to calculate the check result. These references may or may not be then used to retrieve facts from the database, depending how the integrator wants to implement their FactChecker. If for example the actual logic for some checks are written in Java and exist in a separate service, FactChecker can make a call to that service and map the returned results into a conforming data format.
To be discussed more in stage 2 is how to request check results from the frontend, but preliminary this previously mentioned check name and entity reference would be enough to achieve desired result. Check name can then be stored in catalog-info or elsewhere where convenient.
Provided implementation is based on json-rules-engine. The JsonRulesEngineFactChecker uses a check type derived from the underlying rules-engine implementation. These checks are defined as JSON and provide possibilities for all common use cases to run rules against. Additionally it provides a possibility to add dynamic facts to the FactChecker implementation for ad hoc data where a fact retriever is not available yet.
This implementation retrieves fact data from the database based on provided entity and fact references. After data is retrieved fact checker runs the rules engine to get the result of a 'check'. (happy path "working" implementation provided with this PRFC, to be honed and polished)
Data
In the first stage data needs to be stored for facts only. Running checks is a lightweight process and can be done on runtime initially, though the possibility to store intermediate results could be something to think about in the future.
Tables are one for facts and one for fact schemas. Fact schemas contains the data structure a fact retriever will return (and what eventually gets stored in the DB). These schemas can be used to validate that created checks are valid and possibly in the future create generic, type based components that calculate, aggregate and display various views.
Data types to store individual fact data are proposed to be boolean, integer, float, string, datetime.
Facts table contains a reference to the entity, a timestamp when the collection of facts was retrieved and a JSON dump of data (in the format of the schema mentioned) that contains actual fact values.
For future use cases the data store should be swappable from Postgres to a more fitting one depending on data insertion cadence and use cases. Eg. using a time series one for metrics, dashboards etc. if those are the the main use cases wanted out of this.
The data hierarchy would look something like this, with both persisted and calculated data included:

Code organization
It is likely best to keep tech insights as a separate plugin since it is easily self-contained and might be a candidate to be run as a separate service due to its tendency to make many API calls to external services.
FactChecker implementations should be residing in their own submodules under (by naming convention) the main tech-insights plugin. The nature of fact retrievers makes me think that they should likely be grouped logically in their own modules as well. A single Fact Retriever may grow fairly large, depending how much data retrieval and manipulation it does. In theory an individual retriever can be used to capture all needed items from multiple integration points, though it would not of course be the preferred way to do this.
Responsibilities and future
Integrators would be able to create their own fact retrievers, the assumption is that a lot of internal data would need to be fetched for these kind of values from proprietary solutions. Additionally they can either implement their own FactChecker or use the provided JsonRulesEngineFactChecker and implement a handful of checks to be used by it.
A fact retriever is something plugin creators and the community in general could contribute for common use cases. A lot of integrations already supported by Backstage provide useful data that can be turned into facts and corresponding checks fairly easily. Few of these items are discussed in the Component Scoring Plugin issue. Something like reading the catalog file and checking that it contains needed information and providing a check based on that should be fairly simple to ship. Other generic things around fact retrievers could be an extension that simply calls an API and transforms the response, kinda a la current proxy implementation with extra steps. This would make fact retrieval creation to be an easier task for people who don't want to write TS/JS to create the logic.
Additional entry points to insert facts should probably be considered as well. There is a lot of data that would naturally be considered a fact work better in a push based model. Some examples of these could be something like CI tools and the checks that are run in there. Being able to push the check results directly to Backstage removes the need to store those values somewhere else. This push could be implemented via exposing an API/webhook, event queue or even direct DB access.
Alternative approaches considered

Checks
Few thoughts on checks were played around with. Ended up proposing to do checks on backend only, even though the json-rules-engine FactChecker implementation could easily run on the frontend side as well. This is to have some wiggle room in the future to store intermediate check results. Because of the possibility of 'Dynamic Facts' a consideration could be taken to expose the FactCheck as a lib to the frontend as well but some persuasion might be needed.
Opting to not use catalog-info.yaml to create actual checks, rather point to references of them, actual implementation being in the code instead. Opting to not use DB to store checks at the moment, which prevents usage of dynamic facts. Also different FactChecker would need different persistence shapes.
Example scenario (TL;DR)
System should show if a component conforms to company policy of not having dangling PRs open.
Open source contributor/Integrator creates/registers a GitHub PR Fact Retriever. This retriever exposes a schema in the following format:
{
    ref: 'github-pr-fact-retriever',
    schema: {
      version: '0.1.0',
      schema: {
        openPullRequests: {
          type: 'integer',
          description: 'Indicates the number of open pull requests for a repository',
        },
      },
    },
   /** snip **/
}

The retriever also has a handler method that retrieves all entities from the catalog and then calls GitHub API to retrieve open pull requests for each entity. The handler responds with a data structure matching the schema defined above:
[
   {
    ref: 'github-pr-fact-retriever',
    entity: {
       namespace: 'default',
       kind: 'component',
       name: 'some-service-name',
     },
     facts: {
       openPullRequests: 2,
     },
    }
   / ** Other entities ** /
]

During application startup the retriever is registered into RetrieverRegistry which is a collection of retrievers within FactRetrieverEngine. This FactRetrieverEngine periodically calls the handler method of all registered retrievers and stores responses gotten from them in to the database.
Next integrator creates a Check to assert that the amount of open PRs is <3. The check contains information about which facts it is using to check against and boolean logic to calculate if the fact value matches expected. Using the default implementation, json-rules-engine based FactChecker, the check would look something like this:
  {
    name: 'github-prs-less-than-three-check',
    factRefs: ['github-pr-fact-retriever'], // References facts with these names to know what data to use
    rule: {
      conditions: {
        all: [
          {
            fact: 'openPullRequests',
            operator: 'lessThan',
            value: 3,
          },
        ],
      },
    /** snip **/
    },
  },

The check is then registered in to CheckRegistry which contains a collection of check that can be used by a FactChecker implementation. During registration the check is validated against fact schemas, which can be found referenced in the check itself. The validation will see that correct data is available (in this case 'openPullRequests') to be checked against and that their data types (in this case 'integer') match the check operator (in this case 'lessThan').
User navigates to a catalog page of 'some-service-name' service. The frontend components created for checks/scorecards read information from catalog-info file and see that this entity should display the value of 'github-prs-less-than-three-check' check. They make an API call to backend which runs the check.
The FactChecker first retrieves facts that this particular check is referencing from the database and adds them to it's rules engine. Then it runs the engine, responding with a boolean value. The frontend aggregates this response to a displayable checkbox in a scorecard component.

Didn't read it all but looks amazing to me. I love the "fact" termonology.
My only thought is we should avoid calling it Tech Insights. Spotify explained that Tech Insights is a feature for managers/security people to monitor progress towards goals. While this code could be used for that, it comes with an implication of monitoring the engineers that I think Spotify are trying to avoid.
Instead, let's call it Autotune or "data aggregation" or something and acknowledge that that's a working name which will change.

Howdy, I’m new to the community, and I’m pumped about this, but I have 1 question and 1 comment.
Does it make sense to include “sets” as a valid type for facts? For example I can imagine a fact which represents tags associated with a component, and I might want to verify all the tags belong to a set of approved tags.
Also…

FactChecker can make a call to that service and map the returned results into a conforming data format.

I like this idea, specifically instead of using the json-rules-engine, I would be interested in calling out to an Open Policy Agent server for running evaluations on data, with rego policies written and stored on the individual "Checks".

Hi @theMagicalKarp,
We've moved this PR to https://github.com/backstage/backstage/pull/7193. Let's continue the discussion in there.


Organize imports inserts copyright comments in the middle of imports

#46589

Open any typescripts file in vscode repo, for example BreakpointWidget.ts
Organize imports -> copyright coments in the middle of imports

Duplicate of https://github.com/Microsoft/TypeScript/issues/22731


After committing a project to disk, I get a warning about loading project and losing changes?

missed chance to do screen shot, but was surprised to see that message ... I said "no" and the project appears to be fine... oops the GsDevKit project was dirty and now is not and the sha has not been updated ... which I would expect ... when I selected the refresh menu item I got the notifier (and snapshotted him):

I assume you are updating behind the scenes, but somewhere along the way there is an assumption made that the project is being loaded?

Does this happen when you've got ROWAN_PROJECTS_HOME defined correctly?   (per some slack traffic about ()'d project names)

I did it just now and got exactly the same dialog box ... and ROWAN_PROJECTS_HOME is defined ... the subtlety might be that this time the project wasn't dirty in JfP and it was uncommitted on disk


Fix self study button injection

Wanikani made some changes to the layout of the extra study panel so this fixes the injection of the self study button. I'm not entirely happy with the text I put above it so please change that if you can think of anything better.
See full commit message for the README change.
Also updated Queue Manipulator require.

Not long after submitting this PR, Queue Manipulator pushed an update that removes support for starting from the lesson picker page. The version I put in the PR is not that one, but I'm mentioning it here as well as a heads up because it would mean Omega would not run the presets in that situation. Considering the purpose of the lesson picker, this really only loses out on two things: custom batch size and sorting/ordering. It's understandable because if a user doesn't want to change the order only pick certain items and have a custom batch size, then Queue Manipulator would have to try and replicate WaniKani's "Batch, please" and interleaving settings for ordering the batch which is a lot of work.

Additional fix for the README. It turns out that the behavior of ignore the project root tsconfig.json has been what's used the whole time, as the root config includes noEmit: true which causes there to be no output of a user.js file.


fix: update repo link

Just like in eslint-plugin-eslint-plugin, this isn't released automatically either.


How to use Mac to run the program?

Try install pytorch with MPS acceleration. Should work, but performance is not guaranteed.
pytorch


Alternate withdrawal mechanism (specified proposal)

See https://ethresear.ch/t/suggested-average-case-improvements-to-reduce-capital-costs-of-being-a-casper-validator/3844 for more theoretical discussion.
When a validator is removed from the active set via exit_validator(...), they are assigned a queue_id (there is an incrementing next_queue_id variable in the crystallized_state that keeps track of what ID to assign). During every state recalculation, the VALIDATOR_WITHDRAW_COUNT validators with the lowest queue_ids are withdrawn.
We set VALIDATOR_WITHDRAW_COUNT to 2^3 = 8. Rationale: if ~12m (3 * 2^22) ETH (or 2^17 validators) are trying to exit at the same time following an attack, it will take them 2^14 cycles (= 2^23 seconds ~= 3.3 months) to exit.
This mechanism serves a triple purpose (see the ethresear.ch thread above). First, it makes the withdrawal time longer if more validators are participating, and shorter if fewer validators are participating, reducing the long-run uncertainty in the number of validators, though at some cost to long-run certainty in the safe weak subjectivity duration (though a validator will know when they will have to come back online next at the time that they go offline).
Second (less important), it creates further anti-centralization pressure because larger deposits will on average have to wait longer than small deposits.
Third, and most important, it makes withdrawals potentially very quick in the average case where few validators are exiting, and slower in the case where more validators are exiting. This changes the philosophy of validating somewhat, from "you are definitely committing your ETH for a long time", to "you retain high liquidity much of the time, but you agree that in the event that an attack appears you may be conscripted and required to stick around for a few months longer than you may have expected".

Closed via #112


development.md page is broken in Book

What's up?
I wanted to modify the development.md page in the Book (https://prql-lang.org/book/project/contributing/development.html) but couldn't make it look correct in the Dev Container.
So I looked at the page on the live Book, and it is broken in the same way.
The problem seems to be triggered near the admonish note that follows Integration tests.
I tried a few variations in that area of the document but couldn't find what's wrong. Hopefully, someone who's more versed in Markdown or the admonish processor can fix it. Thanks.

Thanks, good spot. Fixed in #3785

And now I know more about using admonish note. No leading spaces - who knew? (Apparently, you do.)


SW-1968 Implement nursery transfer withdrawals

Add support for the Nursery Transfer withdrawal purpose, which will cause the
system to create new batches at a destination nursery facility.

Current dependencies on/for this PR:

main

PR #696

PR #698

PR #700   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: ji4aaGlSyAHNp1Vle6VT


Permit setting 'style' to default, and add 'bbox' as 'border' alternative for inner a-b-c labels and titles

This is my first contribution. Let me know if there is any problem with the issue or failing any tests.

Hi @pratiman-91, thanks for the PR! That bugfix is easy and I like the idea of "bounding boxes" for titles and a-b-c labels. When you get the chance can you fix the PEP8 errors? Also you might consider installing pre-commit, which will show you the PEP8 issues and prevent you from commiting until they are fixed, as mentioned in the contribution guide.

(Fixes #234)

Apparently I'm allowed to edit your PR myself (never did that before!). This was close to being ready anyway so I decided to fix the issues myself. Thanks again, merging now

I made some improvements to this feature on master (4288a73e):

"Borders" are still used by default (because IMO borders are less obtrusive and I see big no reason to change the default).
By default a square bounding box is drawn perfectly flush against the subplot edge.
There are new title.bboxpad and abc.bboxpad options to control padding.
Turning on title.bbox turns off title.border, and vice versa. You cannot have both of them on at the same time... which I imagine is what users will want 99% of the time.

Here's a nice example with these new features:
import proplot as plot
fig, ax = plot.subplots(ncols=2)
print(plot.rc.abcborder)  # prints True
ax.contourf(np.random.rand(10, 10))
ax.format(abc=True, abcloc='ul', abcstyle='A.', abcbbox=True)  # temporarily sets border to False

Looks good.
Thanks!


manpages fixes

A couple of documentation fixes.
Quick summary:

Removes references related to aur fetch --tar
Adds missing documentation of aur fetch --force
Updates the documentation of aur repo --repo-list
Fixes to things that were missing or not being correctly rendered

👍


Would be nice if we had a way to execute gitlab with -v or --verbose, to show more information on the execution.

Are there any specifc pieces of information you need?
I would rather let gitlab-ci-local be as verbose as possible, and have uses silent messages via a quiet option.

I have renamed this issue to actually describe a task

4.9.5 is way more verbose, when it comes to docker-executor jobs


The ability to get Thread Id when a new thread starts.

Is your feature request related to a problem? Please describe.
I am using the SQLAlchemyDataLayer for my chainlit backend and langgraph for my agent logic. I used session_id as the id for the
thread_id configuration of langgraph memory. But now I am trying to implement on_chat_resume, where session id changes when you resume a thread. The only consistent id is thread['id'] which is generated when you create a thread while sending a message at the start of the chat lifecycle and can only be currently retrieved in on_chat_resume.
Describe the solution you'd like
Add  a feature to get generated Thread Id when it is generated on on_message. kind of like
cl.user_session.get('thread_id') to get a consistent id when you resume a session

Hey @itonskie , not sure if it solves your particular use case, but I think I have implemented something in my application that may provide a temporary solution for your problem (I am also using SQLAlchemyDataLayer):
@cl.on_chat_start
async def on_chat_start():
    chainlit_thread_id = get_current_chainlit_thread_id()
    # logger.info(rf"Chainlit::Chat started with thread id {chainlit_thread_id}")

with get_current_chainlit_thread_id() defined like so:
def get_current_chainlit_thread_id() -> str:
    return cl.context.session.thread_id

Seems to consistently return the Chainlit-generated Thread ID as soon as the chat is started, which in my case I can then pair to an OpenAI thread (similar to what you seem to be doing with the session_id).
This complements on_chat_resume fairly well - I believe I am doing the same thing as you are there:
@cl.on_chat_resume
async def on_chat_resume(thread: ThreadDict):
    chainlit_thread_id = thread.get("id")
    # logger.info(rf"Chainlit::Resuming chat with thread id {chainlit_thread_id}")

Please let me know if this helped you in any way :)

Thank you so much for this! This was exactly what I needed!


BREAKING CHANGE: Rename message prop to validationText in Form Fields #DS-676

And make it dependent on validationState.
Sorry for the huge PR.

coverage: 96.957%. remained the same when pulling 67ee7f43cbd0900e546a58f9f8956d20f8be36ef on bc/rename-message-to-validationText into 31dc4fe57fc3e86b0525c28e610440663d7c7199 on bc/remove-error-state.

I have splitted this PR by commit/technology into three separate PRs, see https://github.com/lmc-eu/spirit-design-system/pull/899, https://github.com/lmc-eu/spirit-design-system/pull/900, https://github.com/lmc-eu/spirit-design-system/pull/901

Closing in favor of the individual PRs.


Project can't be run

This project should be run with Grunt instead of tns.
Errors:

gruntfile.js at line 21 should be changed to an iOS device, like iPhone 5.
tsconfig.json at ts:build has incorrect path. It should be tsconfig: 'tsconfig.json' instead of tsconfig: 'app/tsconfig.json'.
Missing dev-dependencies:

    "grunt": "0.4.5",
    "grunt-contrib-clean": "0.6.0",
    "grunt-contrib-copy": "0.8.0",
    "grunt-shell": "1.1.2",
    "grunt-ts": "5.0.0-beta.5",

Add to README.md commands: grunt run-android, grunt run-geny and grunt run-ios.

Hey @mrpatiwi
That gruntfile is a remnant from the time when there was no typescript plugin, and the tns tool didn't support build hooks. I'd simply forgotten to delete the file.
If you need to integrate a tns build in a larger grunt-based build process, you can invoke tns build <platform> or tns run <platform> using a plugin like grunt-shell.


Added option to run a nonAdmin install of IBM Installation Manager

Hey Amir ... here is an enhancement to allow nonAdmin install of IBMIM. Please review and merge if OK for you. I've tested that on RHEL v8.

Hey Amir ... just setup a CentOS v7 VM to test there as well and seems to work fine. So python2 & python3 envs seems to work

Cool, thanks for this 👏


Add list-authorized-keys script

This will serve as the SSH server's AuthorizedKeysCommand.
Finds all regular files under /opt/ssh_files/authorized_keys.d and outputs all unique keys.
The intention is to mount ConfigMaps containing authorized keys for various teams under this directory.

/lgtm


Azure CNI NAT implementation clarifying points

Our docs are clear on how Kubenet traffic is NAT'd to the source node IP address on external calls, however it isnt clear how this is implemented for Azure CNI. Traffic within the same Vnet will maintain the Pod IP address, however traffic external to the Vnet will be NAT'd to the source node primary IP.
This clarifying point is critical for people to understand when designing a network security plan around AKS.

@swgriffith : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mlearned @laurenhughes - Could you review the proposed updates to the article? Thank you.

@swgriffith  please use the private repo moving fwd  :  azure-docs-pr

@jluk  can you do a pass on this one?

@swgriffith do you want to push an update on this  one/ address the comment above?

@mlearned @jluk I edited the updates to use present tense. I suspect that "NAT" is best not used as a verb, but I'll leave as-is in this PR. I'll go ahead and merge given the data on the PR. Let me know if you need any changes based on my edits.

Thank you for the reviews.


Merge the firmware to upstream qmk

Hi, 👋🏽

Unfortunately, the cheapino firmware is not merged into the official qmk repository,

I don't see any PR related to cheapino in upstream repo. Any reason why Cheapino is not merged to upstream QMK?
Thanks for cheapino!

Hey, tbh I dont really see the point. I feel qmk made a very poor architectural choice trying to include all keyboard firmware in the code base. I dont feel like contributing to making qmk more difficult to maintain...

Ah, I see. Thanks.


Remove @DataProvider use from TestHiveBucketedTables

@DataProvider can get to run before tempto variables are injected, so
it cannot use getHiveVersionMajor().
Fixes https://github.com/prestosql/presto/issues/4033

CI failed -- https://github.com/prestosql/presto/issues/1977


sort out a workflow to make sure we can do development & changes safely

Nearly there... need to make the other repo first.

Okay, got everything roughed out for this pretty much and some simple documentation. Should do for starters and can fill in gaps as and when needed.


Add unstructured serialization test

To help prevent #1259; looks like there are some fields exhibiting weird behaviors.
cc @ash2k @nilebox

@pmorie The commit message and PR title are misleading. Do you plan to add a test in this PR?

oops

I managed to lose this after forgetting to git add it an errant git clean

@nilebox @ash2k did the work again, should be ready to review now.  I had to use custom fuzzers for objects with parameters because I didn't get the same serializations between unmarshalling from objects and unstructured.  I suspect we are hitting this first because we are (or appear to be) the first to try this type of test on a kind with RawExtension fields.

LGTM


[TECHDEBT] Shared Module, cleanup testing_artifacts

Objective
Cleanup all TODO's related to testing_artifacts in  theshared module.
Origin Document
Techdebt week is emphasizing code health by removing hacky placeholder code. A lot of the 'shared structures' within testing_artifacts is just that.
(See applicable TODO's)
Goals

Reduce code footprint
Encapsulate testing logic

Deliverable

Code complete implementation
Updated changelog.md

General issue deliverables

[ ] Update any relevant READMEs (local and/or global)
[ ] Update any relevant global documentation & references
[ ] If applicable, update the source code tree explanation
[ ] If applicable, add or update a state, sequence or flowchart diagram using mermaid

Creator: @andrewnguyen22

Unassigning myself from this issue because:

[ ] It's blocked by #235
[ ] It's controversial due to https://github.com/pokt-network/pocket/discussions/234
[ ] It should be owned by who ever executes ^

I (or potentially someone on @adshmh's team) can help take this on.
In the meantime, @andrewnguyen22, could you take another look at #235?

Blocked by #235

A lot has changed in the codebase so this ticket is no longer applicable


"Cannot read property 'Mappings' of undefined

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
In API we use graphql and dynamo. In one environment, we can no longer modify API. Even something simple such as adding a new property or making a property non-optional and pushing results in the following error
Cannot read property 'Mappings' of undefined
Amplify CLI Version
4.13.4
To Reproduce
We haven't been able to create a test project to reproduce this particular issue. Output is:
TypeError: Cannot read property 'Mappings' of undefined
at collectTemplates (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql-transformer-core/src/util/splitStack.ts:135:30)
at Object.splitStack [as default] (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql-transformer-core/src/util/splitStack.ts:325:18)
at TransformFormatter.format (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql-transformer-core/src/TransformFormatter.ts:36:36)
at GraphQLTransform.transform (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql-transformer-core/src/GraphQLTransform.ts:307:22)
at _buildProject (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graphql-transformer-core/src/util/amplifyUtils.ts:53:35)
Expected behavior
amplify push succeeds, and graphql api is updated
Screenshots
NA
Desktop (please complete the following information):

OS: Mac
Node Version. v12.4.0

Additional context
We are seeing another issue that we don't know if it's related. Autogenerated files like template.json also has a second generated file template2.json. These issues began at the same time.

@chewypear What are you modifying?  The annotated GraphQL schema? In which directory?

@kaustavghosh06 - Just doing a simple modification to schema.graphql in /amplify/backend/api//schema.graphql
In short, any time amplify sees an 'update' to 'api' and I try to amplify push, the error above results.

@chewypear Would it be possible to share your schema? It's not happening to us with our sample schemas. I'm curious to know if you have custom stacks etc and your schema of course.

Unfortunately we can't share the schema publicly.
But I can confirm that the schema can be pushed to another environment - so amplify push just in a different env.
We don't really have anything custom.
In the failing environment when doing amplify push, we also generate a bunch of stuff in transform.conf.json. This file is empty in the functional environments.

@chewypear would you be able to send a zip file of your amplify folder to<EMAIL_ADDRESS>It seems as though a mapping template may be missing

@chewypear stack mapping is being created during the push and it seems that transform.conf.json is the source of the problem, because that is where the stack mapping is stored, I think that file is getting invalid for some reason.
Can you elaborate on this:

we also generate a bunch of stuff in transform.conf.json

What do you generate into that file?
Which directory can you find that template2.json?
What version of the CLI was used to create the project?
What version of the CLI you are using during the push?
Is the same computer and same version of the CLI is used?

Please send in email the problematic transform.con.json file to us in email or share here, but replace sensitive content, but make sure to keep the structure.

@attilah I work with @chewypear and just sent the email with the transform.conf.json attached. Thank you.

The root cause of the problem was not related to the CLI itself, but that some text editors are creating duplicate files by altering the filename - copy 1, copy 2, 1, 2, 3, etc suffixes - and those files are being uploaded as part of #current-cloud-backend.zip into the environment's deployment bucket.
Later, on subsequent env checkouts this can produce an incorrect state which makes the push operation fail.
To get to a stable deployment state the following steps could provide a solution:

Check the deployment bucket's name in team-provider-info.json in the project's root directory. Locate the environment's name and the DeploymentBucketName value.
Go to the S3 console and download the existing #current-cloud-backend.zip in the root folder as a backup.
Extract the files of the zip file and look for duplicate filenames like amplify-meta 2.json, look in the API folder api/<api name> as well for schema 3.json and such. Remove these files.
Create a zip file with the updated content and upload it to the same bucket.
Locate the same duplicated files in the amplify folder, and delete them.
Checkout the non-working environment with Amplify CLI, make sure you're on a different one. It will do a pull operation, so the #current-cloud-backend directory will be overwritten with the previously cleaned up files.
Execute amplify push operation to push local changes to the cloud, the update should execute successfully and stack will be in a stable state.


feat: Implement logout button

🛠 Fixes Issue
Closes #47
👨💻 Changes proposed

Created a logout function
Implement a button in the Navbar

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

This pr does not solve logout completely, since it only clears the client's data.
As a result, other connections would still be left open e.g opened chats, etc.
But since the original issue only proposed adding a Logout "button", it is technically complete.

I think it's fair that chats should be open, because someone can be logged in on their phone and just log out of their laptop, it will keep the chats open in mobile

This pr does not solve logout completely, since it only clears the client's data.
As a result, other connections would still be left open e.g opened chats, etc.
But since the original issue only proposed adding a Logout "button", it is technically complete.

I think it's fair that chats should be open, because someone can be logged in on their phone and just log out of their laptop, it will keep the chats open in mobile

I get you, but what if there's only one connected device?
I think the current backend implementation provides enough information to handle edge cases like you described

I get you, but what if there's only one connected device?
I think the current backend implementation provides enough information to handle edge cases like you described

I still think it's okay, because a user can logout on all devices to login on a new one also.

I have updated this PR reusing backend logic to logout. I hope it is a better way.

I have updated this PR reusing AuthContext logic to logout. I hope it is a better way.

I think it's still frontend, but LGTM

I have updated this PR reusing AuthContext logic to logout. I hope it is a better way.

I think it's still frontend, but LGTM

We can create another issue for further features related to this

Thanks For Contributing, PR accepted, I hope you continue to contribute to this project
Check out the community discord server 👉🏽here👈🏽

It was a pleasure, is it possible to add the hacktoberfest-accepted tag?


Query timezone depends on format

Describe the bug
I do 2 almost equals query SELECT toDateTime('2019-01-01 17:00:00') within same client with only difference in format:  RowBinaryWithNamesAndTypes or TabSeparatedWithNamesAndTypes. Unexpectedly they returns two different instants in time.
It looks like in case RowBinaryWithNamesAndTypes function toDateTime(...) uses server time zone while in TSV it uses client time zone. Honestly, I'm not sure what behaviour is right but it definitely should be the same.
Steps to reproduce

create client with  optionsuse_server_time_zone: false and use_time_zone: Asia/Tokyo
do two similar query with different format

Expected behaviour
Same instant
Code example
import java.security.NoSuchAlgorithmException;
import java.time.Instant;
import java.util.Map;

import com.clickhouse.client.ClickHouseClient;
import com.clickhouse.client.ClickHouseConfig;
import com.clickhouse.client.ClickHouseException;
import com.clickhouse.client.ClickHouseFormat;
import com.clickhouse.client.ClickHouseNodes;
import com.clickhouse.client.ClickHouseResponse;
import com.clickhouse.client.ClickHouseValue;
import com.clickhouse.client.config.ClickHouseClientOption;

import static java.time.ZoneOffset.UTC;

class CHClientDateBug {
    public static void main(String[] args) throws ClickHouseException, NoSuchAlgorithmException {

        String date = "2019-01-01 17:00:00";

        ClickHouseNodes server = ClickHouseNodes.of("http://localhost:8123");
        ClickHouseConfig config = new ClickHouseConfig(Map.of(
                ClickHouseClientOption.USE_SERVER_TIME_ZONE, false,
                ClickHouseClientOption.USE_TIME_ZONE, "Asia/Tokyo" // UTC+9
        ), null, null, null);
        try (ClickHouseClient client = ClickHouseClient.builder().config(config).build()) {
            Instant fromRowBinary;
            try (ClickHouseResponse response = client.connect(server)
                    .format(ClickHouseFormat.RowBinaryWithNamesAndTypes)
                    .query("SELECT toDateTime('" + date +"')")
                    .executeAndWait()) {
                ClickHouseValue value = response.firstRecord().getValue(0);

                fromRowBinary = value.asInstant();
            }
            Instant fromTSV;
            try (ClickHouseResponse response = client.connect(server)
                    .format(ClickHouseFormat.TabSeparatedWithNamesAndTypes)
                    .query("SELECT toDateTime('" + date +"')")
                    .executeAndWait()) {
                ClickHouseValue value = response.firstRecord().getValue(0);

                fromTSV = value.asInstant();
            }

            // 2019-01-01T17:00Z
            System.out.println(fromRowBinary.atZone(UTC));
            // 2019-01-01T08:00Z
            System.out.println(fromTSV.atZone(UTC));
            // Error
            assert fromTSV.equals(fromRowBinary);
        }
    }
}

Error log
2019-01-01T17:00Z
2019-01-01T08:00Z
Exception in thread "main" java.lang.AssertionError
	at CHClientDateBug.main(CHClientDateBug.java:51)

Configuration
Environment

Client version: clickhouse-client-0.3.2-patch10
Language version: Java 17
OS: Mac OS Monterey

ClickHouse server

ClickHouse Server version: <IP_ADDRESS>23
Empty DB runing in docker

Honestly, I'm not sure what behaviour is right but it definitely should be the same.

Yes, but as of now, TSV or any other text-based formats are not supported very well compare to RowBinary.
As to the timezone implementation, the implementation is inconsistent with clickhouse-client, the native command line, as described in #1270, which will be fixed.

That would be great. Thank you!


Factorize capitalize and add option to preserve uppercase letters

Merge the duplicated implementation of String::capitalized and Buffer::capitalize and extend it to accept the keep_upper optional parameter. This parameter triggers keeping uppercase letters as is.
It is applied in nitiwiki to preserve acronyms, like the many apparences of FFI at http://nitlanguage.org/FFI/.

#spring-cleaning
:+1: +1

I notice a clear lack on enthusiasm about this PR... I can bring back the duplicated code to remove the optional source if you prefer. I can also move the keep_upper version to a different method or down to the module using it (the implementation would be quite short). But I really would like "FFI" to show up correctly in the manual on the FFI!

ping: I merge or I wait? @R4PaSs What is you opinion?

I give my :shipit: to the indirection from String::capitalized to Buffer::capitalize, however the new signature for Buffer::capitalize bothers me, the self is a bit counter-intuitive, I do approve the addition of a keep_upper option !

@xymus Do you think you could drop the source option ? If so, I'll give you a definite :shipit: :)

I can't drop the source param and keep the same structure, String::capitalized uses source.
To remove source we could either:

In String::capitalized, create a new buffer, copy the string into it and then call Buffer::capitalize but there's performance loss with the extra copy. (Do we care?)
Have a private method with the source param.
Keep the duplicated code.

We could also rename source to src and push it at the end of the signature and hope no one notices it!

OKOKOK... keep the source param, and put it at the end of the signature.

Rerolled to move the src parameter at the end of the signature.

+1
« Meurs, pourri-tueur capitalize »
https://www.youtube.com/watch?v=cRDqXtDn_Yg


Links are disorganized

when I import the links it is wrong, how can I fix this at the time of import

const dataToImport =  {"drawflow":{"Home":{"data":........}}}
editor.start();
editor.import(dataToImport);
I import via JSON

I assume you are using the link system.
What surely you do not have added the event import.
Look at this issue:

https://github.com/jerosoler/Drawflow/issues/608

I assume you are using the link system.
What surely you do not have added the event import.
Look at this issue:

Outputs being disarranged after switching to another tab #608

So I implemented it here and when text doesn't appear on the screen, maybe I'm not getting the JSON with this type of import?

You are not calling editor.import("YOUR_DATA");
They have to call the function at the end of the script.

ahhh, thank you very much it worked.


APS-1642 - Remove staffIdentifier from domain events

Receivers (ap-and-delius-context) are no longer expecting domain events staff member to include a staff identifier value. This commit removes that value as it is not required.

LGTM!


scripts: mpu align for ro section of new memory region on non-XIP system

on non-XIP system, loading address shouldn't be located on FLASH memory region.
on non-XIP system, SRAM is the default region, and relocated .data
section and .bss section of SRAM shouldn't be inserted between
_image_rom_start and _image_rom_end, because the memory region between
_image_rom_start and _image_rom_end will construct the mpu ro region.
Also for the newly added memory region on non-XIP system, the
relocated .text secition and .rodata section should also be mpu aligned.

Is this an ARM-only issue @wentongwu ?

Is this an ARM-only issue @wentongwu ?

So far code relocation is enabled only on ARM platform.

@SebastianBoe @galak could you pls take a look

I will not have time unfortunately.


Error on Texture loading on 1.24

The console spit out this error when I tried YAT
MissingMethodException:` Method not found: 'TextureResource..ctor'.
  at CM3D2.YATranslator.Hook.TranslationHooks.OnAssetTextureLoad (Int32 forceTag, .UIWidget im) [0x00000] in <filename unknown>:0
  at CM3D2.YATranslator.Plugin.YATranslator.TranslateExisting (Boolean levelChanged) [0x00000] in <filename unknown>:0
  at CM3D2.YATranslator.Plugin.YATranslator.OnLevelWasLoaded (Int32 level) [0x00000] in <filename unknown>:0
```

Greetings!
I assume by 1.24 you mean COM version 1.24 (do correct me if I'm wrong).
There haven't been any changes in the TextureResource class in COM since its initial release.
Thus latest version of YAT (<IP_ADDRESS>) should work with the latest version of COM.

Please make sure you're using the latest version of YAT and that your game is indeed running on 1.24.


fix(customized): Customized for wallet.fullstack.cash

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