Expand usage limits examples to make the output more usable for dashboards and tasks

Currently within InfluxDB Cloud, users can retrieve their usage limits using the usage.limits() function.
However, the output of that function is a JSON object and something that can directly be leveraged with other functions.
To successfully leverage the output, we require that JSON object to be parsed and mapped into something that could be used in dashboards cells or tasks using the json.parse() function.
This proposal is to expand the example on the usage limits page to show how to convert the output into something which can be used (potentially via findRecord) within Dashboard cells (to display single stats for the individual rate limits) or tasks (in order to allow for an early warning check/alert).

@timhallinflux In my attempt to do this, I haven't been able to successfully get a response from this function. I either get a 404 error, private IP error (in tools), or the data explorer dies...
Are we certain this function works as it's designed?

@rickspencer3 and @bpalani interesting.  Have you tried a raw API call using a production account?

I’ve tried with my personal free account. I don’t have access to a PAYG account. I assume the API would be available for both, since both have limits.

@sanderson can you share the query you're running and the org and environment details?
I am able to use this function successfully in stag03-us-east-1-aws with a query like this
import "experimental/usage"
import "array"

response = usage.limits()

readLimit = response.rate.readKBs
writeLimit = response.rate.writeKBs
bucketLimit = response.bucket.maxBuckets

array.from(rows: [{
	readLimit: readLimit,
	writeLimit: writeLimit,
	bucketLimit: bucketLimit,
}])

which returns
,result,table,readLimit,writeLimit,bucketLimit
,_result,0,1000,17,2

If that example doesn't help clear up any syntax errors, etc. on your end, I can investigate your org and the specific environment in question after receiving the details above.
Thanks!

@gavincabbage Ok, that does work. I've tested this in Cloud, OSS (remote call to Cloud), and in VS Code. I think it may have been a permissions issue, but rather than giving a 403 error, it gave a 404.
What permissions are required to hit this endpoint? Do you have to use an All-Access token?

See a related community question

I got this error in tools:
 error calling function "limits" @4:12-4:26: error calling function "api" @usage.flux|181:16-181:109: url is not valid, it connects to a private IP

But it worked perfectly in my personal account on us-west.

@sanderson Yes often a lack of permissions returns a 404. This a security best practice, as it limits the amount of information we leak to an unauthorized user (e.g. if you hit the endpoint /api/v2/<not_your_org_id>/limits and get a 401 rather than a 404, that tells you that an org with that particular ID does in fact exist, which is none of your business and can open up other attack vectors).
The API requires permission to read the organization. Any user session or an all access token will have this access.
@rickspencer3 That does not surprise me as tools' IPs are likely on the Flux deny list. Tools is generally an odd duck w.r.t limits and usage. The usage API doesn't work there at all, for example, because we don't collect usage data there like we do in other clusters.

@timhallinflux I might be missing the point of this question, but FYI usage.limits() calls json.parse() under the hood and the structure returned should be relatively easy to use, e.g. in my example above a limit can be accessed by writeLimit = response.rate.writeKBs.
Untested one-liner, but I think this would work for a dashboard cell for example:
array.from([{_value: usage.limits().rate.writeKBs}])

As for tasks etc. to preemptively alert when rate limits are approached but not yet exceeded, I worked through a few use cases like that John Corrigan and @Anaisdg when developing these functions. The task described here should leverage usage.limits() to test whether the cardinality reported by usage.from() metrics is approaching the org's limit IIRC.

@gavincabbage The request is just to improve the examples in the Flux documentation for this function. It's easy to do, I just wasn't having luck getting the function to work. Now I know why 😄 .


In iOS 7 the ScrollView avoids the status bar

If the view is set to take up the whole screen, now that the status bar in iOS 7 encroaches on the view area, the scrollview is unavoidably lowered by 20 pixels, clipping the bottom 20 pixels of the view.

static const CGFloat kCalculatedContentPadding = 0;
works!


armv7 build fail

I've tried to build zlib on Raspberry Pi 2
uname -a
Linux ironhills 4.1.17-v7+ #838 SMP Tue Feb 9 13:15:09 GMT 2016 armv7l GNU/Linux
Here is output https://gist.github.com/zeljic/4b53477c04039452386e
I'm not sure but I think issue is  -mstackrealign argument
When I remove that arg from conanfile.py and manually build from hash dir in .conan it works fine

@lasote thanks for your answer and fix (note on gist)
It works now.
BTW. I've built 4 libs on raspberry pi 2:
OpenSSL/1.0.2e@lasote/stable
Poco/1.6.1@lasote/stable
electric-fence/2.2.0@lasote/stable
zlib/1.2.8@lasote/stable
I didn't try them in project, yet, but building is OK, without errors.

Great! I close the issue. If you have any trouble just open another one.


i18n/ru

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
i18n Russian language support

What is the current behavior? (You can also link to an open issue here)
Russian is not supported

What is the new behavior (if this is a feature change)?
Russian is supported

Thanks, and release for 1.4.2


requirements.txt

Dear MIA shared task organizers,
I am writing to ask whether there is a requirements.txt file for the mDPR part, analogous to the one in the mGEN folder. We also noticed that the requirements.txt file in mGEN does not contain all the necessary libraries (e.g. jsonlines is missing).
Thank you for your time.
Best,
Tommaso

@tommaso-green Thank you for reporting the issue! Sorry I tested the code on my environment which has already installed those missing libraries. We'll test and update the requirements.txt.


Refactor lens and ?anon pokes to not use oryx system

In the case of lens / webhooks a dummy session isn't needed.  But: %eyre needs an oryx for every command right now.  This should be changed.

Closing as %lighter-than-eyre deprecates this one.


Fix method name to work with latest django-fsm API.

django-fsm provides a method called get_all_state_transitions to get a list of
all available transitions.

which versions of django-fsm did get_all_status_transitions work with and which work with get_all_state_transitions?

I think my PR does not make much sense now that I looked at it in more detail. The name of the method depends on the name of the field where django-fsm stores its state. For my models this was state = FSMField(). This gave my model instances a method named get_all_state_transitions. You probably had status = FSMField() on your model.
See django-fsm code for how this method is set on the model.
I'll see if I can come up with a better way to detect the name of the get_all_FIELD_transitions method.

maybe we should change the code to something like:
from django_fsm import get_all_FIELD_transitions, FSMField

fsm_field = None
for field in instance._meta.get_fields():
    if isinstance(field, FSMField):
        fsm_field = field
        break

transitions = get_all_FIELD_transitions(instance, fsm_field)

this should find the fsm field on a model instance, then pull out its transitions. note, I haven't tested that snippet. It will also blow up if you have more than 1 fsm field on a model.
Also I should probably add into the readme that this repo is a proof of concept and I didn't expect anyone to use it.

I'm playing with having two FSMFields on my model, so that wouldn't work for me. Maybe get_viewset_transition_action_mixin should take an additional argument that says which state field to use? Default to 'status' to maintain existing behaviour


feat: rewrite the scanner in C

Hi @amaanq thanks! Can you tell me a bit more about why the changes were needed?

Looking at other repos where they've made a similar change, it's for projects/environments where only a C compiler is available. The official tree-sitter-cpp also had a similar PR, so I think it's probably worth doing here too -- after all, half the point of tree-sitter is that it only needs a C compiler and no other dependencies.

Sounds good to me, can’t argue with simplifying the necessary toolchain.


How to ignore automatic loading bar?

As you said: "it's all handled automatically by the interceptor." But I don't want it automatically, I want handled it. I am using ajax to load my data every 10s. So, The angular-loading-bar also display every 10s, I only want to display it first time by:
cfpLoadingBar.start();
cfpLoadingBar.complete();
Please help me! Thanks!

Two ways to do this, both well documented:

https://github.com/chieffancypants/angular-loading-bar#ignoring-particular-xhr-requests
https://github.com/chieffancypants/angular-loading-bar#service-api-advanced-usage


Added documented step for deploy certManager accordingly with nginx flavour

The following PR just include a few documented step to be followed in order to deploy certmanager, depending on the nginx flavour you've selected (single or dual-nginx).
This is just the first step, that further need to be ported also to the ufficial docs as well.
Let me know!

