Decoupled renderer

This pull-request is an initial effort to tackle down plotly/dash/issues/715.

The problem
Working as a front-end developer, I find using Dash to be quite unproductive. Front-end JavaScript evolves fast, and I feel like a framework like Dash will either be left behind in terms of this evolution, or will become too opinionated, ending with a very specific stack, making adoption harder.
The solution
I think it would be very beneficial to this project to move forward into a (optionally) decoupled solution, which at some point would allow for the focus to be put on the good parts which are hard to handle outside the framework. This would mean this project would then be fit for integration in any other React based application - Next.js, Gatsby, Create React App, or whatever the cool folks put on the table next.
How
This PR introduces the capability to use the dash-renderer sub-project in a completely decoupled way. To make it possible, we had to change a couple of global-based parts of the renderer:

Initial config, currently read from an inject script tag;
Redux store, currently singleton based;
Component registry, currently based on global window[namespace] availability;
CommonJS build, to allow for the project usage as a dependency.

Usage
Once accepted, this PR would allow other applications to directly use AppProvider, which was updated to provide an API for outside control of the parts mentioned above. An example of usage could be to have a React component receive a path, and then use AppProvider to render whatever Dash provides on that path:
import React from 'react'
import { AppProvider } from 'dash-renderer'

const DashContainer = ({ path }) => {
  const pathname = 'http://dash-api' + path + '/'

  return (
    <AppProvider
      enforceNew
      registry={{
        resolve: component => {
          // logic to resolve a Dash component.
        },
      }}
      initialConfig={{
        url_base_pathname: pathname,
        requests_pathname_prefix: pathname,
        ui: false,
        props_check: false,
      }}
    />
  )
}

export default DashContainer

...which could then be used like that:
const Page = () => (
  <div>
    <DashContainer path="/first-graph" />
    <DashContainer path="/first-graph" />
  </div>
)

All the changes proposed here intend to be backards compatible, but it would be good if someone could help me test if that's the case.

Thanks @lucasconstantino - very nicely done! I'm sure this will be a useful addition. Let me review the code in detail, but I can see we'll need to get tests to pass (looks like the new build files need to be included in .eslintignore, then we'll see what else pops up) and add one or two new tests to 🔒 the new features.

@lucasconstantino FYI we're merging dash-renderer into the main dash repo. That merge is already in progress (https://github.com/plotly/dash/pull/709) and should be completed within the next day or so. After that this repo will no longer be used. We can continue this PR here if you like, then once it's complete one of us will have to port it to the new repo. I'll be happy to do that part, as long as it doesn't wait for too long and generate a lot of conflicts. The alternative is to simply close this PR and recreate it in the combined repo.


"Late definitions" - define members AFTER asserting type

I'm not sure if this has been suggested already, but I've run into this issue with typechecking where I say that something has a type, but it gives me a warning because the variable doesn't have all it's members upon declaration:
type MyFunType = {
    Something: () -> ()
}

-- It's just an empty table right *now*, I just define it's members *later*.
local ObjectThatDoesSomething: MyFunType = {}
-- The above gives warning: "Table type 'ObjectThatDoesSomething' not compatible with type 'MyFunType'
-- "because the former is missing field 'Something'"

function ObjectThatDoesSomething.Something()
    while true do
    end
end

In the above example, even though I have indeed defined ObjectThatDoesSomething.Something, it still acts like I haven't because when I tell the typechecker ObjectThatDoesSomething is of the type MyFunType, it's just an empty table.
Ideally, it would be able to see ahead in the script to check if I've defined the members afterwards. A workaround would be to define all the members directly in the table, but I don't really like that stylistically:
type MyFunType = {
    Something: () -> ()
}

-- No warnings.
local ObjectThatDoesSomething: MyFunType = {
    Something = function()
        while true do
        end
    end,
}

You can get the behaviour you want using the type assertion operator.
Unsure if that is the recommended way to do this though
type MyFunType = {
    Something: () -> ()
}

local ObjectThatDoesSomething = {} :: MyFunType

function ObjectThatDoesSomething.Something()
    while true do
    end
end

@JohnnyMorganz the issue with that is that I'm "asserting" what the type is an sidestepping the typechecker entirely. Ideally it should be smart enough to figure out that there's no warning to be had instead of me having to force it off, because otherwise there might be a situation where I do forget to define a member because there wasn't a warning.

The way that Luau treats type annotations makes this not workable. A type annotation on a local is a promise that at all points in the program, that local fulfills that type annotation's constraints. This is why Luau is reporting a type error on the initial assignment: because at that point in the program, the local doesn't fulfill the constraints of its annotation. Consider something like this:
type T = { x: string }
local t: T = {} -- no error
if cond() then -- Luau doesn't know if this branch is taken
    print(t.x) -- oh no
end

t.x = "bar"

In order for Luau to prove that this kind of initialization is safe generally, we need to do more robust control flow analysis than we do today, even in the new type solver. We eventually need to do that control flow analysis for other reasons, but it's not something that's likely to come soon. Even when it does arrive, I'm not sure we'll relax this restriction, because of how Luau considers type annotations to be binding promises that hold at all points in the program.
For this kind of initialization, I'd suggest something like this:
type MyFunType = {
    Something: () -> ()
}

local function Something()
    while true do
    end
end

local ObjectThatDoesSomething: MyFunType = {
    Something = Something,
}

Another option would be to construct the table in another local, and then assign to the annotated local once the table is fully constructed:
type MyFunType = {
	Something: () -> ()
}

local obj = {}

function obj.Something()
	while true do
	end
end

local Object: MyFunType = obj


Adapt Physics3DTest.cpp to #879

THIS PROJECT IS IN DEVELOPMENT MODE. Any pull requests should merge to branch dev, otherwise will be rejected immediately.
Describe your changes
Add tree1.obj and responsible code
No solution only test part.
Issue ticket number and link
#879
Checklist before requesting a review

[x ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.

Please remove folder __MACOSX


Add CancellationToken to WebSocketClient::ConnectAsync

Here
https://github.com/microsoft/botbuilder-dotnet/blob/86d67b989c331fadc8f54efccf081586fc643c9a/libraries/Microsoft.Bot.Streaming/Transport/WebSocket/WebSocketClient.cs#L106
The cancellation token should be taken in the ConnectAsync methods and passed through to the underlying transport layer. ConnectAsync invokes code in the bot which could take a long time and should be cancel-able.
[enhancement]

Comment didn't work. Removing Stale tag and reopening.

@carlosscastro - are you able to pick this up? Seems like a quick change.


Edk2 for poco x3 pro 8gb ram

Please add support for this phone

This is intended for SDM845 devices only.

but SDM860 seems to be related to 855 so you can look into edk2-porting/edk2-SM8150

Ok

I can't find it


Fixed incorrect format for app client ID

This part was very confusing until I figured it out. Also renamed "web client ID" to "app client ID" so it matches what we see in the user pool settings, to reduce confusion.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #313   +/-   ##
=======================================
  Coverage   90.42%   90.42%
=======================================
  Files          53       53
  Lines        2549     2549
  Branches      514      514
=======================================
  Hits         2305     2305
  Misses        233      233
  Partials       11       11

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 7bd3994...2b17cf5. Read the comment docs.


A few questions regarding the results and methodology.

Hi, thanks for releasing this work! it has all been very interesting to read. However, I do have a few questions regarding your results and methodology.

For table 4. it seems that you train with a batch size of 16 but report the memory of these runs divided by 16.
There would be a memory overhead of the model weights which is greater than the memory reported in the table.
Is this way of reporting memory commonly done since it does not capture the entire picture? The memory is also reported as the same across all sub-tasks, yet for some of the tasks you are using a different batch size (e.g. 32 for CoLA).

When you report the memory, do you include the overhead of allocating memory for SVD? SVD can have a large memory overhead in practice and especially considering it is only implemented in 32-bit.

Figure 1. shows the impressive results of reducing the memory cost for training LLaMA 7B to within the budget of an RTX 4090. I have noticed that you also use an adaptive low-memory optimisation method (AdaLOMO). I am curious to how much memory improvement is gained from the gradient low-rank projection and how much is coming just from AdaLOMO.
https://github.com/OpenLMLab/LOMO

What do you mean by "token batch size"? Is this just the number of tokens for a single iteration?

The Roberta-base fine-tuning results also seem to be very different from the results reported in the original LoRa paper.

Thanks again!

Thanks for your inertest. Here are the answers to your questions:

For the memory reported in Table 4, it follows the same standard as the memory estimate in Table 2, which is the total of parameters and optimizer states based on BF16 format. We only report this total memory on purpose to make it independent of the choice of batch size.

The memory in Table 2 and 4 do not inculde SVD overhead. Since SVD can be computed either on CPU or GPU, the memory overhead is not included in the memory estimate. In practice, we use torch SVD, which induces ~1GB memory overhead for 7B model, but the total training is still under the memory budget of RTX 4090 (24GB). We will add more actual memory usage in the future.

AdaLOMO primarily reduces the memory consumption by using per-layer weight updates and Adafactor together. It will benefit more if the underlying tasks and models are Adafactor-friendly. However, Adafactor (no beta1) sometimes occur worse performance and instability during training.

Token batch size is the number of tokens for a single iteration. The difference in Roberta-base results might be due to different configurations. We are conducting more fine-tuning experiments which will be released in our next version.


Fixed the navbar and button hover

Spread the contents of the navbar across the length of the navbar

The link looked cramped so spread them out on all pages. #371  but again someone had already done it so enhanced the look.
Added smooth transition for the hover effect

#366  Someone had already made it prominent , i added a additional transition as abrupt transition looks bad

please update your codebase


Cite Erlay paper in README

Agree, the Erlay paper should be in the references. I was going through them and 8 and 9 return 404s.
https://people.xiph.org/~greg/mempool_sync_relay.txt
https://people.xiph.org/~greg/efficient.block.xfer.txt
Are these hosted anywhere else or should they be deleted from the references?

https://web.archive.org/web/20160607023408/https://people.xiph.org/~greg/mempool_sync_relay.txt
https://web.archive.org/web/20160607023333/https://people.xiph.org/~greg/efficient.block.xfer.txt


Provide a programmatic way to open a program in a new tab

Allow the user to open a new tab from the command line
Rather than opening a new tab by selecting an item from the drop-down menu, or pressing a shortcut key, allow the user to open a new tab using a command line. So, for example, to open an instance of Python in a new tab, something like new-tab python. Obviously the exact command name doesn't matter, the key is to have the functionality.
A similar feature is available in ConEmu, where the command line is scanned for a -new_console flag: python -new_console.  This feature is extremely useful when starting a command that should run "in the background" - for example when starting a Jupyter notebook session.
Proposed technical implementation details
This proposal would probably require exposing a programmatic API to "the currently running instance of terminal". Such an API could in practice have far wider reaching implications than just a "run command in new tab" API, and I understand that it could be a significant feature addition. At this point, though, I would be happy with a limited approach that only offered "open a new tab".
It's also possible that something like this already exists, but I haven't been able to find any documentation or examples of it, if that's the case.

Hey thanks for the suggestion! We're actually working on designing this exact request over in #607 and #3495. I'll direct discussion to those threads.
/dup #607

Nice! Thanks for the pointer, I'd missed the other issue :-)

Update: Sorry it took me so long to get back to this, but it appears that #607 did not address this issue - that issue as implemented only allows controlling how a new instance gets opened. My request here is for a way to control an already open instance of Windows Terminal. I'd held off coming back here on the assumption that the implementation was "still in progress", but that issue now seems to have been closed and the feature is considered released, but it doesn't do what I asked for.
What I am looking for is a way to (for example) type a command into an existing Terminal instance, and have that command open a new pane alongside the existing one, and run my program in that pane. Here's a couple of screenshots of how the equivalent functionality works in ConEmu:

I'd be expecting an equivalent command in wt to be something like wt -action split-pane -run py
@zadjii-msft I don't know how to re-open this issue, could you do that please? Or should I open a new issue, explaining my request more clearly?

@pfmoore Oh, sorry for the misunderstanding. We're tracking that part of this scenario over in #4472 and #5000 now

@zadjii-msft Awesome, thanks for the pointers - and apologies that I didn't manage to find those issues myself.
I'm really impressed with both Windows Terminal itself, and the super responsive and helpful interactions on the tracker here - keep up the good work! 🙂


[NEW] feat: Add sorting option for chatrooms

@RocketChat/android
Closes #880
Changes

Added Sorting option in ChatRooms Alphabetical, Activity
Added grouping by room type
Saved user preference of sorting and grouping

Checklist

[x] Add sorting
[x] Add grouping by room type
[x] Add headers for room type

Feature task

Add grouping with favourites(Currently not available in sdk)

@rafaelks @bizzbyster @leonardoaramaki @filipedelimabrito @luciofm Ready to test and review :smile:
Added sorting and grouping. Works fine while searching also.

Demo

@Shailesh351 I tried it out locally and all kinds of sorting worked for me. I'm new to Kotlin so my code review was very limited. Logic makes sense in any case. One newbie Rocket.chat question -- I would expect to have some tests for this new feature. Is there an Android test framework the team is using and do you think this feature should have a test or two covering basic functionality that can then be run by CircleCI?

@rafaelks Resolved conflicts. Have a look on this

Looking good to me! I'm gonna merge this one for now, since @leonardoaramaki already approved.
@Shailesh351 what do you think about adding this other options in another PR? :-)
It's missing now:

Group Favorites;
Unread on top;

Later on, we can get the results from /me API and mirror the same setting from the web. 👍

Sure @rafaelks!!  Will add grouping by favourites and unread in another PR :smile:


fix(libscap): increase the BPF verifier's log buffer size

Signed-off-by: Andrea Terzolo<EMAIL_ADDRESS>What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area driver-ebpf
/area libscap
What this PR does / why we need it:
When we load a BPF program we pass also a tmp buffer to collect the verifier logs in case of failure. If the size of the buffer is not large enough to store all verifier messages, -1 is returned and errno is set to ENOSPC.  This is what happens on my machine (5.11.0-1022-aws 20.04.1-Ubuntu aarch64 GNU/Linux):
bpf_load_program() err=28 event=filler/sys_autofill message=0

Where 28 is exactly ENOSPC.
This PR aligns the log buffer size to the one used by libbpf library, avoiding this problem. Moreover, I tried to improve our debug prints in case of verifier issues, the new output should be something like this (very similar to libbpf):
dereference of modified ctx ptr R2 off=16 disallowed
processed 8486 insns (limit 1000000) max_states_per_insn 5 total_states 151 peak_states 143 mark_read 13
-- END PROG LOAD LOG --
libscap: bpf_load_program() err=13 event=filler/sys_autofill

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

Wow this is super nice! Thank you!

LGTM label has been added.  Git tree hash: c1dae421b0d6452a3fcb39a20101e65605699954

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


404 Not Found and 500 Server error routes

For the not found page:

[x] NotFound Route
[ ] 404 Status on server

For the error page:

[x] Load the error view with express

You don't need lodash :-p
let isNotFound = state.routes.some(route => route.name == 'not-found')

Hi @gpbl,
I'm struggling with a similar situation as you described in https://github.com/rackt/react-router/issues/458#issuecomment-64838487
I have a condition in ParentComponent#render() which renders NotFound component if resource hasn't been found.
In this case I can't spot it this way
Router.run(routes, req.url, (Handler, state) => {
       const html = React.renderToString //.....
       const isNotFound = _.find(state.routes, { 'name': 'not-found' });
       res.status(isNotFound ? 404 : 200).send(html);

because in state.routes I still have the route of ParentComponent and not 'not-found'.
Please suggest how to do that if you have figured it out. Thanks.

I'm closing this because it becomes obsolete with the recent 'isomorphic500' release, based on flux. At the end I switched to the fluxible's router: it made easier to manage the error pages  – mainly because it keeps all inside a "flux" flow.
@Snegostoop did you find a solution with the suggestions you got in the react-router comments?

No, but I elaborated the question as much as I could so I hope we'll at least find out if it's even possible.
I'm also developing my app using flux, but I use another isomorphic-friendly library - flummox. Thanks for your suggestion of fluxible, I'll consider moving to it if this issue with react-router will not resolve.

@Snegostoop I understand better now – you are in the case where a NotFound route may come from a 404 API response (e.g. /user/:id when id is a not existing user). In a flux application having a RouteStore, the idea (proposed by the fluxible team) is to execute an action that tell the store to display a 404 page. Honestly I don't know how this could work in a Router.run callback.


AutoLockRenew keeps throwing timeout exception

azure-service-bus
7.4.0
ubuntu 18.04
Node 18.0

Describe the bug
There is a service bus topic that has a Lock duration of 5/4/3 mins (i have tried all of them). There is a client side which has a autoCompleteMessages set to false, maxLockRenew duration set to 10 mins. When the client fetches the message and it takes some time to process that's when it tries to renew the lock because it expires and that yields a time-out exception ServiceBusError and because of this, the message is fetched again from the service bus causing duplicates. I don't know why do we get the unexplainable timeout exception.
To Reproduce
Steps to reproduce the behavior:

A simple setup of a client and service bus topic with the referenced lock duration and maxAuto lock times and then notice the exception.

Expected behavior
The lock should keep on renewing until the client settles the message.
Screenshots
This image shows logs from the inside of the package.

FURTHER NOTES:
The client runs inside a kubernetes cluster with pm2. Now inside the cluster this is what happens but when i try to run this on my local computer i get a different behaviour but it is still concerning. For now its best to focus on what causes the timeout.

so i noticed a similar issue with the python SDK  which is here.  In my scenario we can clearly see that when the lockRenew is called every single time it just fails and gives a timeout exception. Well event if it does then why isn't this request retried i see that its retryable true. So guys can you help me with this? am i missing something?

ok so i just noticed something . There is another service which works as expected.  I tried to simply add a delay to see if it renew the lock and it async renewed the lock without any timeout error. So the client service does only one exception operation which is the one attached in the screenshot below.

This code takes the readableStreamBody from the getBlockBlobClient function of the @azure/storage-blob and then fetches stream of content. I have reason to believe that this interferes with the lock renewal and yields timeout errors when the package tries to renew the lock.

@junaid-soomro thanks for reporting this issue!  It is interesting to see blob storage code could affect service bus but it may be related to the event loop.
One question: did you noticed this issue recently or has it been a while?  We released a new version of @azure/service-bus recently and I wonder whether that has introduce a regression or not.

I have reason to believe that this has been there for a while and i just discovered this because of the requirement we have where we need to fetch large blobs using streams. I need to conduct another test to narrow this down and it will also ease down your investigation if needed.

Alright so after my investigation i have noticed that when i run the same scenario locally it works as expected but when I am running this in the client app which is in the azure kubernetes environment it gives me that service timeout exception failed to renew lock.
I thought maybe its a problem with my client app hence i tried this scenario in another working client app inside the kubernetes and it also started throwing local renew timeout exceptions.
to conclude:
a nodejs service running inside an azure kubernetes environment starts throwing off timeout exceptions when it tries to renew the lock after lock expiration.

@junaid-soomro thanks for your deep investigation!  If I understand correctly, the issue is actually not related to blob stream.  You could just repro the same issue just by running your app in the AKS environment?  I will try reproduce it myself.
Meanwhile, if you could enable verbose logging and share the logs that would be great! That may tell us what's happening.  Instructions: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/README.md#logging
export DEBUG=azure*,rhea*,-rhea:raw,-rhea:message,-azure:core-amqp:datatransformer

anything on your end so far? I am having trouble printing the logs. I opened a bash session inside the pod and exported the DEBUG variable and restarted the client application yet i don't see the logs in the stdout. in my scenario its pm2 logs.

@junaid-soomro sorry for the delay.  I am still learning AKS and in the process of setting up my environment.  I will update here after I tried to reproduce the issue.

hey if you want we can do this together(gmeet or something else). Since i have the environment ready and then we can post our results in here. what do you say?

@junaid-soomro sure! thanks for offering the help! We could pick a time during 10am-4pm UTC-7 I think.  Regardless I still could use an environment of my own to debug and test potential fixes.
Although looking at the screenshot again, I realized that you already have verbose logging turned on for our SDK.  Maybe you can just share more logs prior to the timeout, that should shed some lights.  This particular error is thrown when we failed to initialize a connection to the service for sending the lock renewal request with timeout limit (default of 60 seconds).

alright so after diving deeper i have reason to believe that the low CPU allocation is what seems to trigger this. Now i get Message lock lost exception but there are times when the lock gets renewed. I would like you to see this. Let's have a session at 14:00 UTC-7. Please schedule a session here is my email i can't find yours<EMAIL_ADDRESS>I will remove this once you send me the invite.

@junaid-soomro I sent an Meet invitation to the above email.

@junaid-soomro You probably didn't see the invitation, or did I mess up with the date? I could move the meeting to tomorrow at same time (14:00 PDT)

hey @jeremymeng  were you able to find anything? We are still facing this issue.

hey @jeremymeng were you able to find anything? We are still facing this issue.

sorry @junaid-soomro I was not able to create a working AKS environment.  I will give it another try.

thanks man for helping me out with this. I have enabled logs in the service running in AKS and soon will post the logs here with the error.


Add Support for Including Untracked Files via Command Line Argument

Issue Name: Add Support for Including Untracked Files via Command Line Argument
Feature Request
Enable the ability to include untracked files using a specific command line argument to streamline workflows.
Why It’s Needed
Currently, there's no direct way to include untracked files via command line, limiting efficiency in managing changes. This feature would significantly improve usability and flexibility.

This feature request brings up an important need, but implementing it requires careful trade-off evaluation to ensure it aligns with our developer ergonomics focus. An alternative worth considering is appending to output.txt instead of overwriting, which could allow users to manually retain context and streamline workflows—this will require further planning before any decisions are made.


Unhandled stream error in pipe

I'm doing
dump_stream.pipe(through2({objectMode:true}, my_transformer))
and getting this:
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:        throw er; // Unhandled stream error in pipe.
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:              ^
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:  Error: invalid event name: None
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at DestroyableTransform.my_transformer [as _transform] (/app/app/util/mixpanel.js:54:20)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at DestroyableTransform.Transform._read (/app/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at DestroyableTransform.Transform._write (/app/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:12)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at doWrite (/app/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:237:10)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at writeOrBuffer (/app/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:227:5)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at DestroyableTransform.Writable.write (/app/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:194:11)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at Stream.ondata (stream.js:51:26)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at Stream.emit (events.js:95:17)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at Stream.reemit (/app/node_modules/mixpanel/node_modules/event-stream/node_modules/duplexer/index.js:70:25)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at Stream.emit (events.js:95:17)
Feb 27 16:11:20 analytics-migration app/analytics_migration_2.1:      at Stream. (/app/node_modules/mixpanel/node_modules/event-stream/index.js:237:12)
My code doesn't create,subscribe,etc to any events, so I suspect this is a bug in through2?
My transformer does call its callback with an error sometimes:
callback(new Error(chunk.error))
But that is correct, right?

can you share a full code snippet of what you are trying to do?

Sure:
// This module assists in doing mixpanel export queries.

var debug = require('debug')('mixpanel');
var Promise = require('bluebird');
var config = require('../../config');
var mixpanel_lib = require('mixpanel');
var through2 = require('through2');

function YYYYMMDD(d) {
  var yyyy = d.getFullYear().toString();
  var mm = (d.getMonth() + 1).toString(); // getMonth() is zero-based
  var dd = d.getDate().toString();
  return yyyy + '-' + (mm[1] ? mm : "0" + mm[0]) + '-' + (dd[1] ? dd : "0" + dd[0]); // padding
}

function insertCommas(str) {
    var a = str.split("");
    a.reverse();

    var t, i = 0, arr = Array();

    while (t = a.shift()) { // jshint ignore:line
       if (((i++ % 3) === 0) && arr.length > 0)
           arr.unshift(",");
       arr.unshift(t);
    }

    return arr.join("");
}

var LOG_SIZE = 10000;

exports.mixpanel_query = function(event, project_id, from_date, to_date) {
  var ret = [];
  var query = {
    from_date: YYYYMMDD(from_date),
    to_date: YYYYMMDD(to_date),
    event: [event],
    where: 'properties["project_id"] == "' + project_id + '"'
  };
  return new Promise(function(resolve, reject) {
    var mx = new mixpanel_lib({
      api_key: config.mixpanel.api_key,
      api_secret: config.mixpanel.api_secret
    });
    mx.export_data(query, function(dump_stream) {
      // our transformer does a handful of things:
      // - remove the dollar signs
      // - assert the "properties" and "properties.project_id" fields exist.
      // - keep a count of chunks and debug-log the count every so often
      var count = 0;
      function my_transformer(chunk, encoding, callback) {
        if(chunk.error) {
          callback(new Error(chunk.error));
        } else {
          // these 3 lines quickly remove the dollar signs
          var chunk = JSON.stringify(chunk);
          chunk = chunk.replace(/\$/g, '');
          chunk = JSON.parse(chunk);

          if (!chunk.properties || !chunk.properties.project_id) {
            callback(new Error('Unexpected chunk format: ' + JSON.stringify(chunk)));
          } else {
            count++;
            if(count>=LOG_SIZE && (count % LOG_SIZE === 0)) {
              console.log('mixpanel_query(' + event + ', ' + project_id + '): ' + insertCommas(count.toString()) + ' rows...');
            }
            callback(null, chunk);
          }
        }
      }
      resolve(dump_stream.pipe(through2({objectMode:true}, my_transformer)));
    });
  });
}

Is dump_stream implementing its own pipe function, perhaps? Otherwise I'm not someone who uses Promises enough to know how those might interfere here.
However...
One thing that is missing from your code is error handling, which would be something like this:
var transformer = through2({objectMode: true}, my_transformer)

transformer.on("error", function handleError(err) {
  /* TODO forward the error to dump_stream, or wherever */
})

dump_stream.pipe(transformer)

If you look at your error, the actual error is: Error: invalid event name: None which would be emit as an error on the transform stream.
The reason I ask about the custom pipe implementation is that typically this error would end up from events.js not stream.js -- i.e.:
events.js:72
        throw er; // Unhandled 'error' event

However, it may just be irrelevant here.

Cool. I think the error was due to something else, closing this.


Changed point vs. interval comparisons in extremesTable() from closed-open to closed-closed intervals

Coverage remained the same at 90.081% when pulling 7aa6f94abf7bf56ef2c2ace7f5ff9cadde8cc66c on ashalper-usgs:AQCU-951 into 39296b7e0f4e179d21b32b8aa1e7a9e46151859b on USGS-R:master.

Coverage remained the same at 90.081% when pulling b33d6b29453db138bb65ff2a0c4f2e6a4cc45716 on ashalper-usgs:AQCU-951 into cc4b80e86433ab85e505c3a1b9bffccf4838898c on USGS-R:master.

@lindsaycarr, do you know what it means when applyQualifiersToValues() compares:
(2016-11-16) to [2016-11-15T00:00:00.0000001-05:00,2016-11-16T00:00:00.0000001)? Is the implied local offset of (2016-11-16), -05:00?

Coverage remained the same at 90.081% when pulling a2256711a449b58f20d9dbc4521dcdcb6624220e on ashalper-usgs:AQCU-951 into 3283221f8a464871adbf58b8ef0504fd6ae60086 on USGS-R:master.

When you run locally, it is whatever your computer is set at. But we should all be running the Sys.setenv(TZ = "UTC") command so it is in UTC. If you want, you can make those times specific.

So it's (implicitly) comparing the intersection of [2016-11-16T00:00:00.0000000Z,2016-11-16T11:59:59.9999999Z] to [2016-11-15T00:00:00.0000001-05:00,2016-11-16T00:00:00.0000001)? This doesn't seem correct. Shouldn't all the operand values be in the context of -05:00?

Coverage remained the same at 90.081% when pulling f02b803630bddbab7715e9f027793cb44d3b8e0e on ashalper-usgs:AQCU-951 into 3283221f8a464871adbf58b8ef0504fd6ae60086 on USGS-R:master.


FunctionalPreprocessingStage.adapt doesn't seem to actually adapt.

(Originally filed as https://github.com/tensorflow/tensorflow/issues/50820 with more context.)
System information
Google Colab

Have I written custom code (as opposed to using a stock example script
provided in Keras): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
TensorFlow installed from (source or binary): Binary
TensorFlow version (use command below): 2.6.0
Python version: 3.7.11
Bazel version (if compiling from source):
GPU model and memory: Google colab
Exact command to reproduce:

Describe the problem
While the FunctionalPreprocessingStage.adapt() method runs without errors it doesn't seem to work.
Source code / logs
If I individually adapt layers like so:
inputs = {}
normalization_layers = {}

for name in NUMERIC_FEATURES:
  inputs[name] = layers.Input(shape=(1,))
  normalization_layers[name] = preprocessing.Normalization()

for name, layer in normalization_layers.items():
  layer.adapt(train_dataset.map(lambda x, y: x[name]))

input_layers = []
for name, input in inputs.items():
  input_layers.append(normalization_layers.get(name)(input))
x = tf.keras.layers.Concatenate()(input_layers)
x = layers.Dense(32)(x)
x = layers.Dense(16)(x)
output = layers.Dense(1)(x)
model = keras.Model(inputs=inputs, outputs=output)
model.compile(optimizer='adam', loss='mse',
              metrics=[tf.keras.metrics.RootMeanSquaredError(name='rmse')])

the model trains (the loss is decreasing). If I instead use the FunctionalPreprocessingState helper class like so:
inputs = []
normalization_layers = []

for name in NUMERIC_FEATURES:
  input = layers.Input(shape=(1,))
  inputs.append(input)
  normalization_layers.append(preprocessing.Normalization()(input))

preproc_layer = preprocessing_stage.FunctionalPreprocessingStage(
    inputs, normalization_layers)
preproc_layer.adapt(train_dataset)

x = tf.keras.layers.Concatenate()(preproc_layer.outputs)
x = layers.Dense(32, activation="relu")(x)
x = layers.Dense(16, activation="relu")(x)
output = layers.Dense(1)(x)
model = keras.Model(inputs=preproc_layer.inputs, outputs=output)
model.compile(optimizer='adam', loss='mse',
              metrics=[tf.keras.metrics.RootMeanSquaredError(name='rmse')])

It doesn't train (the loss isn't decreasing). I suspect that the layers didn't get adapted properly and are doing random transformations to the input features during training.

Thanks for the bug! We will take a look. Worth noting that the FunctionalPreprocessingStage is not an exported symbol of Keras, experimental or otherwise. For now, the first code sample you posted (calling adapt individually on each layer) is the correct approach.
We are definitely aware that having no convenient way to adapt a set of layers at once is a big usability problem, and are looking at it. But we are still exploring exactly how we want to expose the functionality to adapt a set of layers (e.g. a PreprocessingStage class, something directly on keras.Model, something else). That class is still very much a work in progress.

So the latest on this, we do still want to support a good API for adapting multiple layers, but the current thinking is to do that directly on the model class, and not with a separate FunctionalPreprocessingStage. Closing this, as FunctionalPreprocessingStage is not an exported keras symbol.


Update kvcache layout to (N, B, L, H)

Update kvcache layout to (N, B, L, H) to remove redundant split.
Add a naive updateStateKernel to support new kvcache layout in beam search (as a workaround).

Cool!


Update aws-java-sdk-core to 1.12.387

Updates com.amazonaws:aws-java-sdk-core from 1.12.336 to 1.12.387.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #202.


Could you add a branch uses GLFW and GLAD in the repository?

The code in this repository uses find_package(opengl REQUIRED) to locate the OpenGL libraries.
It can also use the 'modern extension loader library,' such as glad. Could you please add a branch in CMake that uses 'glfw' and 'glad'?

We don't have time to do this ourselves at the moment, but would welcome a contribution via a Pull Request.

We don't have time to do this ourselves at the moment, but would welcome a contribution via a Pull Request.

I believe that I correctly added the glad to CMakeLists.txt in #5


Neutral Sector points not being added correctly to controlling side

Should be fixed. Need to play 1 more time to make sure.


colorMapping for stacked columnchart

Is it possible to customize the colors of stacked columns in a columnchart?
The colorMapping function only allows to define a color for each label on the hAxis: https://github.com/keen/keen-js/blob/master/docs/dataviz.md#colormappingobject
But how I define the colors used by a stacked chart like in this example of the google charts docs? https://developers.google.com/chart/interactive/docs/gallery/columnchart#StackedColumns

@larsbo in a stacked chart, each label corresponds to a column (in the DataTable reference) and each interval corresponds to a row. I'm afraid I'm missing something here because it should work exactly as you have described.

@larsbo would you like to replace the full color palette, without using colorMapping?

I tried to use colorMapping to define a specific color for each of my grouped data sets.
E.g. taking the chart from the google docs: https://developers.google.com/chart/interactive/docs/gallery/columnchart#StackedColumns
I want to set my own colors for Fantasy & Sci Fi, Romance, Mystery/Crime, General, Western, Literature and tried this:
var colors = {
  "Fantasy & Sci Fi": "#1595C0",
  "Romance": "#8844CC",
  "Mystery/Crime": "#96213B",
  "General": "#3366CC",
  "Western": "#BB9900",
  "Literature ": "#BF1313",
};
var chart = new Keen.Dataviz()
  .el(document.getElementById("chart-01"))
  .chartType("columnchart")
  .colorMapping(colors);

But the colors are ignored.
When I add the colors with .colors(['#3366CC', '#8844CC', '#EE6699', ...]) the color are used but not in the correct connection to the relevant label of course.

Looks like the colors object has a trailing , that could be causing an error.. are you seeing any errors in console?

HI @dustinlarimer
Nope, no errors in console. Trailing commas should not be a problem for modern browsers and IE > 8.

Ok, afraid I'll need some more info to debug further. Would you be up for sharing a jsFiddle<EMAIL_ADDRESS>On Sat, Jan 31, 2015 at 8:49 AM, Lars Borchert<EMAIL_ADDRESS>wrote:

HI @dustinlarimer
Nope, no errors in console. Trailing commas should not be a problem for modern browsers and IE > 8.
Reply to this email directly or view it on GitHub:
https://github.com/keen/keen-js/issues/227#issuecomment-72325444

I am facing the same problem. Was this issue resolved?

@pawanrawal yes, the solution (thanks to @dustinlarimer!) was to move the colorMapping() function into the query callback:
var colors = {"foo":"#FF0000","bar":"#00FF00",[...]};
var client = new Keen({
    [...]
});

Keen.ready(function(){
    var query = new Keen.Query("count", {
        [...]
    });

    var chart = new Keen.Dataviz()
        .el(document.getElementById("chart"))
        .chartType("columnchart")
        [...]
    ;

    var request = client.run(query, function(err, response) {
        chart
            .parseRequest(this)
            .colorMapping(colors)
            .render();
    });
});

Thanks @larsbo that works. Do you know of a way to reorder the labels too?

sorry, no. I guess it's not possible.


Feature request: Extended TouchHandler Logic

Hi,
Thanks for this useful project. I apologise for the lack of clarity but this is more of a question and potentially feature request. I have successfully integrated this library and can drag e.g. Images around as outline by this project.
However, what I am wanting to do is also provide my own complex TouchHandler logic on the canvas to allow other types of user interactions besides drag animations such as free-form drawing.
I do see in https://github.com/enzomanuelmangano/react-native-skia-gesture/blob/main/src/canvas/canvas.tsx#L81 where my "top-level" TouchHandler will also be called when supplied.
However, what I am trying to figure out is how to have the TouchInputs be "consumed" if, for example, they do intersect a Touchable component as defined in this library, and if not then process the touch input based on my own custom logic.
Currently I am having difficulty trying to figure out how to differentiate when a TouchInput will be interacting with a Touchable element on the canvas or is in empty canvas space where I should apply my own touch logic.
I am roughly thinking if the TouchHandler internal to this lib actually intersects a Touchable, it prevents propagation up to the parent TouchHandler and if it does not, it does indeed call my parent TouchHandler so I can perform my custom logic elsewhere.
Any feedback or suggestions would be most appreciated.

Hi @zaventh I'm really sorry for my late reply. Actually I'm working on a reimplementation of the logic in order to support Reanimated v3 and the Gesture Detector (from RNGH).
This will extend the possibilities with this package and definitely improve even the performance.
I'll keep the issue opened till the Pull Request isn't created

I really took my time 😅, but I think that with these changes you will have much more control over your touchables:  https://github.com/enzomanuelmangano/react-native-skia-gesture/pull/11


Marklogic Repackaging

Required items, please complete
Change(s):

Data Connector and Parser Description update

Version Updated:

2.0.2

looking into this.


Object is not parsed

I tried to use the following example from Open API repository into YAML online parser.
The versions object in line 93 is not parsed, with the exported value to show versions: [Object]
Here is the permalink.
Is this related to specific configuration or is a general bug?

Not displayed in demo != not parsed.
Library itself is ok.


Hotfix ga4 duplicates entries

Description & motivation

Checklist

[x ] I have verified that these changes work locally
[x] I have updated the README.md (if applicable)
[x] I have added tests & descriptions to my models (and macros if applicable)
[x] I have run dbt test and python -m pytest . to validate existing tests

these models are tested and working in prod already


Hide remaining ?

Every few seconds I  get this

Note the veeeeeeeery small remaining child value( yellow near bottom)
Which only exist for a second or two untill the state of the parents is corrected again.
Is there a way to permanently hide that remaining child?

You can set the min_state option to hide small values

sorry, I missed that in the docs, Thanks!


Question: Finding metric targets via prometheus.operator.* or discovery.kubernetes.*

Hello again! While reviewing the default metrics.river config I noticed that for the handful of services that export cluster/system metrics (node-exporter, etc) the discovery.kubernetes.* and discovery.relabel components are used to find the relevant targets for said services. Similarly, I also noted that the default config includes the use of the prometheus.operator.* components to find targets via the Prometheus Operator CRs -- which among other benefits mitigates the need to add discover.* components to an ever growing config.
Assuming I have that all straight, I'll get to my actual question: Given that the helm charts for kube-state-metrics, node-exporter, opencost, and even grafana-agent itself all include ServiceMonitor resources, why write configuration to scrape those targets when the helm chart already provides the information on how to scrape the services? In addition, any concern the targets will be scraped twice (if any of the helm charts mentioned enable the creation of the ServiceMonitor by default)?
Thanks!

Yes, there is the chance for double-scraping. But I think it's worth the risk considering:

This chart controls the deployment of Node Exporter, Kube-State-Metrics, OpenCost, and the Agents. So we can turn those off by default.
This chart aims to be a easy replacement for people who are used to instrumenting their cluster with: Grafana Agent Operator, Kube-prometheus-stack, and many other implementations. I wanted to have ServiceMonitor support in order to minimize the effort needed to "convert" everything, especially custom application metrics.

It's making me think of ways to minimize double-scraping, though. Perhaps there's a test that can be added to helm test that can check if a metric like kube-node-info is being scraped, but coming from multiple sources.


Mobile native clients

We are considering to switch our backends to .NET Core when SignalR Core is ready.
Currently we are using the old SignalR with mobile apps (Android and iOS) using a third party obj-c library and the official java client but with an our implementation of the web socket protocol based on okhttp-ws
There are any plans for Java and Obj-C/Swift clients for the new SignalR?

https://twitter.com/davidfowl/status/826594554119741440


get update

Description
[ What changed? Feel free to be brief. ]
Checklist

[ ] The base branch of this PR is preview, rather than main

ok


New batch inference

Is it convenient to run a benchmark test for all the pretrained models?

I wonder if it is possible to summarize the tested scripts and configs to ensure compatibility.


Design Dictionary Types for Routing/Html/Url

Need to come up with an efficient and intuitive design for the various dictionary types we use in webfx/routing.
We brought back the old property helper code for turning objects into dictionaries (just WebFX). Should we commonize this with routing?
Eilon's idea is to throw on strings and other types that we expect aren't useful here.
e.g. We typically look for specific tokens (controller, action) - These can be optimized to have faster access with pre computed keys.
| 61 | 10157 | Reported By: Ryan Nowak |

Self assigning as I've been working on this for perf.

Change in routing: aspnet/Routing@d4b96b27c0a7ab051b6b90a72a131e5042e141be

Change in Mvc aspnet/Mvc@4bcf236450edaecd07ab2e8b83b3879bf70c13be

Reopening this issue, as I think we need to do more here. We should consider treating RVD as a list rather than a 'real' dictionary. Even with the changes in this area so far, we can push it much further, routing is still a really significant source of allocations.
Here's an example of what we can do - allocations 3000 requests to a simple API including link generation:
Before

After

The total savings here is about 6.25% of all allocations.

Final change in routing aspnet/Routing@dd46f6b00f036081ba23843de8a0fb96902fd55c


A-B-C

How to create intersection of A-B-C

You can checkout the test example: https://github.com/AudienseCo/highcharts-venn/blob/master/test/js/test.js


feat: add operation mapping for device profile

Proposed changes
TODO:

[x] test for main device mapping
[x] test for child device mapping
[x] doc test for c8y deserializer
[x] test deserilaizer

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

#2921
#2920

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

While I am testing end-to-end, I found that handling for the device_profile command metadata is missing. This means, c8y_DeviceProfile is never declared in 114 message...
This match needs to be expanded. The implementation should be very similar to the case OperationType::Restart.
https://github.com/thin-edge/thin-edge.io/blob/1c68fab17eafe75dbefefbe6b7caf02ff313348a/crates/extensions/c8y_mapper_ext/src/converter.rs#L1123-L1149
I'll let you decide if you address this in this PR or a follow-up PR.

Another problem: c8y-mapper doesn't subscribe ../cmd/device_profile topic and ../cmd/device_profile/+ topic. You have to add something like below
 if capabilities.device_profile {
     topics.add_all(crate::operations::device_profile::topic_filter(&mqtt_schema));
 }

to this file
https://github.com/thin-edge/thin-edge.io/blob/1c68fab17eafe75dbefefbe6b7caf02ff313348a/crates/extensions/c8y_mapper_ext/src/config.rs#L201-L218

LGTM

The feature is working as expected, QA checked the functionality according description


Add relative abundance plot

Add a plot showing relative abundance of targets with the options:

Show proteins or peptides
Show replicates by all, single, or best
Exclude peptide lists
Exclude standards
Show CV
Log scale
Add formatting (with the same formatting options as the volcano plot)

Add the option to create a match expression using a list of identifiers, instead of a regex.
Add semi-opaque backgrounds to labels on the relative abundance plot and the volcano plot.

It looks like there are still some fixes needed before this can be merged. Properties context menu does nothing. Selection context menu item seems to do nothing. If some formatting criteria are specified it probably should show a legend.

On the last one, we are just trying to be comparable to the volcano plot.
Let's get this to the level of that plot and make a first checkpoint merge.
Then we can return to ways that both plots can be improved. I would
probably go for the label placement work over the legend in a list of
priorities for both plots.
On Thu, Jan 4, 2024 at 2:05 PM Rita Chupalov @.***>
wrote:

It looks like there are still some fixes needed before this can be merged.
Properties context menu does nothing. Selection context menu item seems to
do nothing. If some formatting criteria are specified it probably should
show a legend.
—
Reply to this email directly, view it on GitHub
https://github.com/ProteoWizard/pwiz/pull/2807#issuecomment-1877823207,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYBWUHQCYTX3HGZSD2SFNLYM4RTPAVCNFSM6AAAAABALU3WNKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXHAZDGMRQG4
.
You are receiving this because you commented.Message ID:
@.***>


Fix issue in mon accessing

Fix mon endpoint issue in E2E
In toolbox mon endpoints are not updated properly, this is causing an issue in E2E. This PR is a workaround to fix this issue.
logs from toolbox pod
Sep  4 09:01:34.815: INFO: stdout: "Wed Sep  4 09:00:10 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: \nWed Sep  4 09:01:30 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: a=<IP_ADDRESS>:6789\n"

This PR will check the mon configuration  in toolbox pod logs
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

@humblec @leseb CI is faliing due to yum update
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
http://download.ceph.com/rpm-nautilus/el7/x86_64/librados2-14.2.3-0.el7.x86_64.rpm: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
Error downloading packages:
  2:librados2-14.2.3-0.el7.x86_64: [Errno 256] No more mirrors to try.
The command '/bin/sh -c rm -f /etc/yum.repos.d/ceph-iscsi.repo && yum -y update && yum clean all' returned a non-zero code: 1
Makefile:57: recipe for target 'image-cephcsi' failed

@leseb mon host was empty in the toolbox
[global]
mon_host =
[client.admin]
keyring = /etc/ceph/keyring

Sep  4 09:01:24.301: INFO: Running '/usr/local/bin/kubectl --kubeconfig=/home/travis/.kube/config logs -nrook-ceph rook-ceph-tools-76c7d559b6-gz4g5'
Sep  4 09:01:24.455: INFO: stderr: ""
Sep  4 09:01:24.455: INFO: stdout: "Wed Sep  4 09:00:10 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: \n"
Sep  4 09:01:24.455: INFO: mon endpoints info is not present in ceph.conf [Wed Sep  4 09:00:10 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf:
]
Sep  4 09:01:34.455: INFO: Running '/usr/local/bin/kubectl --kubeconfig=/home/travis/.kube/config logs -nrook-ceph rook-ceph-tools-76c7d559b6-gz4g5'
Sep  4 09:01:34.655: INFO: stderr: ""
Sep  4 09:01:34.655: INFO: stdout: "Wed Sep  4 09:00:10 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: \nWed Sep  4 09:01:30 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: a=<IP_ADDRESS>:6789\n"
Sep  4 09:01:34.656: INFO: Running '/usr/local/bin/kubectl --kubeconfig=/home/travis/.kube/config logs -nrook-ceph rook-ceph-tools-76c7d559b6-gz4g5'
Sep  4 09:01:34.814: INFO: stderr: ""
Sep  4 09:01:34.815: INFO: stdout: "Wed Sep  4 09:00:10 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: \nWed Sep  4 09:01:30 UTC 2019 writing mon endpoints to /etc/ceph/ceph.conf: a=<IP_ADDRESS>:6789\n"

the workaround is working as expected I think, CI passed 2 times,  retriggered one more time  to see what happens

@humblec @ShyamsundarR @nixpanic @poornimag PTAL this should fix CI, tested 4 times in CI

CI passed now, we need this  one to unblock other PR's

@poornimag @nixpanic can any one of you approve this without delay to unblock other PRs?


[New game]:  project addition by MonoPoly Game addition

🎮 Game Request
Game logic and basic description
Monopoly is a classic board game where players compete to acquire wealth through buying, renting, and trading properties. The objective is to drive opponents into bankruptcy, thus becoming the richest player by the end of the game.
Point down the features
Game points
Players: 2 to 8 players.
Board: The board consists of 40 spaces, including 28 properties, 3 Chance spaces, 3 Community Chest spaces, 4 railroads, 2 utilities, a "Go" space, a "Jail" space, a "Free Parking" space, and a "Go to Jail" space.
Tokens: Each player selects a token to move around the board.
Money: Players start with a set amount of money.

Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Damini2004 , You can't have another issue before completing the previous one 😀
you already have the following 2 open issues 👀 ! :
#4483
#3896

Hey @Damini2004 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

Hey @Damini2004 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹


Some kind of mail-sending issue

Bug identification is in progress.
Not all mail that should be sent to confirmed subscribers seems to reach MailCatcher, despite the fact that, when project/subscriptions/management/commands/sendnewsletter.py was changed to print the email address/is-confirmed/contents for each email, this worked, and when it was told to send a test email in addition to the regular email, test emails for all confirmed subscribers were received.
IDK what's wrong. Maybe an issue with HTML emails, since the test emails didn't have an HTML component? Mis-formatted addresses?

Details are in a gist, which is private for now because I don't want everyone to see my terrible placeholder text. Maybe I should make another version with less terrible placeholder text.

Using a Python smtpd debugging SMTP server (python -m smtpd -n -c DebuggingServer localhost:1025) strongly suggests that the error is in MailCatcher and not somewhere else. (We haven't tested it with HTML emails, but some text emails will send to the Python debugging SMTP server but not to MailCatcher).


brscan5: init at 1.2.6-0

Motivation for this change
The existing brscan4 package and module don't work correctly with my Brother DS-640. (with brscan4, scans would 'cut off' after 1/4 of the page.)
This PR creates a brscan5 driver package and NixOS 'hardware.sane.brscan5' module to set it up.
This works for me with my scanner plugged in via USB, but I don't have a network scanner available to test with. If anyone has a compatible Brother network scanner, please try it out with this driver and report how it works.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@jraygauthier I'd appreciate you taking a look at this PR if you get a chance. Thanks!

Hi @mattchrist, thanks for contributing.
I might be wrong but at first glance it would seem to me there is a high incentive to extract some commonalities between both 4 and 5 and reuse these from both sides. Was there a lot a changes from the 4 code or were these minor?

You're right, theres definitely an opportunity to refactor. I'll see what I can do. Thanks!

Marked PR as Draft. There's a few more things I want to do with this.

Result of nixpkgs-review pr 123426 run on x86_64-linux 1

9 packages failed to build:

citrix_workspace
citrix_workspace_20_04_0
citrix_workspace_20_06_0
citrix_workspace_20_09_0
citrix_workspace_20_10_0
citrix_workspace_20_12_0
citrix_workspace_21_01_0
gns3-server
nixos-install-tools

37 packages built:

alerta-server
appdaemon
brscan5
cura
freeoffice
gdbgui
gns3-gui
home-assistant
libredirect
moodle-dl
octoprint
onionshare
onionshare-gui
python38Packages.aioambient
python38Packages.cassandra-driver
python38Packages.flask-socketio
python38Packages.python-engineio
python38Packages.python-engineio_3
python38Packages.python-socketio
python38Packages.python-socketio_4
python38Packages.sentry-sdk
python38Packages.simplisafe-python
python39Packages.aioambient
python39Packages.cassandra-driver
python39Packages.flask-socketio
python39Packages.python-engineio
python39Packages.python-engineio_3
python39Packages.python-socketio
python39Packages.python-socketio_4
python39Packages.sentry-sdk
python39Packages.simplisafe-python
softmaker-office
sublime-merge
sublime-merge-dev
sublime3
sublime3-dev
teamspeak_client

citrix_workspace

citrix_workspace_20_04_0

citrix_workspace_20_06_0

citrix_workspace_20_09_0

citrix_workspace_20_10_0

citrix_workspace_20_12_0

citrix_workspace_21_01_0

gns3-server

These packages fail to build in master too.

citrix_workspace* need manual downloads after accepting a eula (which I'm not interested in doing).
gns3-server is missing a dependency

nixos-install-tools I'm a bit confused about, it builds fine in my branch and in the nixpkgs-review shell:
[nix-shell:~/.cache/nixpkgs-review/pr-123426-2/nixpkgs]$ nix-build -A nixos-install-tools
/nix/store/kccc3lz58nanfby3qi5rb95ksi1irfsn-nixos-install-tools-21.05pre-git

@SuperSandro2000 @jraygauthier: I'd appreciate you taking another look when you have a chance. Thanks!

Thanks for reviewing @jraygauthier and @mkg20001!
I just noticed that the brscan5 config utility wasn't properly 'identifying' network scanners. Pushed a small change to address that issue, and updated the NixOS test to catch that problem.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/383

I took a second look at libredirect.c and was able to follow along new additions to the module.  I had to squint a bit for replace_string but finally understood the reason behind the second looping level matches[nn] += len_diff (an optimization to use a single buffer).
$ nix-build -I nixpkgs=. -A libredirect
# Success here.

$ nix-build -I nixpkgs=. '<nixpkgs/nixos/tests/brscan5.nix>'
# Success here.

Re-basing on top of my current-config, using the following snippet:
{ config, pkgs, ... }:

{
  hardware.sane = {
    enable = true;
    # brscan4.enable = true;

    # brscan4.netDevices = {
    #   livingRoom = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; };
    # };

    brscan5.enable = true;
    brscan5.netDevices = {
      livingRoom = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; };
    };
  };
}

I was able to observe the following file system effect:
$ tree -l /etc/opt/brother/scanner/
/etc/opt/brother/scanner/
├── brscan5 -> /etc/static/opt/brother/scanner/brscan5
│   ├── brsanenetdevice.cfg
│   ├── brscan5.ini
│   └── models
│       ├── brscan5ext_0.ini
│       ├── brscan5ext_1.ini
│       ├── brscan5ext_2.ini
│       ├── brscan5ext_3.ini
│       ├── brscan5ext_4.ini
│       ├── brscan5ext_5.ini
│       ├── brscan5ext_6.ini
│       └── brscan5ext_7.ini
└── models -> /etc/static/opt/brother/scanner/models  [recursive, not followed]

3 directories, 10 files

$ cat /etc/opt/brother/scanner/brscan5/brscan5.ini
[Support Model]

[ModelTypeName]

[Driver]
Browse=0
SKEYAPP=/opt/brother/scanner/brscan-skey/skey-scanimage

$ cat /etc/opt/brother/scanner/brscan5/brsanenetdevice.cfg
DEVICE=livingRoom , "MFC-7860DW" , Unknown , NODENAME=BRW0080927AFBCE

Which still seems to make sense according to my spec. I would assume Unknown to mean that the configuration tool did not find the model I specified. Searching through /etc/opt/brother/scanner/brscan5/models/*.ini for my model as expected, I do not find it (as my model is expected to be supported by brscan4, not brscan5).
Running scanimage, I obtain this:
$ scanimage -L
Segmentation fault (core dumped)

I am not sure if we should worry about the segmentation fault or not. Might have other cause (TBD).

Now, changing my spec for a brscan5 supported model (model = "ADS-1200"), as expected, I observed the following change:
$ cat /etc/opt/brother/scanner/brscan5/brsanenetdevice.cfg
DEVICE=livingRoom , "ADS-1200" , 0x4f9:0x459 , NODENAME=BRW0080927AFBCE

Note how the Unknown cell was changed to 0x4f9:0x459 .
I still observe the scanimage segfault however:
$ scanimage -L
Segmentation fault (core dumped)

Will have to investigate this. Maybe I need to restart?

Coming back from reboot.
With the unsupported model:
$ scanimage -L
# ..
device `brother5:net1;dev0' is a Brother

With the supported one:
$ scanimage -L
# ..
device `brother5:net1;dev0' is a Brother livingRoom ADS-1200

That's nice, as exactly as expected.

With the unsupported model spec ("MFC-7860DW" which is the actual model for my scanner HW), I was able to launch a scan of the flatbed and surprisingly still get a nice output using my usual scan soft.
Even more surprisingly likewise with support mode spec ("ADS-1200" that does not correspond to my HW). I would assume it fallback to a generic default scanner mode and one has to delve deeper into the model specific features in order to see a difference.
To me, this works perfectly. It now has been shown to work with another brother network scanner.

Really nice job @mattchrist.

@Mic92 @aanderse Would you please review this PR?

This PR has been reviewed and approved by multiple people, is there anything left that this request needs before it can be merged?


Backtrace

@stevenlovegrove adding your implementation of backtrace to FARM_CHECK

@stevenlovegrove I had to revert to this implementation  on linux: // https://panthema.net/2008/0901-stacktrace-demangled/stacktrace.h


Create kgshemmingen.txt

Site: http://kgshemmingen.de/

@lheinrichde Pull request merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!


a server.py / server.R / server.sh script to query open jobs and steer the local compute infrastructure

# loading some general purpose packages
library(tidyverse)
library(rjson)

# list all jobs
system("bin/dev job list --csv > openjob.csv")
# filter open jobs that have a complete URI
jobs = read_csv("openjob.csv", skip = 4) %>% filter(Status == "open") %>%
  mutate(nchar = nchar(Joburi)) %>%
  filter(nchar == 46)

if(nrow(jobs) > 0){
  # if there is an open job, pull the jobURI to learn more
  jobs <- jobs %>%
    mutate(job_out = paste0("tickets/", Joburi, ".json")) %>%
    mutate(command = paste0("bin/dev file pull ", Joburi, " -o ", job_out)) %>%
    #head(1) %>%
    rowwise() %>%
    mutate(json_status = system(command))

  # extract job description
  jobs_content <- jobs %>%
    rowwise() %>%
    mutate(json = list(rjson::fromJSON(file = job_out))) %>%
    mutate(service = .$json[[1]]$attributes[[2]]$value,
           input = .$json[[1]]$attributes[[3]]$value) %>%
    # if jobs of the "lab-reverse_complement" class exist, claim and run the job
  if(jobs_content %>% filter(service =="lab-reverse_complement") %>% nrow() > 0){
    # TODO claim the job
    # TODO something like system(paste0("bin/dev job accept ", Id))
    # TODO needs password input for accpeting jobs
    # run the job
    jobs_content %>% filter(service =="lab-reverse_complement")  %>%
      rowwise() %>%
      mutate(response = list(httr::GET(url = paste0("https://02wun6.deta.dev/", input)))) %>%
      mutate(output = content(response)$reverse_complement)

    # TODO format a response JSON
    # TODO pin the response JSON to IPFS
    # TODO call the swap function to mint the NFT and get the reward
  }
}

# TODO implement loop over these operations to regularly check for open jobs, filter them, claim them and return the result via the exchange.

We have a basic version of the exchange protocol running on the "cli-subgraph-a" branch
The next step is now to automate the server side of the transaction to automatically check for open jobs, filter them, claim them and return results.
@yawnxz has been working on a version of this in the past and I created an ugly script today in R that can handle parts of the server side when run in the working dir of the openlab-cli
I would love if someone could take this (pseudo)code and and implement a "server.R" / "server.py" script that could be run in perpetuity on the server side to automatically look for new jobs and process them
@blahah , @mahdi and @Science.Stanley this is very much the kind of script that would run on the head node of a cluster, with the head node submitting jobs to the cluster if they adhere to a certain logic
This is spagetthi code, and should be factored into separate functions (e.g. filter, process, submit)

Hello, you included me in this post, but I think you meant to include someone else -- just FYI that the intended person will not get notified..

Oh hi - thank you for the heads-up -> namespace collision between discord and github!

OK, I'm closing this and we can create a new issue if there's a feature of the CLI being requested.


[CI] Add wheel for job IndexRefDocVerify

Azure CLI no long depends on wheel https://github.com/Azure/azure-cli/pull/13230, have to add it explicitly on CI.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/haroldrandom/azure-cli-extensions.git@add-wheel#subdirectory=src/$EXT&egg=$EXT"

add to S169


Plotting change in Likert survey items

I am using the raincloud plot to show a Likert item's before and after changes (five levels). The plot nicely shows where respondents moved in their responses. However, unlike a plot with continuous variables, the ties where there was no change are displayed at the same level (a line with the same thickness for tied scores at each level). Thus one cannot see the number of respondents who stayed the same. My suggestion is this: is there a way to jitter on the Y axis so one can get a sense of these cases? Or perhaps create a line whose thickness is a function of the proportion of tied cases? I tried some ggplot2 code but cannot get it to work with the raincloud function.

Thanks for your issue!
Can you please provide a minimal reproducible example?
Aside from that, position_jitter() does have a width and height option, so you might want to explore that first?

I tried to add position_jitter() in various parts of the plot (assuming it works like a ggplot), but nothing worked—it might work, but I just do not know how to do it on my end.
Below is code to create a similar plot—assuming that is what you wanted with a minimal reproducible example. You can see that the horizontal lines for ties vary in shade (lighter for fewer tied cases); not sure if that is something you could exploit.
#generate data
pre <- c(1,1,4,1,1,2,1,1,2,2,1,3,2,1,2,2,2,3,2,4,5,2,3,3,4,4,2,2,5,3,4,3,5,3,3,4,3,2,2,2,4,2,3,2,3,4,4,3,5,1,2,5,2,3,3,5,5,3,1,3,4,2,3,4,3,3,2,3,4,5,3,3,3,4,2,2,4,3,3,5,3,3,2,2,3,3,1,4,4,2,3,4,2,2,1,2,3,3,3,2,1,2,3,3,3,2,3,4,3,4,3,1,4,2,3,2,4,3,3,4,3,3,2,3,4,3,4,3,3,3)
post <- c(1,1,1,1,1,1,1,2,2,1,1,2,2,3,2,2,2,2,2,2,3,3,2,3,1,4,1,2,3,3,5,2,4,3,4,2,3,2,3,2,3,3,3,3,3,3,4,3,5,3,1,3,2,3,3,2,2,3,3,3,4,3,3,3,3,3,3,4,3,3,3,4,3,4,3,3,2,3,3,3,3,3,1,3,3,2,2,4,5,3,3,4,3,3,2,3,3,4,3,4,1,3,4,2,3,2,4,2,3,3,3,3,4,1,3,4,3,3,3,4,3,3,3,3,3,3,3,4,4,5)
test_data = data.frame(pre,post)
#Test_Plot####
df_1x1 <- data_1x1(
array_1 = test_data$pre,
array_2 = test_data$post,
jit_distance = .2,
jit_seed = 92102)
raincloud_plot <- raincloud_1x1_repmes(
data = df_1x1,
colors = (c('dodgerblue', 'darkorange')),
fills = (c('dodgerblue', 'darkorange')),
line_color = 'light gray',
line_alpha = .3,
size = 1,
alpha = .6,
align_clouds = FALSE) +
scale_x_continuous(breaks=c(1,2), labels=c("Pre", "Post"), limits=c(0, 3)) +
xlab("Time") +
ylab("Score") +
theme_classic()
raincloud_plot

Hi,
We are working on an updated version of our packages which will include geom_() functionality to create raincloudplots. In this we have included a likert = TRUE and likert = FALSE option which will induce a slight y-axis jitter. Public release will follow soon!

That sounds great! I look forward to seeing the change. I presented findings using the raincloud plot at a conference, which was well received. I hope to publish a paper using it (citation coming soon).

As I mentioned earlier, we have published a new R-package ggrain which now has a single 'geom_rain()` functionality. Hopefully you can create the plot you want with our newest package.
Best, Jordy


Question about jxlp boxes in the jxl file

Hello,
The standard (9.10 JPEG XL partial codestream box) says the the full codestream is produced by concatenation of all partial codestream. Does it mean, that the codestream can be split safely only on byte boundaries? If not, how should the bit paddings handles?
As an example there is written in the standard:
Splitting the codestream into multiple parts allows placing the first part of the codestream (e.g. the header and preview) early in the file, followed by possible metadata boxes, followed by the main part of the codestream.
But the header does not need to end on byte boundary (as I have encountered in https://github.com/libjxl/libjxl/issues/3195).
And also is there some sort of guarantee that the whole header will in the first jxlp box? Probably not, right?
Thank you for clarification

The spec is not explicit about it (we should probably fix that), but jxlp boxes are supposed to be byte-aligned, so the codestream can only be split on byte boundaries, and there is no bit padding to consider.
The "header" in the sense of "anything before the first frame header" does end on a byte boundary. IIRC this is how libjxl does it.
There is no guarantee that the whole header will be in the first jxlp box.

Thank you for the clarification.


Warning about GLAPIENTRY macro redefined

Compiling for BSD (have seen it on FreeBSD, NetBSD and I think OpenBSD as well) seems to print a warning about the GLAPIENTRY macro being redefined.  I know that this is only a warning, but it would be great if this could be fixed/silenced so that we don't have to see it when compiling for those platforms. Compiling for Linux and Windows is free from warning in my testing.
In file included from /go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20211024062804-40e447a793be/native_linbsd.go:10:
In file included from /go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20211024062804-40e447a793be/glfw/include/GLFW/glfw3native.h:114:
In file included from /freebsd/usr/local/include/GL/glx.h:32:
/freebsd/usr/local/include/GL/gl.h:56:11: warning: 'GLAPIENTRY' macro redefined [-Wmacro-redefined]
/go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20211024062804-40e447a793be/glfw/include/GLFW/glfw3.h:5894:10: note: previous definition is here

I think it is an issue here at least. Feel free to close if it is not.

This should be fixed now for all Unices with 535c3ce63240ee91f998219b35dc82abef545c3d. Thank you!

Wonderful! Thanks for fixing it :)


[FEATURE] Configure FVM for the Project

Is your feature request related to a problem? Please describe.
The current project does not utilize FVM for managing Flutter versions, leading to potential version conflicts and a lack of version consistency. Manually changing Flutter versions for the project is a tedious, time-consuming, and inconvenient process, adding to the problem.
Describe the solution you'd like
I'd like to propose implementing FVM (Flutter Version Management) for the project. This will help us isolate Flutter versions used in the project and streamline version management.
Describe alternatives you've considered
No alternative solutions have been considered as FVM is a widely-accepted tool for Flutter version management.
Additional context
FVM Homepage
Proposed Steps:

Install FVM in your development environment.
Configure the desired Flutter version for the project using FVM.
Update the .fvmrc or fvm_config.yaml file in the project with the Flutter version information.

I would be happy if you gave it a go if you are able. If not, I will do my best to add it quickly, but it might take a few days

@chenasraf What Flutter version are you using for this project? 2.13.0-0.2.pre?

Last build was with the current stable at the time, 3.13.5

Fixed in 91b5502033bb3004ac70541bd2118616267b3621


Add flow typing to user permission types

Checklist

[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JSDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing

Description
This simply adds flow typing to the user permission types, which previously could be any string value. At the very least this is a nice reference for all of the possible types, which previously didn't exist.

:tada: This PR is included in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


record duplicate/ update problem

Library version
1.1.1
OS & OS version
win10 blazor webassembly
Describe the bug
record not added/updated correctly when connection is opened only at the start of the program.
if i want update the entity, the orginal entity is added and the modified entity
To Reproduce
add:
if i open connection add record , close connection and do the same with the 2nd record is all ok
but if i open connection at the start of the program and write 1 record, and after another record, i found 3 record,
the entity are not marked as already added
update:
open connection insert 2 record, update the first record, i found 3 records of the first, and 2 records of the second,
the updated record is part of the group of 3 records
Exceptions (if any)
Expected behavior
Additional context
the connection is closed only when application is closed

Closed because you didn't provide C# code to reproduce the problem.


GBIF has 3D models and doesn't really know what to do with them

At TDWG 2018, Matt Blisset noted that GBIF had a small number of 3d models, but didn't really know how to handle them.  Also noted, if there were a IIIF viewer, they wouldn't have to reinvent it for display of 3D images.

The media types for 3D models known to the 3D Task Group have been added to the proposal for controlled vocabulary for dcterms:format, https://github.com/tdwg/ac/issues/171. The other aspects of this issue involving GBIF's media viewers and the availability of IIIF viewers for 3D models are out of scope for the Audubon Core MG. So I am closing this issue now.


Release 2022.11.14

This release adds the following PRs:

#26
#27
#28
#29

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add deepspeed-chat

https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-chat/README.md

Thanks, we've updated the README.md with your suggestions.


Ts ws

Probably the biggest change to this project so far.

All the server stuff is rewritten in typescript
The messages page is now different for trial and regular, and the regular is using vue.js (until LWC-off-platform is available)
lots of mocha testing, including integration testing of a large number of repos
some new scripts for running locally, and husky hooks
using new TS-based data structures for the messaging.  The client data structure has the full output of commands, so even if the client isn't ready to catch the first one, it'll get it on the next command's output
worker dynos log out from the scratch org after building.  This makes re-auth (from pool) much easier since force:org:display is iterating every org sfdx knows about
analytics to track deploy times
fix that annoying favicon log
better error logging (message, error)


feat(app): Wire deck calibration calls to existing UI

overview
This is a relatively small wire-up PR that, by virtue of the fact that @Kadee80 has already put basically all the UI in place, closes a whole mess of tickets:

Closes #1237 (Deck Calibration: Move to Attach Tip Position)

Wires the continue button to the correct API calls to address the final checkbox

Closes #975 (Initial Calibration: Attach Tip)

Swaps attach instruction assets and copy based on pipette type to address the final checkbox

Closes #976 (Deck Calibration: Move to Z-Axis Point)

Wires button in attach tip confirmation modal to necessary API calls

Wires up buttons in position confirmation instruction modals to necessary API calls

Closes #978 (Deck Calibration: Save Z Calibration)
Closes #979 (Deck Calibration: Calibrate XY Point 'A')
Closes #980 (Deck Calibration: Calibrate XY Point 'B')
Closes #981 (Deck Calibration: Calibrate XY Point 'C')

changelog

feat(app): Wire deck calibration calls to existing UI

review requests
This needs robot more than anything else, but looks good on Virtual Smoothie. Code review also appreciated.
known issues

App does not clear out its stored token on successful release API call (see #1399)
Final "Remove tip from pipette & restart robot" modal not yet implemented
App does not handle API call failures (needs UX guidance)

Tested on Sunset and app behavior is good! Did uncover two API bugs (#1400 and #1402) but gonna merge this one so API team can test


Bump borsh to 0.8.0

Frol pushed an update to Borsh shown here:
https://crates.io/crates/borsh/0.8.0
Additional notes from Frol:

Please, release near-sdk-rs with bumped borsh version to avoid compilation errors that are caused by our usage of "private" APIs of syn crate

The second commit contains Cargo.lock updates as well as changes for the status-message example.
Some of these were artifacts after locally running the ./ci-test.sh file.

Is it normal for the tests to fail for this repo? Seems to be happening for:
NEAR_RELEASE=false

Is it normal for the tests to fail for this repo? Seems to be happening for:
NEAR_RELEASE=false

Dropping a line on this PR since it doesn't appear to have had any activity for several days. What is the status on it? It would be nice to get this merged because the compilation issue is preventing nightly runs of the mocknet load test (see e.g. https://nayduckdiag.blob.core.windows.net/logs/75542_v2_stderr ). There is also at least one person in the community who is experiencing friction because of the compilation issue as well: https://discordapp.com/channels/490367152054992913/714898996832895027/803300211711279174

Dropping a line on this PR since it doesn't appear to have had any activity for several days. What is the status on it? It would be nice to get this merged because the compilation issue is preventing nightly runs of the mocknet load test (see e.g. https://nayduckdiag.blob.core.windows.net/logs/75542_v2_stderr ). There is also at least one person in the community who is experiencing friction because of the compilation issue as well: https://discordapp.com/channels/490367152054992913/714898996832895027/803300211711279174

Hey, sorry. The borsh was not a blocker. It's syn issue. I'll rebase my PR that I used to release 2.0.1 https://github.com/near/near-sdk-rs/pull/266 and merge it to master. This should fix master and dependencies.

Hey, sorry. The borsh was not a blocker. It's syn issue. I'll rebase my PR that I used to release 2.0.1 https://github.com/near/near-sdk-rs/pull/266 and merge it to master. This should fix master and dependencies.

@evgenykuzyakov Unfortunately pinning the syn version for near-sdk-core seems to not be enough. I think it is still important to have it depend on the new borsh version. The compilation still fails in nightly testing. You can see in the output that it is still compiling syn 1.0.60 (a later version from the pinned one). I looked at the Cargo.lock to see where the various dependencies are coming from and see the following:
[[package]]
name = "borsh-derive"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6aaa45f8eec26e4bf71e7e5492cf53a91591af8f871f422d550e7cc43f6b927"
dependencies = [
 "borsh-derive-internal",
 "borsh-schema-derive-internal",
 "proc-macro2 1.0.24",
 "syn 1.0.60",
]

[[package]]
name = "borsh-derive-internal"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61621b9d3cca65cc54e2583db84ef912d59ae60d2f04ba61bc0d7fc57556bda2"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 1.0.60",
]

[[package]]
name = "borsh-schema-derive-internal"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85b38abfda570837b0949c2c7ebd31417e15607861c23eacb2f668c69f6f3bf7"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 1.0.60",
]
...
[[package]]
name = "near-rpc-error-core"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "serde",
 "serde_json",
 "syn 1.0.60",
]

[[package]]
name = "near-rpc-error-macro"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9"
dependencies = [
 "near-rpc-error-core",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "serde",
 "serde_json",
 "syn 1.0.60",
]

The borsh and near-rpc-error dependencies still pull in syn 1.0.60. Later in the file we get to the near-sdk-core dependencies:
[[package]]
name = "near-sdk-core"
version = "2.0.1"
source = "git+https://github.com/near/near-sdk-rs?branch=master#bf402b6a4ccf09c221ddb45c4993eb15c37bc847"
dependencies = [
 "Inflector",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 0.15.44",
]

[[package]]
name = "near-sdk-macros"
version = "2.0.1"
source = "git+https://github.com/near/near-sdk-rs?branch=master#bf402b6a4ccf09c221ddb45c4993eb15c37bc847"
dependencies = [
 "near-sdk-core",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 0.15.44",
]

You can see they bring in an older version of syn. Notably they bring in a pre-1.0 version, which seems suspicious to me since I thought the version we wanted everything to depend on was 1.0.57.
The Cargo.toml file used for this compilation is the one from near-core pytests. You can see its only dependency is the master branch of near-sdk-rs, so this compilation issue is something I think should be fixed in this repo.
I did also try specifying the syn version in that Cargo.toml hoping it could be a work around, but it still would not compile.
Any further help you could offer with this would be appreciated 🙏

@evgenykuzyakov Unfortunately pinning the syn version for near-sdk-core seems to not be enough. I think it is still important to have it depend on the new borsh version. The compilation still fails in nightly testing. You can see in the output that it is still compiling syn 1.0.60 (a later version from the pinned one). I looked at the Cargo.lock to see where the various dependencies are coming from and see the following:
[[package]]
name = "borsh-derive"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6aaa45f8eec26e4bf71e7e5492cf53a91591af8f871f422d550e7cc43f6b927"
dependencies = [
 "borsh-derive-internal",
 "borsh-schema-derive-internal",
 "proc-macro2 1.0.24",
 "syn 1.0.60",
]

[[package]]
name = "borsh-derive-internal"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61621b9d3cca65cc54e2583db84ef912d59ae60d2f04ba61bc0d7fc57556bda2"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 1.0.60",
]

[[package]]
name = "borsh-schema-derive-internal"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85b38abfda570837b0949c2c7ebd31417e15607861c23eacb2f668c69f6f3bf7"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 1.0.60",
]
...
[[package]]
name = "near-rpc-error-core"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9"
dependencies = [
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "serde",
 "serde_json",
 "syn 1.0.60",
]

[[package]]
name = "near-rpc-error-macro"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9"
dependencies = [
 "near-rpc-error-core",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "serde",
 "serde_json",
 "syn 1.0.60",
]

The borsh and near-rpc-error dependencies still pull in syn 1.0.60. Later in the file we get to the near-sdk-core dependencies:
[[package]]
name = "near-sdk-core"
version = "2.0.1"
source = "git+https://github.com/near/near-sdk-rs?branch=master#bf402b6a4ccf09c221ddb45c4993eb15c37bc847"
dependencies = [
 "Inflector",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 0.15.44",
]

[[package]]
name = "near-sdk-macros"
version = "2.0.1"
source = "git+https://github.com/near/near-sdk-rs?branch=master#bf402b6a4ccf09c221ddb45c4993eb15c37bc847"
dependencies = [
 "near-sdk-core",
 "proc-macro2 1.0.24",
 "quote 1.0.8",
 "syn 0.15.44",
]

You can see they bring in an older version of syn. Notably they bring in a pre-1.0 version, which seems suspicious to me since I thought the version we wanted everything to depend on was 1.0.57.
The Cargo.toml file used for this compilation is the one from near-core pytests. You can see its only dependency is the master branch of near-sdk-rs, so this compilation issue is something I think should be fixed in this repo.
I did also try specifying the syn version in that Cargo.toml hoping it could be a work around, but it still would not compile.
Any further help you could offer with this would be appreciated 🙏

Closing. Fixed as part of new release


Anerdw: Watch 764[\W_]+and[\W_]+Harm[\W_]*+Nation

Anerdw requests the watch of the watch_keyword 764[\W_]*+and[\W_]*+Harm[\W_]*+Nation. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

764[\W_]*+and[\W_]*+Harm[\W_]*+Nation has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Self-rejected by Anerdw in Charcoal HQ. Reason: 'Let's put this on hold for now'


if.bind conflict ?

    all is ok!</divb>

    the form start validated!

@JimmiV - I'm not able to reproduce this in the latest build- are you still hitting this issue?

Nope ... all seems ok now. TY.

:dancers:


Three-Point texture filtering sporadically applied where it shouldn't be & vice-versa

https://github.com/user-attachments/assets/581c8066-0476-4b9a-906b-a9ec2211e6a8
This only occurs for Three-Point filtering. Bilinear and Nearest do not exhibit this behavior. This is an old bug that predates 64-bit support.

This can be seen in combat simulator > Challenges (the stars) too

Yeah, there are several more places where this occurs that are not documented in the video, too. I actually tried investigating why it was happening but, to be honest, I'm not experienced enough at all in glsl, or graphics programming in general, to figure what's causing it.

mipmapping perhaps?

Something does not correctly reset one or both of the three_point_filter uniforms.

I took a closer look, with RenderDoc. I'd never used the tool before, but being able to step through a snapshot how the scene is rendered was extremely interesting and informative to me.
This 1st example is the building rendered as intended, with nearest-neighbor interpolation:

Here's a log of the relevant OpenGL events:
Drawing building with nearest-neighbor interpolation

121 glScissor(678, 58, 1242, 1021)
122 glActiveTexture(GL_TEXTURE0)
123 glBindTexture(GL_TEXTURE_2D, Texture 1203)
124 glActiveTexture(GL_TEXTURE1)
125 glBindTexture(GL_TEXTURE_2D, Texture 1203)
126 glDisableVertexAttribArray(Default VAO, 0)
127 glDisableVertexAttribArray(Default VAO, 1)
128 glDisableVertexAttribArray(Default VAO, 2)
129 glDisableVertexAttribArray(Default VAO, 3)
130 glDisableVertexAttribArray(Default VAO, 4)
131 glUseProgram(Program 236)
132 glEnableVertexAttribArray(Default VAO, 0)
133 glVertexAttribPointer(Default VAO, Buffer 86, 0, 4, GL_FLOAT, False, 64, 0)
134 glEnableVertexAttribArray(Default VAO, 1)
135 glVertexAttribPointer(Default VAO, Buffer 86, 1, 2, GL_FLOAT, False, 64, 16)
136 glEnableVertexAttribArray(Default VAO, 2)
137 glVertexAttribPointer(Default VAO, Buffer 86, 2, 2, GL_FLOAT, False, 64, 24)
138 glEnableVertexAttribArray(Default VAO, 3)
139 glVertexAttribPointer(Default VAO, Buffer 86, 3, 4, GL_FLOAT, False, 64, 32)
140 glEnableVertexAttribArray(Default VAO, 4)
141 glVertexAttribPointer(Default VAO, Buffer 86, 4, 4, GL_FLOAT, False, 64, 48)
142 glUniform1i(Program 236, { 0 })
143 glUniform1i(Program 236, { 0 })
144 glBufferData(Buffer 86, 1152, (1152 bytes), GL_STREAM_DRAW)
145 glDrawArrays(18)

And now, here's the same building exhibiting incorrect three-point interpolation:

And its associated event log:
Drawing some floor tris (?) with three-point interpolation

130 glActiveTexture(GL_TEXTURE0)
131 glBindTexture(GL_TEXTURE_2D, Texture 892)
132 glActiveTexture(GL_TEXTURE1)
133 glBindTexture(GL_TEXTURE_2D, Texture 892)
134 glDisableVertexAttribArray(Default VAO, 0)
135 glDisableVertexAttribArray(Default VAO, 1)
136 glDisableVertexAttribArray(Default VAO, 2)
137 glDisableVertexAttribArray(Default VAO, 3)
138 glDisableVertexAttribArray(Default VAO, 4)
139 glUseProgram(Program 236)
140 glEnableVertexAttribArray(Default VAO, 0)
141 glVertexAttribPointer(Default VAO, Buffer 86, 0, 4, GL_FLOAT, False, 64, 0)
142 glEnableVertexAttribArray(Default VAO, 1)
143 glVertexAttribPointer(Default VAO, Buffer 86, 1, 2, GL_FLOAT, False, 64, 16)
144 glEnableVertexAttribArray(Default VAO, 2)
145 glVertexAttribPointer(Default VAO, Buffer 86, 2, 2, GL_FLOAT, False, 64, 24)
146 glEnableVertexAttribArray(Default VAO, 3)
147 glVertexAttribPointer(Default VAO, Buffer 86, 3, 4, GL_FLOAT, False, 64, 32)
148 glEnableVertexAttribArray(Default VAO, 4)
149 glVertexAttribPointer(Default VAO, Buffer 86, 4, 4, GL_FLOAT, False, 64, 48)
150 glUniform1i(Program 236, { 1 })
151 glUniform1i(Program 236, { 1 })
152 glBufferData(Buffer 86, 192, (192 bytes), GL_STREAM_DRAW)
153 glDrawArrays(3)

Drawing building with three-point interpolation

154 glActiveTexture(GL_TEXTURE0)
155 glBindTexture(GL_TEXTURE_2D, Texture 1203)
156 glActiveTexture(GL_TEXTURE1)
157 glBindTexture(GL_TEXTURE_2D, Texture 1203)
158 glBufferData(Buffer 86, 1152, (1152 bytes), GL_STREAM_DRAW)
159 glDrawArrays(18)

From what I've gathered, the 2nd argument of glUniform1i determines whether the texture is filtered or not. So, because glUniform1i wasn't called again between events 157 and 158, with { 0 } as the 2nd argument, the building's texture is erroneously three-point interpolated. Question is: why wasn't it? It also seems very strange that the renderer even cares about those floor tris or whatever, since they are being completely occluded by a structure in that scene.

Occlusion is not perfect and it can't really be. If a room is rendered, everything in it that fits into the frustum and is not backfaced is rendered, with some small caveats. Even if the surface gets drawn over later.
I'll take a look at this later, probably need to force-update the uniforms whenever the texture binding changes or something. We don't want to overdo that to not make the renderer even slower than it already is, though.

I took a look, specifically in the stars of the Challenges menu. Uniforms are set, but with the incorrect value. I didn't manage to figure out exactly why, but I've seen that, somehow, the linear_filter variable in TextureCacheValue is sometimes true and sometimes false for the same texture (the star).

Looks like gfx_opengl_select_texture is called before rendering_state.textures[i]->second.linear_filter is set at gfx_sp_tri1(), so sometimes it could be using the linear_filter value from the previous draw call. But any attempts to fix it on my end would break some other stuff, like the framebuffer menu background, and none of these attempts would fix the building.