@lnovara we at the end decided to write a usable doc to make aware the support team or whoever need to use certmanager, for the right configuration to be done (look here: https://trello.com/c/XCqz81W8/68-bug-clusterissuer-with-missing-ingressclass)

Once reviewed, It should be propagated to the kfd-docs repo!

Left a comment below.
What's our goal about nginx/dual-nginx and cert-manager integration? Do we want to provide a default that works everywhere or we just document the steps needed to make it work properly with dual-nginx?
Just asking since I didn't follow this from the beginning. :-)

@lnovara we at the end decided to write a usable doc to make aware the support team or whoever need to use certmanager, for the right configuration to be done (look here: https://trello.com/c/XCqz81W8/68-bug-clusterissuer-with-missing-ingressclass)

What @lzecca78 said is right!
As the ingress controller deployed by the Fury Distribution is the single ingress variant and cert-manager works out of the box with it, we decide to just write docs to make easy to configure cert-manager to work with dual ingress variant.

Makes sense, thanks for the explanation @angelbarrera92 and @lzecca78.

 BUG ClusterIssuer with missing IngressClass


Xcode and Swift version

What are the minimun Xcode and Swift versions that can i use to compile the traccar manager ios.
Thank you.

I think you should always use latest Xcode. Is something not working?

I'm using an old apple computer with macos el capitan installed and my Xcode version us 8.2.1. I have a problem when i try to compile.
The trace of the error is attached.
Thank you.

Hi there... I am trying to compile the app on mac M1, and it is not working....
According to the documentation you have to load th

e pod install command, but it gives me error


Fix #5405 - emacsclient - don't open new window.

We did that but it broke some people's machines; see https://github.com/robbyrussell/oh-my-zsh/issues/5405#issuecomment-483044531. We're looking for a better solution.


Allow moodle submission file (zip) input

Allow handling multiple python submission files from a zip file e.g. downloaded from moodle

Testlernraum DBIS-VL-nbgrader-code extractor test-1278608.zip

zip -sf Testlernraum\ DBIS-VL-nbgrader-code\ extractor\ test-1278608.zip
Archive contains:
  Group 2_122543_assignsubmission_file/python_addition_release.ipynb
  Group 1_122542_assignsubmission_file/python_addition_correct_submission.ipynb
Total 2 entries (4226 bytes)

The template should support  variable syntax as discussed in https://github.com/WolfgangFahl/pyLoDStorage/discussions/114 so the template has a single {{code}} variable for the time being.

The results should be two python files

addition_0001.py
addition_0002.py

Please note https://tracker.moodle.org/browse/MDL-76309


Introduce support for DJGPP cross compiler

This compiler is GCC based and is targeting DOS. It does not support wchar_t nor std::wstring probably because there would not be much use of them in DOS.
All the tests and examples were tested on DOSBox and on FreeDOS using DJGPP for GCC 7.2.0 with success (actually there is one test failing in *cpp11 and in *cpp14 but you are probably aware of that).
Since DJGPP is a cross compiler, user has to supply cmake with -DCMAKE_SYSTEM_NAME=Generic to be able to build the project with it, see https://cmake.org/Wiki/CMake_Cross_Compiling.
Some relevant links regarding DJGPP cross compiler:
https://www.youtube.com/watch?v=yHrC_rZUaiA
https://github.com/andrewwutw/build-djgpp

Hi Tomáš,

(actually there is one test failing in *cpp11 and in *cpp14 but you are probably aware of that).

Can you tell which one test is failing?
On Travis all tests pass with all compilers that support -std=c++11/14. Examples n the other hand may fail for educational reasons.

@zemasoft , do you perhaps mean:
finally: Allows moving final_action to throw[.]

Hi Martin,
Yes, this is what I see:
gsl-lite/test/util.t.cpp:136: failed: finally: Allows moving final_action to throw[.]: i == 1 for 0 == 1
1 out of 281 selected tests failed.

Am I misreading it somehow? Or is this intentional? But the error level returned by the test is 1 so...

But when looking into test/CMakeLists.txt, I should probably not run the tests with "*" but just without any argument. Am I right?

Yes, quite right!
Normal test run is just e.g.:

prompt> gsl-lite-cpp11.t

However your remark that there is one silenced (!) test that fails still stands to be sure. I've not yet worked out what to do about it (and lost sight that it's to be done).

And is it necessary for the struct action to have the copy constructor unavailable/deleted? Because if not, std::is_nothrow_move_constructible might then be used to adapt finally() and class final_action.
But take it just as my naive opinion...


Can't compile file

Description
When running:
typst compile main.typ

I'm having this:
error: failed to load file (access denied)
 = hint: cannot read file outside of project root
 = hint: you can adjust the project root with the --root argument

WTF?
Reproduction URL
No response
Operating system
Linux
Typst version

[X] I am using the latest version of Typst

typst compile main.typ --root . doesn't work too

sudo doesn't work too

Please post questions in the discord or forum instead of as a GitHub issue.

@Enivex I don't get it. I should run typst from /?


Adapt to variable system refresh rates on iOS

Since the users of my app with an iPhone 13 Pro started complaining that the app doesn't feel like 120Hz, I started to realize that my app was getting capped at 60Hz and never gets past it.  I tested whether the app was running on 120Hz after setting the CADisableMinimumFrameDurationOnPhone to true on Info.plist. But the app didn't run on the highest refresh rate available. So I manually configured my AppDelegate.swift like below such that the app always runs at 120Hz.
But this had led to immense battery drain on the devices as iPhones variably control the refresh rates based on the display activity. How can I configure the AppDelegate to adapt to variable system refresh rates?
After some web searches, I found this from Apple's developer documentation,
displayLink!.preferredFrameRateRange = CAFrameRateRange.default
Will setting this make my app forced to run at 60Hz again or would adapt to system refresh rates?
(I'm not an iOS developer so any help would be much appreciated)
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  var displayLink :  CADisplayLink?
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
      displayLink = CADisplayLink(target: self, selector: #selector(displayLinkCallback))
      displayLink!.add(to: .current, forMode: .default)
      if #available(iOS 15.0, *) {
          displayLink!.preferredFrameRateRange = CAFrameRateRange(minimum:120, maximum:120, preferred:120)
      }
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }

  @objc func displayLinkCallback(){

  }
}

Hi @jefrrey017 Thanks for filing the issue.
Can you please attach the timeline trace JSON file? You can find the instructions for it in this issue https://github.com/flutter/flutter/issues/74833
And try to provide as much information as possible: which functionality is affected, how to reproduce the issue, flutter doctor -v output, etc. So that, we'll have enough details to conclude on the issue.
Here are some of the filed issues that you can refer to:

https://github.com/flutter/flutter/issues/90675
https://github.com/flutter/flutter/issues/99151
https://github.com/flutter/flutter/issues/101653


Convert remaining Kconfig symbols of devices available in dts (SPI, I2C)

Following #11180, some CONFIG_  symbols of devices already converted to DTS remains in dts_fixup.h files:
CONFIG_I2C_X_NAME
CONFIG_SPI_X_IRQ_PRI
There are other devices impacted, like ADC, WDT... but they might not all be available in DTS.
This is different for I2C and SPI as they are available in dts and the other properties are already converted to DT_ namespace.
It apprears theyare still using CONFIG_ because they are defined in Kconfig files.
So netx steps is to remove these symbols from Kconfig and changes definitins from CONFIG_ to DT_

I think this was intentionally left out as CONFIG_ because they still have the option to use Kconfig for platforms that do not support DT. I will let @galak confirm this.

I think this was intentionally left out as CONFIG_ because they still have the option to use Kconfig for platforms that do not support DT. I will let @galak confirm this.

The SPI one needs fixing, need to look at CONFIG_I2C_X_NAME

What seemed strange to me is that other properties of the same devices are converted.

What seemed strange to me is that other properties of the same devices are converted.

Not sure why the SPI irq priority wasn't updated.  The CONFIG_I2C_X_NAME case is because I2C slave drivers need to all be updated before we can remove it.

[...]The CONFIG_I2C_X_NAME case is because I2C slave drivers need to all be updated before we can remove it.

Ok, got it, txs

Closing the issue


Broke "DS4Windows" mode in DsHidMini

Regression reported by @Kanuan that wireless DS4Windows mode on DsHidMini broke wit the refactoring changes. Looks like the Device ID is different, check new PDO creation code for missing instructions compared to old version.
New beta
?\hid#{53f88889-1aaf-4353-a047-556b69ec6da6}&dev&vid_054c&pid_0268#a&38e13f01&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Latest Stable
?\hid#{53f88889-1aaf-4353-a047-556b69ec6da6}&dev&vid_054c&pid_0268&0498f3913fce#a&4179438&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

@Kanuan is 04:98:F3:91:3F:CE the MAC address of the controller you tested with? Can you please confirm, thanks.

yes

What an odd issue indeed, I have fixed the Device ID format in my local test build but it still doesn't work 🤔

I'll focus on the crash-relevant fixes and then come back to this once I have a new production signed copy I can then debug directly with DS4Windows.

Found it. DS4Windows checks if a detected controller is a virtual device to exclude them from detection and it so happens that the current check now also triggers on the DS3:

Thinking on what's the best way to fix this, IMHO the detection in DS4Windows should be patched since this check method is very brittle to begin with. More to come.

Success!

Preparing PR.

The fix has been merged into DS4Windows 🥳 Now we wait for a new release ☕

A fixed version has been released.


Add a changelog

As far as I can tell, this repository does not have any changelog. The absence of a changelog together with the absence of tags (#24) makes it quite hard to figure out what changed between 0.2 and 0.3.

Yeah this is good practice and will add it for next release. Will make an attempt to document what changed between zero dot 1,2,3 also.


Feat/templates/v1

It's okay, the PR won't land in main until other branches are resolved.

Then the approval will wait as there are TODOs in this PR and I will have to re-review again once the main branch is updated. This is not convenient; if you were targeting the right branch , we could move forward easier.


feat(exchange): add decorator @PublishExchange

add internal logger for method discover
refactor @PublishQueue proxy logic to pass all args to context

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


ERROR: UndefVarError: date not defined

I just started experimenting with Xranklin.jl, but am having a difficulty in running the first example in the documentation.  First, I did
julia> using FranklinTemplates: newsite

julia> using Xranklin, FranklinTemplates

julia> newsite("TestWebsite", template="hyde")
✓ Website folder generated at "TestWebsite" (now the current directory).
→ Use serve() from Franklin to see the website in your browser.

Then, I added using Dates in TestWebsite/utils.jl as instructed in README.md.  And then I get the following error during serve():
julia> serve()
  Activating project at `~/code/MinDithCBC/franklin/TestWebsite`
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
  [713c75ef] + Franklin v0.10.77
  [2bd173c7] + NodeJS v1.3.0
  [a8cc5b0e] + Crayons v4.1.1
⌅ [ffbed154] + DocStringExtensions v0.8.6
  [e2ba6199] + ExprTools v0.1.8
  [713c75ef] + Franklin v0.10.77
  [3a985190] + FranklinTemplates v0.8.29
⌅ [cd3eb016] + HTTP v0.9.17
  [b5f81e59] + IOCapture v0.2.2
  [83e8ac13] + IniFile v0.5.1
  [682c06a0] + JSON v0.21.3
  [98b081ad] + Literate v2.13.4
⌅ [16fef848] + LiveServer v0.9.2
...
  [3f19e933] + p7zip_jll v17.4.0+0
        Info Packages marked with ⌅ have new versions available but cannot be upgraded. To see why use `status --outdated -m`
[ Info: ⌛ processing config.md
┌ Warning: Page Var assignment
│ -------------------
│ Encountered an error while trying to evaluate one or more page
│ variable definitions.
└ @ Xranklin ~/code/Xranklin/src/context/code/notebook_vars.jl:124
ERROR: UndefVarError: date not defined
Stacktrace:
...

I tried to define date = Date(2022,2,1) in config.md, but it didn't eliminate the error.
Also, serve() sometimes complains that rss_pubdate is not defined instead of date.  The two errors seem suggesting that the errors are related with Dates, but I am not sure.
As this is a basic example, I feel that I am missing something very trivial.  Any suggestions?  I am using Julia 1.8.0:
julia> VERSION
v"1.8.0"

Hello Wonseok,
The templates in FranklinTemplates have not yet been adapted to Xranklin. The differences are small but sufficient to send you unexpected errors like above. The docs is not completely finished (e.g. the example you show is copied from the Franklin docs). Sorry about this! If you're interested in one particular templates (even outside FranklinTemplates), I can make it ready for you (I'm keen to get feedback and build new templates anyway and having an additional active user will push me to finish this migration).
The date stuff changed (and so templates should be scrubbed from it), and the RSS stuff is not yet stable in Xranklin (so the _rss folder and references in config.md should be removed from now).
This repo: https://github.com/tlienart/xhyde works with Xranklin if you'd like to give it a shot.
This other repo also does: https://github.com/tlienart/coder-xranklin-demo as well as this one (based off it):  https://github.com/PTsolvers/GPU4GEO
(btw there's also the slack channel #xranklin if you want to ask qs and get answers quicker)

Thibaut,
Thanks for the detailed explanation!  I am actually interested in the Lanyon template.  Would it be possible to make it ready for Xranklin.jl?
Though it will be very useful for me, it is not urgent, as I am still learning the basics of Franklin.jl.  I have lots of things to experiment with Franklin.jl before migrating to Xranklin.jl :-)  So please take your time and let me know whenever it is ready.

Depending on your tolerance with rough edges, I think it might be good if you started from Xranklin directly; the docs with the syntax parts is mostly good to go, and the core is much cleaner than Franklin. The stuff that you'll bump against will be useful for me to either fix or explain better. Of course I'd understand if you preferred something that's a bit more battle tested.
NP for lanyon

If you haven't started preparing the Lanyon template for Xranklin.jl, actually I have changed my decision.  I think just-the-docs suits my current applicaiton better.  I am creating project websites that will be viewed mostly in desktop environment, whose screen is large enough to keep the sidebar always shown.
Sorry for the inconvenience!  Again, this is not urgent; I'm not having any issues in developing websites with Franklin.jl currently.

Sounds good & no worries


Cannot import name "SocksConnector"

Code was completed and tested on my windows machine and ran smoothly. I tried porting it to Google Colab, but experienced this crash.
I have tried both !pip install twint and !pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Both ended up with the error below.
I have found that this is a possible duplicate, but the solutions that fixed them do not appear to be working in my situation.
Google Colab runs Python 3.6 if that helps.

Clone the repo.
Change the requirement as discussed previously

https://github.com/TianshuangQiu

pip install --upgrade aiohttp_socks==0.4.1
Thank you for the help


"Enabled" option not working (warmer not firing)

I know I 100% setup something wrong, but cannot figure it out for the life of me. Here is my YML
service: policy

provider:
  name: aws
  runtime: nodejs8.10
  environment: ${file(env.yml):${opt:stage, self:provider.stage}}
  iamRoleStatements:
    - Effect: 'Allow'
      Action:
        - 'lambda:InvokeFunction'
      Resource: "*"

plugins:
  - serverless-offline
  - serverless-plugin-warmup

custom:
  warmup:
    enabled: true
    schedule: rate(1 minutes)
    prewarm: true

functions:
  withCustomer:
    handler: handler.withCustomer
    events:
      - http:
          path: /withCustomer
          method: POST
          cors: true
          warmup: true

When I deploy, I immediately see Serverless: WarmUP: no lambda to warm and at the end, I get the following:
functions:
  withCustomer: policy-staging-withCustomer
Serverless: WarmUP: Pre-warming up your functions
Serverless: WarmUp: Error while pre-warming functions

I check the logs, but can't see anything when I search for "warm" or any tags I've tried as well. I know I'm doing something dumb, but can't see it.

Just FYI, everything is released now.


refactor cpp_bmp_loader.h according to 'BA' format

Bitmap Multi-Array is an OS/2 version of BMP files. It contains multiple BMP images. Let's help loading them and help the selection of the best one according to user specifications.
Should lead to the implementation of a BMPImage class - see #94 .

Completed. Nearly fully validated - different BA files formats are missing for testing the "best fitting" methods.


Strip action spawns HUD helmet object and not HUD helmet (spare) object.

The helmet strip actions removes the player's helmet, however, it doesn't spawn the HUD helmet (spare) object, but a HUD helmet. This issue makes it so that the helmet uses a garrison armor texture while in backpack and removing it from the backpack duplicates it.
It's easy to reproduce the bug: start the game with the loadout hdh, bak, wear the spare helmet, strip off the helmet (the helmet should be on the ground), hold your backpack and grab the helmet off the ground and into the backpack. The helmet inside the backpack should have the texture of garrison armor. Removing it from the backpack causes two HUD helmet objects to spawn.

Huh, that's odd. Seems like you don't even need to strip off the helmet to dupe it.
It appears that using summon hhelmet will also spawn 2 helmets.
Will try to fix it soon. Thanks for letting me know!

Should be fixed with commit 73e7b504ff00067311851d02f92b9266d5649dea


Filament + GLFW: how to share context and managing swapchain

How can we use Filament with GLFW and custom GL code when draw calls are not part of the filament command buffer?
A typical GLFW render and event loop looks like:
while (!glfwWindowShouldClose(window)) {
   glViewport(0, 0, width, height);
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   // perform draw calls
   glfwSwapBuffers(window);
   glfwPollEvents();
}

Filament uses something similar:
void renderLoop(Renderer* renderer, SwapChain* swapChain) {
    do {
        if (renderer->beginFrame(swapChain)) {
            renderer->render(mView); // handles command buffer
            renderer->endFrame();
        }
    } while (!quit());
}

If I'm correct, the render() call will handle the command buffer and when ready it swaps the swap chain.  How would this work when you want to make your own draw calls that are not managed by Filament? These draw commands will be handled out of the flow and therefore possibly not executed at the right time.
I've experimented with the following code:
while (true) {

    /* Custom GL draw calls (UV pattern) */
    glViewport(0, 0, win_w, win_h);
    glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    sprite_ctx.updateSprites();
    sprite_ctx.draw(); /* will execute GL draw calls. */

    /* Filament render loop. (`ctx` is a thin wrapper around Filament::Renderer) */
    if (0 == ctx.beginFrame()) {
      floors.draw();
      ctx.endFrame();
    }

    glfwSwapBuffers(win);
    glfwPollEvents();
}

The above code results in flickering which is most likely caused by synchronisation issues between the swap-chain/back buffers. I've created a recording that shows the issue: https://imgur.com/a/GmZUN7q
It should render a UV pattern in the background and a 3D render on top of it (I'm using the transparent flag when creating the filament swap chain).

Filament is not designed to let you use custom GL calls (Filament may not even use GL). All GL code in filament runs on a dedicated thread you don't have access to. At the very least you should be making the context current on your current thread before calling GL. But that would also mess with Filament's internal state tracking.

@romainguy thanks for your reply.
I want to use Filament in a specific case that uses GL. I'm initializing Filament with a shared GL context and that works great. Now I'm looking for a solution to use the rendered output in an existing GL application.
Maybe, I can render into a FBO and use that texture in my existing application. Would that be a good approach?


Codemirror error when on "option" mode (v2.3.0)

Hi Ari,
I found something interesting. When I changed my option_type to option (instead of theme_mod), I got this error when using the code field, which makes the whole Customizer not working.
http://pasteboard.co/7AaK6Zi.png
But when I was on theme_mod mode, it works fine, no errors shown.

have you checked the develop branch?
I believe this is a duplicate of https://github.com/aristath/kirki/issues/874


Can't use withRef

First, this is awesome.
I want to be able to focus a text field if someone hits an "edit" icon. I can't use withRef on the field though since the underlying component is a stateless functional component.
Happy to help translate these to Component

Also, even when passing withRef correctly, it seems like the methods on the class have been dropped? I'm trying to get access to the focus method on TextField but it says its undefined:

vs an unwrapped field:

Another note is getting access to underlying methods on the material UI component (ie. focus on TextField).
I'm not sure if there is a cleaner way than doing something like:
class TextField extends Component {

  focus = () => {
    this.refs.field.focus()
  }

  render() {
    return <MaterialTextField ref='field' {...this.props} />
  }

}

Fixed in v2.2.0.

@erikras you're my favorite react form developer ;)


Feat/add guide for writing solutions

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #34957

Thank you @Dana94


Lint Update

This is in response to issue #45. I have gone through and linted every mod from A to L (Alphabetical Order).

some mods will need linted every update untill i pr it linted to them

Sorry about that. I didn't realise it was going to be this massive until I was almost done.


Fix loss of initializer parameters, add unpick support

Fixes final mapping file not containing any initializer parameters.
Should we change the hash code of the mappings so that when the plugin is updated, the old mappings aren't used? As it is now, updating to 4.0.1 without deleting the cached mappings file, or changing the mappings dependency to an uncached one, doesn't have any effect

Looks good. Would it be possible for this pr to

bump to 4.1.0
add pr #7
add the new unpick support in loom 0.11.32
add a new line to #7 saying that 4.1.0 is for loom 0.11.32+ and 4.0.0 is for 0.11.31-?

oh and the hash fix

We can add your Loom PR as a patch to Quilt Loom, and then you could only add the unpick layer when quilt loom is present.

Is this able to be merged?

Yeah, I can add unpick support back later

@OroArmor merge?


MSHack Vs Propellarhead Reason Subtractor

Just want to say thanks for your eclectic development. Your modules are like Reason 4 in its early development. I can see you developing something like Reason's Subtractor or better. Maybe a 3OSC Juno 106 bass and lead synth module that is separate from the main 3OSC module in the future.

Haha, thanks.  At no point assume I know what I am doing, just trying stuff out right now.  If it sorta sounds good I release it.

Cool Breeze


fix: analytics tooltip

Closed because we've switched to Mantine for the charts instead of a custom Line chart


Documentation for size function for lists

Description
I noticed that there is a size() function that we can run on lists as follows:
...
RETURN size(listFoo)

where listFoo is a list. However I cannot find the documentation for it. I went to https://docs.kuzudb.com/cypher/expressions/list-operators/ but it's not listed there. It may be listed somewhere else but let's still mention it somehow in this part of the documentation.
Link
No response

I think size is listed in the list_functions section rather than list_operators sections: https://docs.kuzudb.com/cypher/expressions/list-functions/

We are not addressing the main problem: We should rethink the structure of functions vs operators. From a user's perspective this distinction is unimportant. I was looking for size and landed on the "list operators" page (though the title of that is also confusingly called "List Functions"), and couldn't find size.
We should either list these on the same page and call the page "List Functions and Operators" or at the very least add links from both to each page so users landing on one of the pages can discover the other.
I'll let @prrao87 make the calls here.

All list operators are now list functions.


Support Palantir-Java-Format for Java (500USD Bounty)

From the maintainer Li Haoyi: I'm putting a 500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.

Palantir-Java-Format is a common Java autoformatter, and we should support it as a contrib/ module to better support Java projects. We should support all common configuration options to allow usage on JavaModules and ScalaModules (which can contain Java sources). It should broadly work the same way ScalaFmt works for Scala (https://mill-build.org/mill/0.11.12/Scala_Module_Config.html#_reformatting_your_code) This needs to come with a reasonable set of unit tests, docs, and at least one example test that can be included in the documentation.
May be able to adapt something from https://github.com/sbt/sbt-java-formatter

I'd prefer palantir, either directly or via spotless, which could provide a lot of other formatters too.

Sure! Maybe it should be via spotless then?

Let's go with palantir-java-format for now. At a glance Spotless seems a lot more heavyweight, and maybe can come in a follow up, but palantir-java-format should suit the immediate need of "we need a java formatter" and hopefully be easier to implement

I experiemented with it in the past but go some class access issues due to not using the module classlaoder. So, is you're a Scala dev not so deep into Java, expect some difficulties.

yeah I assume there'll be stumbling blocks but I assume they'll be work-around-able. If it can work in eclipse/intellij/gradle/spotless it should be doable inside Mill; worst come to worst we can run it in a separate subprocess. But that's for whoever picks up the bounty to figure out!


check for existence of geos extension

Closes #15

Since the unit tests use fixed paths, I did not run/complete them. To make them at least a bit useful I did:
>
sed -i 's|/media/ana/Datos/geo-timezone/data|data|' tests/GeoTimeZone/UpdaterDataTest.php

My test procedure was as follows:
>
> phpenmod geos
> vendor/bin/phpunit .
... runs ...
> phpdismod geos
> vendor/bin/phpunit .
Required dependency geos extension not installed
>  phpenmod geos
> vendor/bin/phpunit .
... runs ...


How to uninstall auto start magic mirror

Please only submit reproducible issues.
If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: https://forum.magicmirror.builders/category/15/bug-hunt
Problems installing or configuring your MagicMirror? Check out: https://forum.magicmirror.builders/category/10/troubleshooting
When submitting a new issue, please supply the following information:
Platform: Place your platform here... give us your web browser/Electron version and your hardware (Raspberry Pi 2/3, Windows, Mac, Linux, System V UNIX).
Node Version: Make sure it's version 0.12.13 or later.
MagicMirror Version: Now that the versions have split, tell us if you are using the PHP version (v1) or the newer JavaScript version (v2).
Description: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem.
Steps to Reproduce: List the step by step process to reproduce the issue.
Expected Results: Describe what you expected to see.
Actual Results: Describe what you actually saw.
Configuration: What does the used config.js file look like? Don't forget to remove any sensitive information!
Additional Notes: Provide any other relevant notes not previously mentioned. This is optional.
Im not able to stop the magic mirror anymore but I dont know how to uninstall auto start

have you tried the Alt button?
it should bring up a bar that will have this at the top...

then click on File and click Exit.

Open Terminal
pi@raspberrypi:~ $ pm2 stop MagicMirror

or
pi@raspberrypi:~ $ pm2 stop mm

As JiJoker1991 mentioned, you can use the stop command to stop mm from restarting until you reboot, but if you really want to "uninstall auto start" you need to use the delete command.
Open terminal
type in "pm2 list" to see if your magic mirror pm2 process is called MagicMirror or mm.
type in "pm2 delete xxx"  where xxx is either MagicMirror or mm.

"pm2 kill" will remove all processes from its startup list.

Please refer to http://forum.magicmirror.builders for support and troubleshooting.
I'm closing this issue for now. If you feel this issue should remain open, please let me know.


Add CMS Theme Detection

Is your feature request related to a problem? Please describe.
Sometimes it is useful to know which theme a website is using. Currently it is necessary to manually inspect the source code or use a 3rd party website to detect the CMS theme.
Describe the solution you'd like
Initially, I'd like to start with a small list of Wordpress themes and then build from there.

A new category for Wordpress Themes
Detection for WP Themes with 200k+ active installs (11 themes)

Over time, the number of themes detected could be increased (there are almost 4k in total).
The category could also broadened to include other CMSs (e.g. Drupal).
Additional context
I work with a team that uses Wappalyzer for detecting CMSs at scale so that we can monitor the Core Web Vitals scores of those sites. We are expanding the scope of our project to include the theme a particular CMS is using. Adding this functionality to Wappalyzer would allow us to scale and automate our project.
I have created a fork as a POC (WPThemeDetection). Currently it can correctly detect all of the Astra themed sites listed here. Todo: add version detection for the Astra theme.
After that, I plan on adding detection for the following themes:

Twenty Seventeen
Twenty Twenty
Twenty Twenty-One
Hello Elementor
OceanWP
Twenty Nineteen
GeneratePress
Neve
Storefront
Twenty Sixteen

What about detecting the Divi theme, is a very popular one 😇

and Shopify themes?

We stayed away from themes because it opens the door to thousands of new entries but requiring a large install base would work. I might implement something like "requires": "WordPress" (instead of implies) so we only look for themes when WordPress is detected to make it less wasteful. Let's create a separate category for each platform, we can start with 'WordPress themes' like you have.

I created an initial requires implementation in 125f0178cecc3da284b752eedff4676a07f3ba14. For any themes, please use "requires": "WordPress" instead of "implies": "WordPress". This way it will only look for themes when WordPress is detected, saving some CPU cycles on all other websites. 🙂
As of right now you can't use headers or xhr in combination with requires but I don't expect that's an issue here.
cc @nurbek91 @pmeenan

Hey guys , added
 "80": {
      "name": "WordPress themes",
      "priority": 9
    },
    "81": {
      "name": "Shopify themes",
      "priority": 9
    },
    "82": {
      "name": "Drupal themes",
      "priority": 9
    }

three new categories for templates

I am facing 2 problems:

"requires" isn't working
I am getting a status error (0)

Explanation:
I'm creating branches for each theme I want to detect.
So far I have created one for Astra and one for Elementor Hello Theme.
They both use  "requires": "WordPress" instead of "implies": "WordPress" and the new "wordPress themes" category (80).
When I test a site that I know uses the Astra theme, the theme is not identified and I get a status error:
{"status":0,"error":"Cannot read property 'technologies' of undefined"}
If I revert back to "implies": "WordPress", the theme is detected but the error is still shown (branch here).
I made a branch from an earlier version of Wappalyser from before requires was added. When I add the same entries to the technologies file, both themes are detected and the error does not appear.
Before-requires-wiith-Astra-and-Hello-Elementor-detection
@AliasIO can you please help me figure out why requires isn't working and what's causing the error?

@noodles requires works for me in the WebExtension but not the Node.js module, I'll look into that. Regarding the error, did you run yarn run link to link the technologies.json file to the right places? Can you try enabling debug mode with -d?

Never mind! Both issues fixed with 605f3852bb9857e73c038f54531b34ee3c7d1077.

did you run yarn run link to link the technologies.json file to the right places?

I run it every time I switch branches. Is that correct?

Can you try enabling debug mode with -d?

I'll try this next time I run into an issue.

Never mind! Both issues fixed with 605f385.

That was quick work! Thank you. My Astra & Hello Elementor branches are both working using the CLI.

Yes, that's correct. Thanks for that!

The master branch of my Wappalyzer fork now supports detection for the top 18 WordPress themes by active installs. I have omitted WooCommerce Storefront for now, as it will require some more effort.
I'll do some more testing testing tomorrow before I submit a pull request.


checkpoint info access

hello! thank you for your work on this! I've been slowly making some progress with a data set I'm trying to train on. Still some ways to go, but still hopeful for an interesting results.
In a few of my tests, the accuracy level dove down very low after some time, but after tweaking hyper-parameters, the results are getting better.
However, some of the earlier incremental generation samples seem to be better than later (but of course still hoping it will improve!) -- is there an easy way to see what the accuracy and loss values were for those checkpoints?
I have verbose mode on since it's interesting follow the progress, but then the values from previous epochs are not accessible on the screen any more.
I tried viewing some of the checkpoint and validation files in a text editor (vs code) but it seems to be a binary, or non utf-8 encoding.
thanks for any advice!

related general practice question, if say epoch N has a pretty interesting generation output, and then the quality seems to drop off after a while, does it seem like a good idea to quit and resuming training from epoch N in hopes that it finds a better trajectory?
(I'm using Adam optimizer at the moment but tempted to try the others to see if they work differently -- sample set size of 2640 files @ 8s each, current learning rate 0.001)

Hi, and thanks for your interest in the project. Indeed you're right, checkpoints are binary files. They're standard TensorFlow checkpoints (more precisely part of TensorFlow's Keras implementation), which can be loaded and inspected in TensorFlow itself, but the best way to investigate the training history is using TensorBoard. TensorBoard is your friend, honestly I cannot recommend it enough. To run it simply execute:
tensorboard --logdir path/to/some/logdir
Where --logdir points to the folder for your training session (we're assuming here that you are running it in a fresh console from the prism-samplernn top-level directory, and that your training logdir will be in the default location of prism-samplernn/logdir/<train_id>). So, if you have a training session with the id foo then you would point --logdir to logdir/foo. Each training run stores checkpoints in a timestamped subdirectory of that directory, but in addition to checkpoints it will also contain train and validation subdirectories, which store summaries of the training metrics (loss, accuracy), for display in TensorBoard (see screenshot below).
The TensorBoard UI is updated every 30 seconds by default (you can modify this value from inside TensorBoard itself).
For monitoring training I use a combination of TensorBoard, test audio generated during training and also a log directory storing the (non-verbose) training output. I generate the log as output from nohup, since I work on a remote machine (you could also use a tool like screen):
nohup python train.py
--id Beethoven_32_Piano_Sonatas-8s
--data_dir ~/datasets/Beethoven_32_Piano_Sonatas-8s
--config_file lvb-sonatas.config.json
--num_epochs 250
--batch_size 128
--verbose False
--resume False
--checkpoint_every 5
--max_checkpoints 20
--monitor val_loss
--early_stopping_patience 4 \

Beethoven_32_Piano_Sonatas-8s.log 2>&1 </dev/null &

TensorBoard has lots of features, but the one I mainly use is the Scalar page, which contains graphs showing the change in loss and accuracy over time. The most important one of these is the epoch_loss graph, which charts the progress of the training and validation losses over the epochs. Looking at the relationship between the training and validation losses is the best way to assess the progress of training. If the training loss continues to descend while the val loss either flatlines or starts to ascend then you're almost certainly overfitting - meaning the network is learning the target (including the noise in the target) too well, and can't generalise. This is usually because the network is too strong (too many neurons, too many layers), so you can either lower the RNN dimensionality, or use fewer RNN layers. Alternatively you can increase the size of your dataset, although this is often not possible (chunking with an overlap can help increase the number of chunks). The opposite situation, underfitting, is usually indicated by both the training and val losses flatlining or ascending. This means the network is not powerful enough, and so the solution is to add more layers and/or increase the dimensionality (and/or reduce the size of the dataset). Flatling can also occur if the loss gets stuck in a local minima, for which a recommended solution is to kill the training and resume with a lower learning rate (say, down from 0.001 to 0.0001), and/or a lower batch size (say, from 128 to 64).
Your dataset size seems about right, and I rarely start with a learning rate other than the default. I am currently training on the Beethoven 32 piano sonatas, in an attempt to repeat the original SampleRNN experiment. I will publish the results, but here's some short test output files, about 60 epochs in, temperature 0.95 (had to convert to .mp4 format for upload):
lvb_32_pno_sonatas_temp_0.95_0.mp4
lvb_32_pno_sonatas_temp_0.95_3.mp4
What's nice is that you can hear some structure, there are phrases, and cadences (sort of). There's definitely some LVB in there, although it also sounds quite Schummanesque. to my ear!

@ramagottfried My guess is if you're seeing worse results later in the training, after getting some good output, the network has started to overfit - it will always have a tendency to do this, if you keep it training for too long after it's found a good fit. TensorBoard grpahs are invaluable for finding these inflection points in the training, and for selecting potentially good epochs.

Output from same epoch with slightly higher temperature:
lvb_32_pno_sonatas_temp_0.975_1.mp4

@relativeflux great! thank you so much for your help! I finally got the tensorboard working, I'm using docker so just had to figure out the ports, and now looking at the graphs it does seem like the last training run was actually still improving when I killed it, even if the generated sounds were less interesting (more silence, and distorted sounds), hmm, well I started it again from my favorite checkpoint with 0.0001 learning rate (i'm using maybe a very small batch size of 16), seems to be doing well, let's see what happens...  and thanks for sending the piano examples! very nice to have examples for the repository I think -- and they really sounds great! I like all of the strange phrasing turns, almost like someone practicing, and then the ringing strings have a strange extra spectral resonance, super cool

wow that last one is super! wishing it was about 20mins : )


Fix #323 - Chart version meta regex

Fix #323 by editing the regex 🙌

Codecov Report

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

@@           Coverage Diff           @@
##           master     #324   +/-   ##
=======================================
  Coverage   88.99%   88.99%
=======================================
  Files          15       15
  Lines         618      618
=======================================
  Hits          550      550
  Misses         45       45
  Partials       23       23

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 03b5c9f...e030ff3. Read the comment docs.

Sweet - thanks!


Druid keep using segment from the segment-cache the one not exists on deep storage anymore

Druid keep using segment data from segment cache in queries meanwhile it  was disabled and kill job was ( removed from deep storage).
Affected Version
apache-druid-0.14.1-incubating
apache-druid-0.14.0-incubating
Description
I would expect next behavior:
when the original segment was disabled and removed by kill job and doesn't exist anymore on deep storage its cached copy  should be removed from historical node segment cache also otherwise it still continue to be part of the incoming queries which is wrong.
Lets reproduce on single-machine quickstart/tutorial data according to http://druid.io/docs/latest/tutorials/index.html
$ curl -X 'POST' -H 'Content-Type:application/json' -d @quickstart/tutorial/wikipedia-index.json http://localhost:8090/druid/indexer/v1/task
{"task":"index_wikipedia_2019-05-23T10:37:52.009Z"}
$ curl -XGET -H 'Content-Type:application/json' http://localhost:8081/druid/coordinator/v1/datasources/wikipedia/segments
["wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z"]
$ curl -XGET -H 'Content-Type:application/json' http://localhost:8081/druid/coordinator/v1/datasources/wikipedia?full
{"name":"wikipedia","properties":{},"segments":[{"dataSource":"wikipedia","interval":"2015-09-12T00:00:00.000Z/2015-09-13T00:00:00.000Z","version":"2019-05-23T10:37:52.149Z","loadSpec":{"type":"local","path":"/pub/work/projects/druid-poc2/apache-druid-0.14.1-incubating/var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/index.zip"},"dimensions":"channel,cityName,comment,countryIsoCode,countryName,isAnonymous,isMinor,isNew,isRobot,isUnpatrolled,metroCode,namespace,page,regionIsoCode,regionName,user,added,deleted,delta","metrics":"","shardSpec":{"type":"numbered","partitionNum":0,"partitions":0},"binaryVersion":9,"size":4821529,"identifier":"wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z"}]}

$ curl -X POST http://localhost:8082/druid/v2/?pretty -H 'Content-Type:application/json' -d @quickstart/tutorial/wikipedia-top-pages.json
[ {
  "timestamp" : "2015-09-12T00:46:58.771Z",
  "result" : [ {
    "count" : 33,
    "page" : "Wikipedia:Vandalismusmeldung"
  }, {
    "count" : 28,
    "page" : "User:Cyde/List of candidates for speedy deletion/Subpage"
  }, {
    "count" : 27,
    "page" : "Jeremy Corbyn"
  }, {
    "count" : 21,
    "page" : "Wikipedia:Administrators' noticeboard/Incidents"
  }, {
    "count" : 20,
    "page" : "Flavia Pennetta"
  }, {
    "count" : 18,
    "page" : "Total Drama Presents: The Ridonculous Race"
  }, {
    "count" : 18,
    "page" : "User talk:Dudeperson176123"
  }, {
    "count" : 18,
    "page" : "Wikipédia:Le Bistro/12 septembre 2015"
  }, {
    "count" : 17,
    "page" : "Wikipedia:In the news/Candidates"
  }, {
    "count" : 17,
    "page" : "Wikipedia:Requests for page protection"
  } ]
} ]

Now lets disable segment.
$ curl -XGET -H 'Content-Type:application/json' http://localhost:8081/druid/coordinator/v1/datasources/wikipedia/segments
["wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z"]
$ curl -XDELETE http://localhost:8081/druid/coordinator/v1/datasources/wikipedia/segments/wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z
Before to run kill task.
$ find ./var/druid/segment*
./var/druid/segment-cache
./var/druid/segment-cache/wikipedia
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/factory.json
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/version.bin
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/00000.smoosh
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/meta.smoosh
./var/druid/segment-cache/info_dir
./var/druid/segment-cache/info_dir/wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z
./var/druid/segments
./var/druid/segments/wikipedia
./var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z
./var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z
./var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0
./var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/index.zip
./var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/descriptor.json
./var/druid/segments/intermediate_pushes

Run kill task
$ curl -X 'POST' -H 'Content-Type:application/json' -d '{"type": "kill","dataSource": "wikipedia","interval" : "2015-09-12/2015-09-13"}' http://localhost:8090/druid/indexer/v1/task
{"task":"kill_wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:45:18.029Z"}
After running kill task
You can see that segment was removed from deep storage but still present in segment-cache of historical node and the most disappointing segment data included in query response.  Why?
I believe that historical segment cache should be evicted and removed immediately after removing the segment from deep storage.
$ find ./var/druid/segment*
./var/druid/segment-cache
./var/druid/segment-cache/wikipedia
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/factory.json
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/version.bin
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/00000.smoosh
./var/druid/segment-cache/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/meta.smoosh
./var/druid/segment-cache/info_dir
./var/druid/segment-cache/info_dir/wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z
./var/druid/segments
./var/druid/segments/intermediate_pushes

$ curl -XGET -H 'Content-Type:application/json' http://localhost:8081/druid/coordinator/v1/datasources/wikipedia?full
{"name":"wikipedia","properties":{},"segments":[{"dataSource":"wikipedia","interval":"2015-09-12T00:00:00.000Z/2015-09-13T00:00:00.000Z","version":"2019-05-23T10:37:52.149Z","loadSpec":{"type":"local","path":"/pub/work/projects/druid-poc2/apache-druid-0.14.1-incubating/var/druid/segments/wikipedia/2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z/2019-05-23T10:37:52.149Z/0/index.zip"},"dimensions":"channel,cityName,comment,countryIsoCode,countryName,isAnonymous,isMinor,isNew,isRobot,isUnpatrolled,metroCode,namespace,page,regionIsoCode,regionName,user,added,deleted,delta","metrics":"","shardSpec":{"type":"numbered","partitionNum":0,"partitions":0},"binaryVersion":9,"size":4821529,"identifier":"wikipedia_2015-09-12T00:00:00.000Z_2015-09-13T00:00:00.000Z_2019-05-23T10:37:52.149Z"}]}

And Druid keep responding.
$ curl -X POST http://localhost:8082/druid/v2/?pretty -H 'Content-Type:application/json' -d @quickstart/tutorial/wikipedia-top-pages.json
[ {
  "timestamp" : "2015-09-12T00:46:58.771Z",
  "result" : [ {
    "count" : 33,
    "page" : "Wikipedia:Vandalismusmeldung"
  }, {
    "count" : 28,
    "page" : "User:Cyde/List of candidates for speedy deletion/Subpage"
  }, {
    "count" : 27,
    "page" : "Jeremy Corbyn"
  }, {
    "count" : 21,
    "page" : "Wikipedia:Administrators' noticeboard/Incidents"
  }, {
    "count" : 20,
    "page" : "Flavia Pennetta"
  }, {
    "count" : 18,
    "page" : "Total Drama Presents: The Ridonculous Race"
  }, {
    "count" : 18,
    "page" : "User talk:Dudeperson176123"
  }, {
    "count" : 18,
    "page" : "Wikipédia:Le Bistro/12 septembre 2015"
  }, {
    "count" : 17,
    "page" : "Wikipedia:In the news/Candidates"
  }, {
    "count" : 17,
    "page" : "Wikipedia:Requests for page protection"
  } ]
} ]

sounds like expected behavior: it takes time for coordinator to notice removal of a segment in metadataStore and then asking the historical node to drop a segment, it should go away after a while. if it never goes away then there is something fishy going on.

So coordinator is watching on metadataStore table ( druid_segments table is now empty ) and when the correspondent record referred to segment removed it will initiate historical node to clean the cache and coordinator itself managed by druid.coordinator.period and druid.coordinator.startDelay.
I have never seen when historical drop the cache.
Is there any way to check it?
Thank you.

yes, you can see the coordinator logs printed for corresponding segment name , as coordinator does stuff they would show up there.

I am very sorry but this is not the answer.
I believe that if the whole data of particular datasource were deleted the datasource itself  should not be view-able from any consoles.
If you try to reproduce my case you will see that. At least I hope for that.

If you try to reproduce the case above you will see that. At least I hope for that.

I trust you on that and agree that will happen. This is the expected/current behavior in Druid and AFAIK it would not be possible to change that and guarantee that queries/consoles would immediately stop recognizing deleted segments.
on this, you probably would need to adjust your use case such that above guarantee is not necessary. I can try to offer workarounds if you describe your use case or business problem.


REQ: Add a /version command that outputs the Version and model info used to report bugs here

Issue
It would be great if there was a /version command that could be run from within aider to generate the aider version, model info, git repo, repo map and switches set in a standard way so the output could be cut and pasted here during bug reports or feature requests.  Would encourage consistency and also reduce the time and overhead of collecting information when reporting bugs, as most of the information is only reported on launch and if you are a few hours in to a session when a bug or idea arises, it makes it easier to gather the info.
Version and model info
No response

Looks like the bottom of the output of /model gives some of the info although oddly the model I'm currently using (--sonnet) didn't appear?  Err, it says repo map is disabled but I don't think that is correct.  Will restart and confirm.
Aider v0.54.10
Model:  with udiff edit format
Git repo: .git with 26 files
Repo-map: disabled
Ahh, of course, I tried to set the /model and didn't provide one so it set it to null I guess?  Is that the desired behaviour or if no model is specified and one is already set, should it keep the existing model?
Ahh I see virtually all of the info is available in /settings but not in a compact way with just the key items in a single spot they can be cut and paste to add to tickets so perhaps /version is still a good idea?

Thanks for trying aider and filing this issue. I have been thinking about something like this, yes. I hope to add it soon.


Problem with array

Considering the same configuration in #4 , I have a new error while run step 1 KeyParameters Generation. I pass my input files as single images with torch Dataloader using torch.tensors. Considering that I clone the repository and install all necessary libraries, how can I go on?

Can you provide more information on how you run he-man-tenseal? Are you using the CLI?

Yes, I use the CLI. More specifically these are the steps:

Create calibration-data.zip starting from my train folder, using images (jpeg format).
Create onnx format of my model (it is a simple vgg with square activation instead of relu and average pooling instead of max pooling)
create a venv and install dependencies
using cli (I'm on linux) I put the following command he-man-tenseal keyparams -m demo/mnist/mnist.onnx -c demo/mnist/calibration-data.zip -o demo/mnist/keyparams.json

Should I change something?

he-man-tenseal is completely agnostic of specific data formats (images, text, audio, ...). We simply load the calibration data using the np.load function (like .npz files are loaded). Therefore, the ZIP file has to contain numpy arrays in the .npy format. Please check the demo data for further details on the file format.

Now consider that I have pass all my train set (images as numpy array)  as calibration_data.zip and I am sure that all images have the same size (88,88). I have problems with keyparams generation and this issue arises:
click.exceptions.ClickException: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (31784,) + inhomogeneous part.


ru_RU (Russian) translation for the "fetchRebase.js"

I added ru_RU (Russian) translation for the "fetchRebase.js". Sorry for delay with a new translation :)

No worries!! Very appreciate as always :clap:


INTLY-997: Add github repo and last commit date to walkthrough overview

Motivation
See https://issues.jboss.org/browse/INTLY-997... requirement was to add metadata on the first (overview) page of a walkthrough that links to the walkthrough source on github and also displays the date it was last updated.
What
Create a new component that will display the github repo link and last updated date to the overview page. If the github repo is ours, the link label will display 'Red Hat', otherwise it will display 'Community'.
Verification Steps

Go to the first page of a walkthrough (the overview page... tutorial.js).
On the right side, above 'Resources', there should be a new section named 'Details', and both sections should be under a new heading named 'About this walkthrough'.
Verify that the Source: field displays 'Red Hat' if viewing our default walkthroughs, and 'Community' if viewing a custom (any other) walkthrough.
Verify that when the 'Red Hat' or 'Community' link is clicked, the github repo for that source is opened in a new browser tab.
Verify that the last updated date is valid and formatted correctly.

Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Finished task

Additional Notes
Screen cap:

:eyes:

@mfrances17 I've made an example PR for server-side changes for what I'm talking about in the above comments https://github.com/integr8ly/tutorial-web-app/pull/446. Let me know what you think

@aidenkeating I've made some changes based on the new API, I now pass the walkthrough id and check for type (path/git) before adding the github url and commit date. Can you give this another look?

@mfrances17 :eyes:

@mfrances17 When referencing a repository from WALKTHROUGH_LOCATIONS the verification steps work as expected.
When referencing a local path from WALKTHROUGH_LOCATIONS the date defaults to 01/01/1970. I'm thinking maybe something like N/A might be more clear?
Also when referencing a local path the Community link does nothing, to me this makes sense, just ensuring this is expected?
Local from file

Remote from Red Hat source

Remote from Community source

That is surprising... in my testing, any local walkthroughs display '---' for the repo and the date as expected. I'll retest today with the latest.


persistence

add save & load methods for pomodouroboros.model

It could stand to be improved but pomodouroboros.model.storage does this effectively enough.


LSTM TFLite model is not running

I am trying to implement a LSTM TFLite model on ESP32. But when I tried to run the model, it is printing an error as follows :
`ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0
Didn't find op for builtin opcode 'REDUCE_ANY' version '1'. An older version of this builtin might be supported. Are you using an old TFLite binary with a newer model?
Failed to get registration from op code REDUCE_ANY
AllocateTensors() failed
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core  1 register dump:
PC      : 0x400d2f43  PS      : 0x00060630  A0      : 0x800f5490  A1      : 0x3ffce090
A2      : 0x00000014  A3      : 0x3ffcab58  A4      : 0x00000000  A5      : 0x3ffc1b60
A6      : 0x3ffc1b68  A7      : 0x80000001  A8      : 0x800d2f32  A9      : 0x3ffce080
A10     : 0x00000000  A11     : 0x41a00000  A12     : 0x3ffc1bd4  A13     : 0x3ffc1bd4
A14     : 0x00007918  A15     : 0x3ffc1b74  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000000c  LBEG    : 0x40086365  LEND    : 0x40086375  LCOUNT  : 0xffffffff
Backtrace: 0x400d2f40:0x3ffce090 0x400f548d:0x3ffce0c0
ELF file SHA256: 073b5aeb2d37d8a4
Rebooting...
`
I think the library is not updated to the latest TF version
can anyone please help me out to rectify this problem.

@tanakamasayuki can you please update the library, so that it supports the latest converted, TFLite Model.


os: RemoveAll: pass the O_NONBLOCK flag to openat(2) instead of making an extra fcntl(2) call

What version of Go are you using (go version)?
1.20 (pre-prelease, a813be86df)
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"

What did you do?
I called os.RemoveAll and a colleague saw syscall.fcntl in the resulting profile:

This colleague said that we could also pass O_NONBLOCK to the open(2) syscall.
Reference: https://cs.opensource.google/go/go/+/master:src/os/removeall_at.go;l=174,191;drc=3e5c2c155645ebaed62e4481430c455045b0fff5
Something like:
// openFdAt opens path relative to the directory in fd.
// Other than that this should act like openFileNolog.
// This acts like openFileNolog rather than OpenFile because
// we are going to (try to) remove the file.
// The contents of this file are not relevant for test caching.
func openFdAt(dirfd int, name string) (*File, error) {
	var r int
	for {
		var e error
-		r, e = unix.Openat(dirfd, name, O_RDONLY|syscall.O_CLOEXEC, 0)
+		r, e = unix.Openat(dirfd, name, O_RDONLY|syscall.O_CLOEXEC|O_NONBLOCK, 0)

		if e == nil {
			break
		}

		// See comment in openFileNolog.
		if e == syscall.EINTR {
			continue
		}

		return nil, e
	}

	if !supportsCloseOnExec {
		syscall.CloseOnExec(r)
	}

-	return newFile(uintptr(r), name, kindOpenFile), nil
+	return newFile(uintptr(r), name, kindNonBlocking), nil
}

There's probably a good reason why things are the way they are. But I couldn't think of any.

In this case we know that the file is a directory, and directories aren't usually supported by the poller anyhow.  So rather than open in non-blocking mode, which is kind of meaningless for a directory, we can tell newFile to skip the change to non-blocking mode.  I sent https://go.dev/cl/451997 for this.  Not sure it's worth doing at this stage of the release cycle, though.


Word spelled incorrectly.

Link to article:
https://docs.microsoft.com/en-us/cpp/cpp/stdcall?view=vs-2019
Problem:
In the article, the word "caller" is spelled as "callee" in the first sentence of the article.
The sentence is:

The __stdcall calling convention is used to call Win32 API functions. The callee cleans the stack, so the compiler makes vararg functions __cdecl. Functions that use this calling convention require a function prototype.

@Taylor-Hasterd  Transferred to that repo: https://github.com/MicrosoftDocs/cpp-docs/issues/1410


test(gameserver): add gameserver test application

Welcome to Cryostat! 👋
Before contributing, make sure you have:

[x] Read the contributing guidelines
[x] Linked a relevant issue which this PR resolves
[x] Linked any other relevant issues, PR's, or documentation, if any
[x] Resolved all conflicts, if any
[x] Rebased your branch PR on top of the latest upstream main branch
[x] Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
[x] Signed all commits using a GPG signature

To recreate commits with GPG signature git fetch upstream && git rebase --force --gpg-sign upstream/main

See https://github.com/cryostatio/cryostat/pull/402 for this image being deployed alongside Cryostat
Description of the change:
This change allows an environment variable to be configured so that...
Motivation for the change:
This change is helpful because users may want to...
How to manually test:

Run CRYOSTAT_IMAGE=quay.io... bash smoketest.bash...
...

This should be buildable using build.bash, and testing that it starts up and the Agent connects using https://github.com/cryostatio/cryostat/pull/402 should be straightforward. Actually getting a game client to connect to the server instance is a bit different since the official game clients require an account signup and things, but there are third party launchers that allow connecting to custom servers without an account. Drop me a message if you'd like some direction on how to accomplish that, but this is only really needed if you want to try to generate some activity and additional JFR data. Even without connecting a game client, the target should appear in Cryostat and there should be data to gather.


Make install error

I was trying to build twister on my machine, my nics were alredy boun. running make install gave me this error
cp twister/include/.h /home/twister/include
cp dpdk/i686-native-linuxapp-gcc/include/.h /home/twister/include
cp dpdk/i686-native-linuxapp-gcc/include/generic/.h /home/twister/include/generic/
cp dpdk/i686-native-linuxapp-gcc/include/exec-env/.h /home/twister/include/exec-env/
./post-install
Module already inserted
These devices are already binded
['0000:00:08.0', '0000:00:09.0']
blacklist  ['eth0']
whitelist ['eth1']
Traceback (most recent call last):
File "/home/twister/config/tw_config.py", line 101, in
coremask, portmask, blacklist = parse_twister_params(twister_conf)
File "/home/twister/config/tw_config.py", line 72, in parse_twister_params
sys_tree = populate_lshw_paramas()
File "/home/twister/config/tw_config.py", line 22, in populate_lshw_paramas
tempdic["logicalname"]=pcichild["logicalname"]
KeyError: 'logicalname'
make: *** [install] Error 1

This commit resloves the issue

I compiled this and again got this error
./post-install
Inserting Modules in kernel
Traceback (most recent call last):
File "/home/twister/config/tw_config.py", line 195, in
main()
File "/home/twister/config/tw_config.py", line 170, in main
coremask = get_coremask(config)
File "/home/twister/config/tw_config.py", line 103, in get_coremask
total_cpus = get_total_cpus()
File "/home/twister/config/tw_config.py", line 81, in get_total_cpus
total_cpus = int(out.split()[11]) -1
ValueError: invalid literal for int() with base 10: 'On-line'
make: *** [install] Error 1


Using adapt convertStorageSchemaToProto2Descriptor Converts TIMESTAMP and NUMERIC fields to string

It seems proto2 descriptor encodes these two types as string, and they fail with type errors like
TypeError: The "string" argument must be of type string or an instance of Buffer or ArrayBuffer. Received type number (12.4)
We are trying to migrate from insertAll method but we faced this issue.
For now we edited the schema and changed TIMESTAMP type to STRING and NUMERIC to FLOAT as a workaround.
Environment details

OS: Mac
Node.js version: 20
npm version: 9.6.7
@google-cloud/bigquery-storage version: 4.2.1

Steps to reproduce
Trying to write this example event to a BQ table returns errors,
Schema Example:
    "fields": [
      {
        "name": "total_val",
        "type": "NUMERIC",
        "mode": "REQUIRED"
      },
      {
        "name": "test_timestamp",
        "type": "TIMESTAMP",
        "mode": "REQUIRED"
      }
    ]

  const storageSchema = adapt.convertBigQuerySchemaToStorageTableSchema(schema);
  const protoDescriptor = adapt.convertStorageSchemaToProto2Descriptor(
      storageSchema,
      'root'
  );
  const connection = await writerClient.createStreamConnection({
      destinationTable: `projects/foo-project-id/datasets/test_dataset/tables/test-table`
  });
  const writer = new JSONWriter({
      connection: connection,
      protoDescriptor: protoDescriptor,
  });
  const event = {
      test_timestamp: '2024-02-15T09:22:33Z',
      total_val: 12.4
  };
  const result: IAppendRowsResponse = await writer.appendRows([event]).getResult();

Error for the timestamp field : Error: interior hyphen     at Function.fromString
For the numeric field : TypeError: The "string" argument must be of type string or an instance of Buffer or ArrayBuffer. Received type number (12.4)

Look like theres no type coercion for NUMERIC values and the goto is STRING.
By changing NUMERIC to FLOAT this gets fixed.

it seems that the issue is still present for the timestamp field


feat: Add dependency filter functionality

Closes #96

Hey @dadav, i just tried your solution and had no luck with it, it doesnt generate anything, no errors, when i remove the dependencies filter it works like it should (generate for everything)


Unexpected Token error when importing module

After importing the module with the line:
import { Recaptcha, recaptcha, observer } from "svelte-recaptcha-v2";
I immediately get the following build error when compiling:
[!] Error: Unexpected token
node_modules/svelte-recaptcha-v2/node_modules/debug/src/browser.js (119:45)
117:   // initialized. Since we know we're in Chrome, we'll just detect this case
118:   // explicitly
119:   if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
                                                   ^
120:     return true;
121:   }
Error: Unexpected token
    at error (/home/node/app/node_modules/rollup/dist/shared/node-entry.js:5400:30)
    at Module.error (/home/node/app/node_modules/rollup/dist/shared/node-entry.js:9824:16)
    at tryParse (/home/node/app/node_modules/rollup/dist/shared/node-entry.js:9717:23)
    at Module.setSource (/home/node/app/node_modules/rollup/dist/shared/node-entry.js:10080:33)
    at /home/node/app/node_modules/rollup/dist/shared/node-entry.js:12366:20
    at async Promise.all (index 3)
    at async Promise.all (index 0)
    at async Promise.all (index 3)
    at async Promise.all (index 12)
    at async Promise.all (index 2)`

Let me know if there's any other details I should give to be more helpful :)

That's odd, have you installed it with --save-dev? A

Interesting. I made sure svelte-recaptcha-v2 was a dev dependency as well as debug as you suggested. I have also removed the import module line I mentioned in my first comment and now I still receive the error but directly from debug this time.
node_modules/debug/src/browser.js (119:45)
117:   // initialized. Since we know we're in Chrome, we'll just detect this case
118:   // explicitly
119:   if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
                                                   ^
120:     return true;
121:   }

So I believe there is something wrong with my configuration, not anything with the svelte-recaptcha-v2 package. I will post here if I find anything that may help anyone in the future.

svelte-recaptcha-v2 already bundles the debug as a dependency so it shouldn't have been required. I just wanted to rule out a possible inconsistency by installing it separately. Let me know if you find anything though. I will make a demo repository and link it in the next release.

I found my issue and it was my configuration as I suspected. In case a Google search leads someone to this comment, this is for you-
If you are passing environment variables in your rollup.config.js to your app like this:
replace({
            process: JSON.stringify({
                env: {
                    api_url:
                        process.env.NODE_ENV === "production"
                            ? "https://your-endpoint.com/wp-json"
                            : "http://localhost:8080/wp-json"
                }
            })
}),

You are effectively overwriting the process variable and it may cause strange errors in your dependencies.
You need to change it to something like this:
replace({
    "process.env.api_url": JSON.stringify(
                process.env.NODE_ENV === "production"
                    ? "https://your-endpoint/wp-json"
                    : "http://localhost:8080/wp-json"
            )
}),

now I recall having a similar problem when I used to define globals in vite config, which caused issues left and right.
I switched to using env-cmd  and replaced the package.json script as such:
        "dev": "env-cmd -f .env.development svelte-kit dev --host <IP_ADDRESS>",

You may want to look into it.


Pass HashProvider to ledger instead of Hasher

Signed-off-by: manish<EMAIL_ADDRESS>Type of change

Improvement

Description

So far ledger used hash function for computing hash on small amount of data at a time that was kept in memory and hence the dependency passed from bccsp, Hash was sufficient. However, for computing the hash of the data streaming while exporting the data (without caching in memory) for a snapshot, the access to to Hash object is needed. This commit makes the change in this dependency. However, no change is needed on the upper layer as the already passed down dependency already implements the desired function.

Also makes the function signature for constructing a new Hash object uniform across snapshot-able components

I'm probably missing something, but what's wrong with hash.Hash? It embeds an io.Writer where you can keep adding data as it streams in. You can reuse it an arbitrary number of times by calling Reset(). Where does it fall short?

We use it as you mentioned above. Refer to https://github.com/hyperledger/fabric/blob/master/common/ledger/snapshot/file.go#L42 and https://github.com/hyperledger/fabric/blob/master/core/ledger/confighistory/mgr.go#L215
However, when we want to stream data to multiple files in parallel and want to compute hashes of the two streams separately, we need to create two hashers. Refer to https://github.com/hyperledger/fabric/blob/master/core/ledger/kvledger/txmgmt/privacyenabledstate/snapshot.go#L29 Here, we iterate over the db and stream public data to one file and private state hashes to another file. At the end, the function returns four hashes in total (two related to data files and two related to metadata file).
If we make the kvledger to call ExportXXX() API present at block store, configHistoryDB, and stateDB in parallel, we would certainly need newHasher and cannot reuse hash.Hash.


[Accessibility]Teams Title Document has more than one main landmark

Steps to reproduce
MS Teams Home title Document has more than one main landmark

Expected behavior
Ensure the document has at most one main landmark.
Actual behavior
Document has more than one main landmark.
Error details
No response

Hello @wanghe2015 - Thanks for raising your query.
We will look into it and let you know the updates.

@wanghe2015 - Could you please let us know what tool are you using to check the above issue?


Update tutorial to delete data

Update the deletion tutorial to add the new drop data API from #7439

Ok, I wasn't sure if those should be removed, will update.

👍


Find Champion II

2924. Find Champion II
Medium
There are n teams numbered from 0 to n - 1 in a tournament; each team is also a node in a DAG.
You are given the integer n and a 0-indexed 2D integer array edges of length m representing the DAG, where edges[i] = [ui, vi] indicates that there is a directed edge from team ui to team vi in the graph.

Team a will be the champion of the tournament if there is no team b that is stronger than team a.
Return the team that will be the champion of the tournament if there is a unique champion, otherwise, return -1.
Notes
A cycle is a series of nodes a1, a2, ..., an, an+1 such that node a1 is the same node as node an+1, the nodes a1, a2, ..., an are distinct, and there is a directed edge from the node ai to node ai+1 for every i in the range [1, n].
A DAG is a directed graph that does not have any cycle.
Example 1:
Input: n = 3, edges = [[0,1],[1,2]]
Output: 0
Explanation: Team 1 is weaker than team 0. Team 2 is weaker than team 1. So the champion is team 0.
Example 2:

Input: n = 4, edges = [[0,2],[1,3],[1,2]]
Output: -1
Explanation: Team 2 is weaker than team 0 and team 1. Team 3 is weaker than team 1. But team 1 and team 0 are not weaker than any other teams. So the answer is -1.

Constraints:

1 <= n <= 100
m == edges.length
0 <= m <= n * (n - 1) / 2
edges[i].length == 2
0 <= edge[i][j] <= n - 1
edges[i][0] != edges[i][1]
The input is generated such that if team a is stronger than team b, team b is not stronger than team a.
The input is generated such that if team a is stronger than team b and team b is stronger than team c, then team a is stronger than team c.

Solution
# class Solution:
#     def findChampion(self, n: int, edges: List[List[int]]) -> int:
from typing import List

class Solution:
    def findChampion(self, n: int, edges: List[List[int]]) -> int:
        # Create a list to keep track of in-degrees for all the nodes
        in_degree = [0] sd* n

        # Iterate over each edge in the graph
        for _, destination in edges:
            # Increment the in-degree for the destination node of each edge
            in_degree[destination] += 1

        # Find if there is exactly one node with an in-degree of 0
        # This node is the potential champion as it has no incoming edges
        if in_degree.count(0) == 1:
            # Return the index of the node with an in-degree of 0
            return in_degree.index(0)
        else:
            # If there is not exactly one node with in-degree 0, return -1
            return -1


Add definition to Code Review chapter

I feel like we agreed that not everyone is required to review the code. It's everyone's responsibility to be familiar with what's going on but for validation 1 to 2 people should be enough in most cases.
I've changed it to this:

What do you think @martin-vlacil


breakdown tdd?

I'm just throwing out an idea related to https://github.com/anti-work/shortest/issues/37
What if, instead of asking the model to go straight from plain English instructions to a full unit test, we broke the TDD process into smaller steps and implemented/tested them separately? This tweet mentioned that this approach helped CaseText, and this blog noted that modular LLM tasks are easier to test.
For example, the first step in TDD is to define a test list. Instead of asking the LLM to generate a full test from plain English like “create a login feature,” we could start by using a dedicated LLM module to create a detailed given-when-then scenario, such as: Given the user enters their username and password, when they click login, then they should see their dashboard. We could then validate this module with hundreds of tests to ensure it meets the required standard for this TDD step. This same method could be applied to other steps, and we could even break it down further into more granular steps.
This approach may seem too detailed, and I’m no expert on this, but I’m interested in exploring if this will produce a more reliable result. What do you think, @slavingia?

Sounds interesting

Feel free to take a stab, seems more relevant for AI evals than product feature development though


Make PHYLIP writing work correctly with missing taxa

The current version of DendroPy has an issue where the following happens:
Suppose m is a DnaCharacterMatrix with some sequences:

m.write('phylip')

5 4
t1 actg
t2 ctga
t3 cccc
t4 ctag
t5 ggtg

m.discard_taxa([t1, t3])

m.write('phylip')

3 4
t1
t2 ctga
t3
t4 ctag
t5 ggtg

m.write('phylip')

5 4
t1
t2 ctga
t3
t4 ctag
t5 ggtg
because blank entries get added by the PhylipWriter to the character matrix.
This patch fixes this issue. It also adds an option to PhylipWriter to suppress printing taxa that have no sequences, which is needed when interfacing with programs like FastTree.

Hi Pranjal,
Thanks for this. It is a useful addition. Only thing is that it needs a test. I will be happy to work up a test for this, but may not get around to it till this weekend.


separated repos depending on customer

The following text can be added to the manual if desired:
having installed gitlist in the beginning I just had one directory with all the repositories. So each customer can see all repos.
I changed the structure than like this:
Repositories
    customer_1_repos
        repo_1
        repo_2
    customer_2_repos
        repo_3
        repo_4

This is working already in general but is still not separating the customers' access.
In the web-directory I made the following structure:
gitlist-x-x-x (original download with version number, no config-file)
gitlist  (symlink to gitlist-x-x-x, no config-file)
customer_1
    src    (symlink to ../gitlist/src)
    themes    (symlink to ../gitlist/themes)
    vendor    (symlink to ../gitlist/vendor)
    boot.php    (symlink to ../gitlist/boot.php)
    index.php    (symlink to ../gitlist/index.php)
    cache   (dir)
    config.ini
    .htaccess
customer_2
    src    (symlink to ../gitlist/src)
    themes    (symlink to ../gitlist/themes)
    vendor    (symlink to ../gitlist/vendor)
    boot.php    (symlink to ../gitlist/boot.php)
    index.php    (symlink to ../gitlist/index.php)
    cache   (dir)
    config.ini
    .htaccess

This is working in general too but leads to some errors because files are not found and ajax-calls are not working.
At this point the only problem then is the .htaccess file.
I never spent much time on changing it, so my solution might be much improvable but it's working:
<IfModule mod_rewrite.c>
    Options -MultiViews +SymLinksIfOwnerMatch

    RewriteEngine On
    RewriteBase /path/to/repos/for/customer/

    # IMPORTANT: This rule has to be the very first RewriteCond in order to work!
    # RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Network-View isnt working if 'json' is added in the following list:
    RewriteRule ^(.*)\.(php|js|css|png|jpg|gif|gzip|md|yaml|dist|xml|eot|svg|ttf|woff)$ $1.$2 [L]

    # Access block for folders
    RewriteRule (themes|src|vendor)/.*\.(?:.*)$ - [F]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?$1 [L,NC]
</IfModule>
<Files config.ini>
    order allow,deny
    deny from all
</Files>

If the .htaccess still makes problems try to comment the 2nd line like this:
#    Options -MultiViews +SymLinksIfOwnerMatch

I integrated gitlist with gitolite so only repositories readable to the authentificated user is shown (and accessable). Check my patch file to see all necessary changes. Just change the line where you get the repolist and you are good to go. Also, you need to setup some kind of authentification (hence $_SERVER['PHP_AUTH_USER']). I used Apache authentification integrated with our Active Directory.

Sorry never remarked your post earlier.
Thanks for the reply, will check it out ;-)

@DavidBruchmann I made a PR which integrates GitList with gitolite, it's more polished that what I sent you earlier. It wasn't merged because some part of code isn't indented properly (spaces), I'll correct that today.

@DavidBruchmann I think another approach would be an implementation as described #521 combined with access control.


Fix creator folder opening

The PR adds the ability to open the workspace folder after scaffolding is done based on the workspace folder count. This resolves the issue of ansible-creator scaffolding not working when used multiple times.
Fixes: #1217.

Will there be tests added/updated as part of this PR?

Will there be tests added/updated as part of this PR?

That's a good catch, the coverage is reduced by 0.2%. @priyamsahoo Can you please add test cases to this PR.

@omaciel, @ganeshrn, as of now, there are no tests for the ansible-creator scaffolding features. I am in the process of adding the tests (One of the PRs in this process is https://github.com/ansible/vscode-ansible/pull/1318). I should add the tests of all these together in the subsequent PRs.

@priyamsahoo I don't want to introduce changes to your existing processes... yet ;) but I think it would give your PR a major boost of confidence if the tests were part of it

In that case, this PR has to wait for a week or two before I set up the testing framework for Ansible content creator web views in the extension (which is currently nonexistent).

@priyamsahoo sounds like a great opportunity to handle an existing technical debt then?


Catalina - unsigned code

Developer cannot be verified.

In the meantime, this can be fixed by removing the QuickLook preview generator from the quarantine.
Open up the terminal and type:
xattr -d com.apple.quarantine /Library/QuickLook/ipynb-quicklook.qlgenerator
qlmanage -r
killall Finder

This first command removes the preview generator from the quarantine permanently. Btw, you can do the same for other apps if needed.
The second command restarts the Quick Look Server debug and management tool.
The third command restarts the Finder. I found that was necessary after restarting the Quicke Look manager.

@samuelduchesne Thanks! It works like a charm :)

Thanks for suggesting this workaround @samuelduchesne. Added a note to the README.
Background is that I don't have a paid Apple Developer membership that would allow me to codesign and notarize the app. Therefore, best is to remove the quarantine attribute after downloading with a web browser, or to use wget or curl to download it instead, which won't set the quarantine attribute.


HHH-12729 : Binary and behavioral incompatibilities of org.hibernate.…

…Query.getFirstResult(), setFirstResult(), getMaxResults(), setMaxResults()
I still need to add a commit that adds documentation to the migration guide.

Or do you plan to use these methods with the WildFly bytecode transformer @Sanne was talking about in the issue?

@gsmet yes that's the plan. There are matching PRs being worked on by Scott which on the WildFly side of things.
I'm not too happy that such changes are tested in WildFly only so I had started with a way to run integration tests in ORM but Steve had concerns about the gradle changes so those integration tests got postponed - for now I guess we'll have to check on Scott's tests, at least there is some progress.
I believe @scottmarlow 's work is here, not aware of a real PR yet - it's probably too soon to review.

https://github.com/scottmarlow/wildfly/tree/WFLY-10520_hibernatecompatabilitytransformer

@Sanne OK, cool, thanks for sharing. So, We just need to fix the comments and it looks ready to be merged.

I've pushed a commit that fixes the Javadoc comments @gsmet mentioned.

@gbadner looks good to me! Let's merge it for 5.3.2 so that Scott can leverage it in his ongoing patch!

Merged.


The description for dependencies status in the HTML is ambiguous.

How to reproduce the issue
macaron analyze -rp https://github.com/apache/maven -sbom test_sbom.json

with the content of test_sbom.json as follows: test_sbom.json

In the example above, the dependency component org.hamcrest:hamcrest-library has the same repository URL https://github.com/hamcrest/JavaHamcrest as another dependency component org.hamcrest:hamcrest-core. Because https://github.com/hamcrest/JavaHamcrest has been analyzed already for org.hamcrest:hamcrest-core, we marked org.hamcrest:hamcrest-library  as a DUPLICATED_REPO_URL component.
However, in the description column of org.hamcrest:hamcrest-library: https://github.com/hamcrest/JavaHamcrest is already analyzed.. I think this is quite confusing as the user don't know where to look for the report of that particular repository. Note that all dependencies listed in the HTML report are listed under the format of <group_id>:<name> to follow the data model.
In additions, the report column of org.hamcrest:hamcrest-library is empty (in the past, it used to link to the HTML report of org.hamcrest:hamcrest-core. However, because we are using PURL as the unique identification, I don't think linking to the same HTML report of another component with a different PURL would be a good idea.
Expect
I think we need to discuss on what would be the best way to display the "duplicated status" of dependencies. Note that after this PR is merged, the definition of "duplication" is not on the scope of repository URL, but it would be repository URL + commit or PURL with version number, etc.

As discussed, this issue will be addressed once this PR is merged as part of the change in data model where the analysis happens on a snap shot of a repository (URL + commit) instead of only happening on the repository URL like before.

That PR was merged...


[PDI-11603] - Unformatted messages in the log - merge from Maverick-C…

…rank-GRey

@brosander - Can you please review this PR. It's a contribution from the community, and it fixes logging messages.

Finally! =)


Provide source maps for build assets

Right now there are no source maps for the built files making it difficult to debug and step through if there are issues or to see what's going on. Relatedly - how are the files built? I don't see a "build" script in the package.json and I'm less familiar with "nextjs" which it looks like is being used.

Good point, and I completely missed that! I’ll make sure to add source maps.
Since this is a monorepo, nx is used to manage and execute commands.
To build three-atmosphere, run nx build atmosphere. This runs vite with the config located in packages/atmosphere. The build output will be in /dist/packages/atmosphere.
Just to clarify, Next.js isn’t involved in building the packages.

Added in https://github.com/takram-design-engineering/three-geospatial/commit/a99277b304ca92c98d2dc8f6326c0d9c8aeed57a

They work great, thanks!


Deserializer: better error message if types of referenced functions don't match

So far this resulted in an assert (in best case). Now a readable error is printed.

@swift-ci test

@swift-ci test