error after clean install of egg

i have this error after clean install
container@pterodactyl~ Server marked as starting...
[Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete...
Pulling from pterodactyl/yolks
Digest: sha256:da669fc7b63f0f4eb1079a9a8c843a72a202310a8499552041ede5fd25cc1aa3
Status: Image is up to date for ghcr.io/pterodactyl/yolks:java_17
[Pterodactyl Daemon]: Finished pulling Docker container image
container@pterodactyl~ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
container@pterodactyl~ ./msh_server.bin -port 25568 -d 3 -infohibe Currently not working -infostar Currently not working -file server.jar -allowKill 30 -timeout 120 -msparam "-Xms128M -Xmx1024M"
╔═════════════════════════════════════════════╗
║  _ __ ___  | |                         ║
║ | ' ` _ / | ' \                        ║
║ | | | | | _ \ | | | v2.4.6                ║
║ || || ||/| || 3b66f16               ║
║ Copyright (C) 2019-2022 gekigek99           ║
║ github: https://github.com/gekigek99        ║
║ remember to give a star to this repository! ║
╚═════════════════════════════════════════════╝
2022/04/06 18:45:36 [info  *   ] checking OS support...
2022/04/06 18:45:36 [info  *   ] loading config...
2022/04/06 18:45:36 [error *   ] main: LoadConfig: loadDefault: machineid: machineid: open /etc/machine-id: no such file or directory
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Aborting automatic restart, last crash occurred less than 60 seconds ago.

A quick fix is to use the j9 version.
I´ll ask on the pterodactyl discord why this could be. Thanks.

Any news on the issue ? I would like to test it.

No, they didn't reply. I'll ask again later.

It doesn't function anymore, tried clean installations, but nothing... please try to finally fix this, i would like to test it out on my system but cannot use it anymore...
i'm trying to setup a velocity proxy to turn on a mc server but settings are all fixed... not good at all at this point.
old version was functioning but i need a functional configurable version with ports configurables, messages. please fix asap.
I really love this project

Did you try the J9 egg i toled you?
https://github.com/gekware/minecraft-server-hibernation-pterodactyl-egg/blob/main/egg-paper-on-demand-j9.json

Yes, that have more problems, cannot regularly start it by proxy, it then disconnects if the server finally starts... i think u should fix something there too, old version was functioning, can u tell how the msh_server.bin is created, can u let it be edited somehow ? There is this strange machine-id error... why ?

Yes, that have more problems, cannot regularly start it by proxy, it doesn't start when you try connecting if you don't cancel the connection first.. it then disconnects if the server finally starts...

This only happens because the Client thinks its a diffrent Version, you can just set the config manualy.
msh-config.json
"Version": "Paper 1.18.2",
"Protocol": 758

But once you joined, the config is updated and from then it will perfectly: (Screenshot)

i think u should fix something there too, old version was functioning

Maybe @gekigek99 can do that. Current issue: You join with 1.18.2 client to MSH beeing 1.17.2 and you won´t get the "Starting" kick. You just timeout. MSH only starts when you click "Cancel" in the client.

can u tell how the msh_server.bin is created

Its downloaded from a server (URL in EGG Variables)
curl -o msh_server.bin ${MSH_D_URL}

can u let it be edited somehow

Sure you can edit it, just fork our repo and make your modifications. (MSH)[https://github.com/gekware/minecraft-server-hibernation] then build it, upload it to a webserver where the egg can then download it from.

There is this strange machine-id error... why ?

This error dosn´t exists in J9.
MSH generates a id thats required to check the version of msh (Dev, Release, Depricated). The machine-id file is on every linux system at the same location with a unique value. For some reason it dosn´t exist in the pterodactyl hotspot java egg :/
So far nobody of the devs toled me why, or even responded to it.

I made a issue. Pterodactyl

So i would sugest to follow his advice and add another startup parameter to msh for maschine-id, if this is given msh should not try to read the ID. @gekigek99

i think u should fix something there too, old version was functioning

@cicatrice74 can you tell me what version/commit you are using? and what was the one that was functioning?

So i would sugest to follow his https://github.com/pterodactyl/panel/issues/4043#issuecomment-1094122884 and add another startup parameter to msh for maschine-id, if this is given msh should not try to read the ID. @gekigek99

@BolverBlitz isn't it possible, when an egg is installed to generate a file with a randomized sha1 in /etc/machine-id of the container? so that the container generates it's own id (even better if keeps it after reinstallation)

I had the 2.4.0 version, it was almost ok, needed some custom or pterodactyl parameters' related issue...
I am trying to have this finally fully working but with no success, it would be great to have start parameters directly tanken from the pterodactyl server section... maybe some sort of plugin support for the "waiting" server (tcpshield remember?), and fix the needing of cancel connection for the server to start.
There are lot of problems in this latest version...
I don't like the config section inside the msh_config file... i do not underrstand the 2555 port inside of it.
Make it more simple like
Server_Name: name
Server_sleeping_port: 25568
Server_port: {get it from the pterodactyl panel server created}
Memory_for_sleeping: 256M
Memory: {get it from the pterodactyl panel server created}

The egg currently isnt nstalling 2.4.0 of MSH, its installing 2.4.6
For 2.4.0 you need the legacy egg.

I was trying to help you telling you what's wrong with this, if i was able to "pr" i would make something probably better... maybe i'm trying to help wrong programmers. bye. will never use this. anymore

It is not serious to remove my comment after you have exaggerated yours towards me, really not very serious

the initial error was fixed here
now it needs to be implemented in the egg


Updated Logo and style to more closely match branding

Change Description

Updates Scatter logo to be SVG and use scatter branding colors

API Changes

None

Documentation Additions

None

Resolves #21


Aborting upload generates error

Hi
I'm using version 1.7.13.
I have set up my code to allow multiple file uploads using a ReactiveArray. Each file has a 'cancel' button which aborts that file's upload.
When aborting the upload, it triggers an on('end', function(error, fileObj)... event, returning a 408 Error (Can't continue upload, session expired. Start upload again.) and fileObj set to null. I'm assuming this is not normal behaviour.
Here is my code:
uploadForm.js
Template.uploadForm.onCreated(function () {
  this.currentUploads = new ReactiveArray();
});

Template.uploadForm.events({
  'change #fileInput': function (e, template) {
    var userId = Meteor.userId();
    if (e.currentTarget.files) {
      _.each(e.currentTarget.files, function(currentFile) {
          var upload = StoredFiles.insert({
            file: currentFile,
            streams: 'dynamic',
            chunkSize: 'dynamic',
            meta: {
              dirty: true
            }
          }, false);

          upload.on('start', function () {
            template.currentUploads.push(this);
            Session.set('uploading', true);
          });

          upload.on('end', function (error, fileObj) {
            if (error) {
              serverLog.error('Error during upload', currentFile, userId);
              alert('Error during upload: ' + error);
            } else {
              serverLog.info('File "' + fileObj.name + '" successfully uploaded', getDetails(fileObj) , userId);

              var fileRecord = {
                path: fileObj.path,
                name: fileObj.name,
                size: fileObj.size,
                key: fileObj._id,
                created: new Date(),
              };
              fileRecord.downloadable = document.getElementById('downloadable').checked;
            }

            template.currentUploads.remove(this);
            if (template.currentUploads.length == 0) {
              Session.set('uploading', false);
            }
          });

          upload.start();

        }
      });
    }
  },

  'click .cancel-upload': function(event, template) {
    event.preventDefault();
    var fileId = $(event.target).attr('id');
    var fileList = template.currentUploads.list();
    fileList[fileId].abort();
    return false;
  }
});

uploadForm.html
<template name="uploadForm">
  {{#if currentUploads}}

Uploading:

    {{#each currentUploads}}

        {{file.name}}:
        {{progress.get}}%
        <button id={{@index}} class="cancel-upload btn btn-xs">Cancel</button>

    {{/each}}
  {{else}}
    <input id="fileInput" type="file" multiple />
  {{/if}}
</template>

Note: I initially also had the following .on('abort', ... ) function, intending that only it should run after the abort and not .on('end',... ), but I found both were called - it was called immediately when the cancel button was clicked, while the .on('end',...) function was called a second or so later.
          upload.on('abort', function (error, fileObj) {
            template.currentUploads.remove(this);
            if (template.currentUploads.length == 0) {
              Session.set('uploading', false);
            }
          });

Am I correct to assume this is also not expected behaviour?
If it is expected, I would like it to call just one function immediately after the abort. Is there a way to do this?
Thanks

Hello @RavDanny ,
This behavior caused by package asynchronous nature.
Whenever you call abort it terminates currently processed chunks and all further from being sent over the wire, and tells to the server to stop accepting that file's chunks. Although Client doesn't sending chunks anymore and Server doesn't accepts new one, there might be some chunks which was in the "middle" between Server and Client at the moment when abort was called, in this case Server will return 408 (looks like I've picked wrong code).
Anyways, all errors should be ignored after abort was called.
Let me know if I have explained this behavior well.
If you're expecting different behavior, your thoughts and wishes is very welcome here

Hi @dr-dimitru ,
That makes sense. Although, it probably should be documented somewhere that:

.on('end', ) is triggered by .abort()
The server could return a 408.

Thanks

@RavDanny ,
Thank you for the comment on this, I'll update docs


Index Lots

Considering that most species within the entomology collection only exist under the Index Lots collection, it would make sense to include these in search results.
I have had to review a paper recently where people assumed type specimens were lost because they did not turn up in the main search results, even though there were details in the Index Lots collection.

The solution for this issue (cross-resource searching) is on our roadmap, has been since the beginning of the year and has a high priority. However, it requires an overhaul of the backend search services before it is possible to expose this functionality on the site. This overhaul is in the design stages at the moment and won't be implemented and released for at least 2 - 3 months due to other higher priority items and the length of time this work will take to complete. Rest assured it will happen, just not immediately. We certainly want to avoid the scenarios like the one you describe and make the site easier to use for the unfamiliar.

I'll attach this issue to the milestones once they get created so that you can track progress :slightly_smiling_face:

This is now complete. With the release of integrated searching on the Data Portal you can search across multiple resources at the same time so searching on the specimens and index lots is now possible.


Ben, please enable greenkeeper

A new eslint release today broke up build, as described in #14. https://greenkeeper.io is free for open source and will automatically check for these kinds of things and warn us via PR. Here's an example: https://github.com/FreeCodeCamp/FreeCodeCamp/pull/8617
It's pretty amazing. Only the repo owner (not collaborators) can enable it, so you'll need to do it. Instructions are easy.
https://greenkeeper.io/#getting-started
GETTING  STARTED
Three simple commands: Open your terminal, and
$ npm install -g greenkeeper
$ greenkeeper login

Your browser will open and ask you to log in to GitHub. Please do that.
Then, inside the repo you want to keep up to date, do
$ greenkeeper enable

and you’re done! Your first greenkeeper PR will arrive shortly!

gml-blesh:redux-observable blesh$ greenkeeper enable
🌴  info enable The GitHub slug is: blesh/redux-observable
blesh/redux-observable enabled

Done


Issue 7247 raise warning jit (#7476)

Pull request opened by the merge tool on behalf of #7476

Merged into branches iso6 in 42f29f46524a94ad467d6e1344ec86141fc757fb


Request: Voucher Code

Might be nice to supply a couple different versions of login.html with the different combinations of voucher code/login.
1: Login only
2: Voucher only
3: Login & Voucher

Would be very easy since auth_user can be replaced with auth_voucher and the password div removed. I'll add a few extras tonight once the kiddos are to bed.

Yeah, I figured it was trivial and don't really need it for myself, but I know the standard captive portal has all 3 fields.
Overall it looks very nice.. will be installing it at home later.

I've updated the repo quite a bit and added another theme. Enjoy!


2024-05-13: Project Lead Sync

Attendees

Project Lead: @aecurrie
Project Lead: @pinireznik
Project Manager: @russelltrow

Agenda

[x] Project Lead Role & Responsibilities
[x] Current status of the project

[x] https://maturity-matrix.greensoftware.foundation/

[x] What next for the project?

[x] Run the project sync or async?
[x] Project Initiation
[x] Version 1.0

[x] Our ways of working

[x] How often shall we meet?
[ ] What do you need from me?

Meeting Notes (Work In Progress)
Project Lead Role & Responsibilities

Ratification
Getting contributors and adopters

What next for the project?

Run the project asynchronously after the kick-off

Project Initiation

Schedule a project kick-off for mid June
Schedule an internal webinar to introduce the project to other members
Publish an article on the GSF website announcing the project

Version 1.0

Our ways of working

The Project Leads & PM will meet on a monthly basis


wasm

why not use wasm for the transformation code that needs to run ?
that means you can write them in go, c, etc etc and they are sandboxed.
just see everyone reinvent this everywhere. same for blockchain contracts like solidity. just use WASM.... :)
rant i know... but seems logical to me

OooooOoh interesting! Our main reason for starting with skylark is data scientists are far more comfortable with python-style syntax, and capacity for parallel execution . Totally agreed that reinventing the wheel is irritating, and we only went this way b/c learning another language for data science is a bit of a non-starter for the people we've talked to.
We do, however, have support for multiple syntaxes built elsewhere, so there's nothing stopping us from writing a WASM transform implementation as well 😄.  I'd love to live in a world where we can use WASM for transforms.

Ah I see.
Well makes sense your supporting python.
Please close this then ..
On Thu, 14 Jun 2018, 20:28 b5<EMAIL_ADDRESS>wrote:

OooooOoh interesting! Our main reason for starting with skylark is data
scientists are far more comfortable with python-style syntax, and capacity
for parallel execution . Totally agreed that reinventing the wheel is
irritating, and we only went this way b/c learning another language for
data science is a bit of a non-starter for the people we've talked to.
We do, however, have support for multiple syntaxes built elsewhere, so
there's nothing stopping us from writing a WASM transform implementation as
well 😄. I'd love to live in a world where we can use WASM for transforms.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/qri-io/skytf/issues/6#issuecomment-397393736, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATuCwvsHW_nCY8pvJEJRtfNoOfUzB3uCks5t8qtBgaJpZM4Unkaq
.

Will do. Thanks for stopping by @gedw99! I'll holler if we get around to supporting wasm, and thanks for the vote in favour of wasm!


Add hydra jobset to repository

This is for discussing the addition of a hydra jobset to the repository,

I have set up a local hydra instance and have tried to add linux-surface as a flake:
https://github.com/damianoognissanti/TestHydra/tree/main
I get the following error message:
in job ‘packages.x86_64-linux.microsoft-surface-pro-intel.microsoft-surface.surface-control.enable’:
error: attribute 'packages.x86_64-linux.microsoft-surface-pro-intel.microsoft-surface.surface-control.enable' is a Boolean, which is not supported

in job ‘packages.x86_64-linux.microsoft-surface-pro-intel.microsoft-surface.ipts.enable’:
error: attribute 'packages.x86_64-linux.microsoft-surface-pro-intel.microsoft-surface.ipts.enable' is a Boolean, which is not supported

in job ‘packages.x86_64-linux.microsoft-surface-pro-intel.imports’:
error: attribute 'packages.x86_64-linux.microsoft-surface-pro-intel.imports' is a list, which is not supported

Does this mean that the surface files must be rewritten, or is there something wrong with the flake?

@Mic92 do you know how to write code for adding a hydra jobset? I can't get it to work and I don't find any documentation or examples that I can use either. I am just fumbling in the dark...


test code examples

Completed. Helped fixing a few bugs in library. Qt example still neither compiled nor tested.


ECS Terraform example

@florisvdg can you please create a GitHub banner for this guide as well?

https://secrethub.io/img/integrations/aws-ec2/github-banner.png

Tested the example.

Task linked: CU-40pcce Add AWS ECS + Terraform to examples repo


update typo

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

Looks good; thanks.


Tracking Issue: Automatic Generation of LLVM-Tests

We can use this Issue to discuss the plans/ideas we came up with in todays call


Conan Misconfiguration

I am on arch linux, and downloaded conan from AUR and follow the steps in README.md but got to a point where conan would not run the install command  {
conan install ../hello_world -pr <your_conan_profile>
}
giving the error {
ERROR: Error reading 'clang-6.0-linux-x86_64' profile: ConfigParser: Unrecognized field 'build_requires'
}
doing research I found the in the toolchain file (or whatever it is called in conan projects) was using the deprecated [build_requires] attribute instead of the [tool_requires] which is the only working option as of conan 2.x and that as I tried to fix issues with the file (not knowing how conan works) I could not get the project to compile

I encountered the same problem. Has this problem been solved?
if sloved,please tell me.
thank you

Any fix for this?

The builds are broken since conan 2 deprecated conan 1 files. We might support conanfiles in the future, but currently we're working on a nix toolchain, which is in progress - nix-build in the source root is currently the closest thing we have to a working buld. Pay attention to nix-related commits for following this work.


Add some new resources

I would like to request the contributor to add some new resources in any of the category which are there in this project.
Feel free to reach out in case of any queries 😀

Here you go @elidakirigo 🤠

thanks. let me start working on it! @hasnainmakada-99

hello @elidakirigo can I work in this project

Is there any community channel which I can join.. As I'm new in the open source field..

Yes @Sakshikumari28, you join our discord channel for oswh
https://discord.gg/NReUHQD6EX

I was scrolling through all repositories on GitHub I found this one simple to start with, if you can involve me in this project I can help you by contributing resources to this project and it will be also a learning point for me, please can you assign me to this project @hasnainmakada-99

Sure sure @coderiksenthil, please go ahead contributing to this project, it will be a great help to us and don't forget to join our discord server 😊


Expected "/*" but "A" found

Environment
OS : Linux 4.9
Node : 10.11.0
npm: 6.4.1
Watchman: 4.7.0
Packages : (wanted => installed)
react: 16.3.0 => 16.3.0
react-native 0.55.0 => 0.55.0
Description
When I try to link a lib whatever it is I got
rnpm-install ERR! Something went wrong while linking. Error: Expected "/*" but "A" found.
Please file an issue here: https://github.com/facebook/react-native/issues
Expected "/*" but "A" found.
Reproducible Demo
We are a lot of people working on this project so i'm not sure when it started, and unfortunatly I can share it.
But I had the trouble when I added https://github.com/react-native-community/react-native-camera
I tried to upgrade react version but it wasn't fixed with this

I'm facing the same issue
ERROR:
rnpm-install ERR! Something went wrong while linking. Error: Expected "/* Begin ", "/* End ", "\"", or [A-Za-z0-9_.] but "<" found.
Please file an issue here: https://github.com/facebook/react-native/issues

Expected "/* Begin ", "/* End ", "\"", or [A-Za-z0-9_.] but "<" found.

This is my environment details
React Native Environment Info:
System:
OS: Windows 10
CPU: x64 Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
Memory: 1.03 GB / 7.89 GB
Binaries:
npm: 6.2.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-181.55<IP_ADDRESS>56338

@prasad456 , I managed to solve the issue by upgrading react native !
react-native upgrade
then
rm -rf node_modules
npm install
react-native link


Serial Monitor?

What are the plans for any integration with a serial monitor?

I've been looking into the possibility using pyserial with websockets, to create a serial monitor interface on the HTML front end, but I don't have anything even prototyped.
A while ago I had a very rough prototype of a serial monitor using native windows in python, using the same GUI framework than the file and folder browsers, but it felt like I was reinventing the wheel (as the Arduino IDE, which is required to run Ardublockly, already offers this feature) and it defeats the use of the other desktop components and the advantages of using an HTML front end.
So it's been at the back of my head for while, and it is definitely possible to implement it, but it has not climbed up too much in the priorities list, as the Arduino IDE can be used in the meantime.


provide a Test command to test a step

it would be nice to be able to choose a sample input message and to test out a single step in an existing flow. Eventually we could package this up as a REST API we can use from consoles but starting with a CLI would be great.
e.g. something like:
$ funktion test-step myflow 3 -f sampleMessage.json -oyaml
testing myflow step setHeader:foo=bar
output:
  foo: 1234

Under the covers we'd need to create a new temporary flow for something like:
funktion create flow mytmp http://localhost setHeader:foo=bar

i.e. pull out the step to be tested and add a http endpoint in front. Then the funktion test-step would wait for a pod to start, when its up, POST the sampleMessage.json to the pod's HTTP port and output/save the results (then removing the flow). We could use a temporary namespace for these 'tests' to avoid it confusing end users too?

over time we maybe wanna get more clever, having pools of 'Test flows' pods around that we update on the fly rather than spin up from scratch - as Java + camel can take a while to startup ;)
So we maybe want a way to have single message mode flows that we update the flow, wait for the response, then the pod stays around until we decide to explicitly kill it (to scale down the pool) or replace the flow with a new step to test.
e.g. if you set the singleMessageMode: true on a flow it will only process 1 message then stop. So we can then just find a pod thats finished; update its flow.yml, fire in a new message and wait for the result.
Another option is to put the sample message into some canonical place (a message store - such as the content-repository HTTP server we use for hosting build maven websites) - then the flow consumes from that URL and posts the results to some place and just poll for the result from the CLI - then we don't need to worry about watching the pod is ready to know if its ready for POSTing to?
It may be simpleest to POST to a HTTP endpoint inside the 'test pods', the sample message and the flow and for the HTTP response to come back with the result message?


graph-cli crashes at runtime

Describe the bug
The package graph-cli (binary graph) is unusable at runtime: it always crashes.
Steps To Reproduce
Steps to reproduce the behavior:
1.
$ cat test-graph-cli.csv
date,added,deleted,commits
2019-05-17,445,0,2
2019-05-20,155,3,2

$ graph test-graph-cli.csv

results in an error:
Traceback (most recent call last):
  File "/nix/store/1l26pvib4gzjpn1gfaajkqwhzi40pjql-graph-cli-0.1.18/bin/.graph-wrapped", line 9, in <module>
    sys.exit(main.main())
  File "/nix/store/1l26pvib4gzjpn1gfaajkqwhzi40pjql-graph-cli-0.1.18/lib/python3.10/site-packages/graph_cli/main.py", line 17, in main
    create_graph(graphs)
  File "/nix/store/1l26pvib4gzjpn1gfaajkqwhzi40pjql-graph-cli-0.1.18/lib/python3.10/site-packages/graph_cli/graph.py", line 261, in create_graph
    fig, ax = plt.subplots(figsize=(Graph.figsize))
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 1442, in subplots
    fig = figure(**fig_kw)
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/_api/deprecation.py", line 454, in wrapper
    return func(*args, **kwargs)
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 783, in figure
    manager = new_figure_manager(
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 358, in new_figure_manager
    _warn_if_gui_out_of_main_thread()
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 336, in _warn_if_gui_out_of_main_thread
    if _get_required_interactive_framework(_get_backend_mod()):
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 207, in _get_backend_mod
    switch_backend(dict.__getitem__(rcParams, "backend"))
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/pyplot.py", line 265, in switch_backend
    backend_mod = importlib.import_module(
  File "/nix/store/sp5x6s8n36gjlwck74xhj1i61p66vcpa-python3-3.10.9/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/backends/backend_qt5agg.py", line 7, in <module>
    from .backend_qtagg import (    # noqa: F401, E402 # pylint: disable=W0611
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/backends/backend_qtagg.py", line 9, in <module>
    from .qt_compat import QT_API, _enum, _setDevicePixelRatio
  File "/nix/store/fq03dka9ivs40a4hjn0aajl7m5az48g0-python3.10-matplotlib-3.6.2/lib/python3.10/site-packages/matplotlib/backends/qt_compat.py", line 137, in <module>
    raise ImportError(
ImportError: Failed to import any of the following Qt binding modules: PyQt6, PySide6, PyQt5, PySide2

Expected behavior
The application works.
Screenshots
N/A.
Additional context
Add any other context about the problem here.
Notify maintainers

@leungbk
Maybe @kilianar ? As they committed a version upgrade

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.1, NixOS, 23.05 (Stoat), 23.05.20221229.677ed08`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-22.05"`
 - nixpkgs: `/nix/store/7m0y4s8bd0pj7mazwdxrwa2m14hplims-source`

The error appears to be caused by matplotlib. Replacing it with matplotlib.override{enableQt = true;} resolves the error, but results in the following messages:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

It seems to be a wrapping issue in matplotlib.

cc @lovek323 @veprbl (as maintainers of matplotlib)

You'll also need a wrapQtAppHook for the entry point exectables.

Thank you @veprbl your last message was correct! I have opened https://github.com/NixOS/nixpkgs/pull/218533 with that fix, it works on my machine now


Workaround for large memory usage from using np.ix_ with scipy.sparse

Fixes #380
Basically, scipy.sparse has weird memory usage behavior around orthogonal indexing:
from scipy import sparse
import numpy as np

s = sparse.random(10000, 10000, format="csr")
idx1 = np.random.choice(10000, 1000, replace=False)
idx2 = np.random.choice(10000, 1000, replace=False)

# This is fine
%memit s[idx1.reshape(-1, 1), idx2]
# peak memory: 102.25 MiB, increment: 1.36 MiB

# This is not
%memit s[idx1.reshape(-1, 1), idx2.reshape(1, -1)]
# peak memory: 126.00 MiB, increment: 23.38 MiB  # Increases with size of subset

Though the latter is what you're supposed to pass to np.ndarrays.

To demonstrate the effect on anndata:
Creating demo data:
import scanpy as sc
a = sc.datasets.blobs(n_observations=10000)
# This is actually faster than sparse.random for equivalent density, wtf
sc.pp.pca(a)
sc.pp.neighbors(a)

a.write_h5ad("test_with_obsp.h5ad", compression="lzf")

Test code
%load_ext memory_profiler
import anndata as ad

a = ad.read_h5ad("test_with_obsp.h5ad")
%memit a[range(a.shape[0])].copy()

Results
On master:
peak memory: 2410.82 MiB, increment: 2303.93 MiB

On d0839e6144fdce8ff0
peak memory: 128.78 MiB, increment: 21.05 MiB

Wow! Super impressive! 😄


Devfile Parser should not set default values when flattening is true

Which area this feature is related to?
/kind bug
Which area this bug is related to?
/area library
What versions of software are you using?
Go project
Operating System and version:
Fedora 37
Go Pkg Version:
github.com/devfile/library/v2@f87c6926afe80be8abb9fbb83ebfa751f6f93430
Bug Summary
Describe the bug:
While working on adding support for autoBuild  and deployByDefault in odo (https://github.com/redhat-developer/odo/issues/5694), I needed to handle the case where those fields are not explicitly set in the Devfile and the components are not referenced by any apply commands (see https://github.com/devfile/api/issues/852#issuecomment-1211928487).
But currently, the parser automatically sets unset fields to their default values (false here) when called with the option to flatten the Devfile:
https://github.com/devfile/library/blob/bd4a12f272573de1ab254f3e138a9b55904af620/pkg/devfile/parser/parse.go#L147-L153
On the other hand, parsing without flattening makes our tests using child and parent Devfiles fail (mainly because the child Devfile was missing other definitions like commands or components - see the logs here).
To Reproduce:
See this sample project that highlights the issue: https://github.com/rm3l/bug-devfile-parser-fields-not-set
Expected behavior
As discussed during the community call (on March 20, 2023), flattening should not dictate whether default values should be set or not. It should be up to the clients of the library to decide how to handle unset fields. This is especially necessary since fields like autoBuild and deployByDefault have 3 states (true, false, and nil) with different behaviors that need to be implemented client-side.
Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable
https://github.com/rm3l/bug-devfile-parser-fields-not-set/actions
Additional context
—
Any workaround?
—
Suggestion on how to fix the bug
—

Just to clarify, my comment about this scenario potentially being a bug applied to the unflattening scenario.  The intentions were to always preserve backward compatibility wherever possible in our apis and library so if we do not set default values at all, we will be forcing clients set them: https://github.com/devfile/api/issues/545#issuecomment-905843104.  What you're proposing is a behavioural change and will impact other clients and will require further discussion

Just to clarify, my comment about this scenario potentially being a bug applied to the unflattening scenario. The intentions were to always preserve backward compatibility wherever possible in our apis and library so if we do not set default values at all, we will be forcing clients set them: #545 (comment).
What you're proposing is a behavioural change and will impact other clients and will require further discussion

Thanks for clarifying, @kim-tsao!
Indeed, if we agree this is a bug applied to the unflattering scenario, then it would make sense to set default values in all cases.
But in this case, to preserve backward compatibility, maybe clients could be given the option to skip setting default values? So they can decide on their own how to handle unset fields..

Just to clarify, my comment about this scenario potentially being a bug applied to the unflattening scenario. The intentions were to always preserve backward compatibility wherever possible in our apis and library so if we do not set default values at all, we will be forcing clients set them: #545 (comment).
What you're proposing is a behavioural change and will impact other clients and will require further discussion

Thanks for clarifying, @kim-tsao!
Indeed, if we agree this is a bug applied to the unflattering scenario, then it would make sense to set default values in all cases. But in this case, maybe clients could be given the option to skip setting default values? So they can decide on their own how to handle unset fields..

@rm3l , I'll have to do some more investigation to make sure our parent override scenarios do not break.  In addition, we discussed this in today's team call and agreed that if we do make a breaking change that it might be best to do so now when we don't have many clients adopting the 2.2 updates.  Impacts to pre-2.2 boolean properties were minimal too, since odo was the only client affected.

I'll also look into your suggestion to allow clients to skip setting default values as a way to avoid breaking changes

Thanks Kim!

@rm3l, I have a PR ready.  Please verify if this is the behaviour you're looking for, thanks!

@rm3l, I have a PR ready. Please verify if this is the behaviour you're looking for, thanks!

Thanks, @kim-tsao! I'll take a look soon and let you know.

@kim-tsao I can confirm the changes in https://github.com/devfile/library/pull/169 work fine for us, by using the new  SetBooleanDefaults  option. Thanks.


Add Sage citation

Codecov Report

Merging #71 (4d2374b) into main (0f58a08) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

Rendered https://github.com/openforcefield/openff-forcefields/blob/04d5d62eeed5c9aeaa3e0ae45f9d306dd7bf2aa4/README.md#how-to-cite


Update unclear instructions on an FCC CSS Grid challenge in English #39433

Checklist:

[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] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #39433

Congrats @AnonymousRepositoryStuff on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


fix(database-change): create database change task failed in private sapce

What type of PR is this?
type-bug
What this PR does / why we need it:
This PR(#1578) cause a bug that cannot create a database change task in private space. The root cause is that flow instance created in private space has no PreCheck task. This PR just fix it.
Which issue(s) this PR fixes:

Fixes #1693
Special notes for your reviewer:
Self-test passed.

Additional documentation e.g., usage docs, etc.:

BTW: The "modify timeout if time consuming SQL exists" is completed by using a built-in SQL check rule and will not take affect in Individual Space. This is not match user's needs and will be fixed in later PR by @PeachThinking


Upgrade To Flask 1.x

Upgrading flask example application for Flask version 1.x

[x] Install Flask-bootstrap
[x] Install Flask 1.x
[x] Create factory function
[x] Create controllers dir
[x] Enabling the instance app in terminal when the FLASK SHELL Commando is callable
[x] Create the blueprint
[x] Updating reference link in template

Coverage remained the same at 60.22% when pulling 6c740900553b6255a6dd452bfb0c5168ca8b7672 on mann/FlaskUpdated into 2c4ca6eb19748ac31f58a9cf9ada09f0a2f4d105 on master.

please check the PR @rochacbruno @mazulo

@MarcusMann let's have as a good practice to have at least 1 approval before merge PRs. That way we can guarantee the code quality and avoid some stuffs that can get merged unnoticed. If you take a look at .gitignore file, it still has some characters from the conflict and also duplicated lines.
In the beginning it can be a little bit annoying but it worth the effort 🙂


passwords.json file not loaded with shadowJar

This is the expected behaviour right now, since there is no option to write.


WL 21551 - Flocking Fish Aquarium

replace the basic block with a nice looking model of a fish.
And when the script is run, also create a simple translucent walled 'aquarium' that the fish stay inside.
use a tablet button to make/delete the acquarium and fish.
put the results in the marketplace

Worklist 21551
Test Plan

Run the FlockOfFish.js script from here: FlockOfFish.js
Confirm that a "FishTank" Toolbar/Tablet Button gets added
Confirm that clicking on it toggles the state off and on and a fishtank appears in front of you.
Make sure the fishes spawned in correctly and move around.

Marketplace Item: here (not available yet)

@liv once this has a code review and a sign off by MIlad, it can be merged and go to marketplace

@cain-kilgore  It's nice to see you removed the cruft I told you about.

@themelissabrown @misslivirose @cain-kilgore Does this clean up if the avatar that created the aquarium leaves the domain or crashes ? Will the goldfish become Exocoetidae ?

@Nex-Pro They do indeed become flying fish. Do you have any suggestions as to the best way to prevent that from happening?

I had a chance to take a look and I noticed a few things with some of the calculations.
The way the random positions are being generated at first are oscillating between bounds outside of the walls, not a big thing, but it's why fish appear outside of the walls sometimes at first.
One other thing is that the fish can came outside of the aquarium because there isn't a margin.
Taking a look at this gave me some ideas though, there are a lot of interesting calculations into the fish, and since it is already kind of a tablet app, instead of finding the perfect settings for how the fish work, giving some controls on how the fish tank looks and works can be interesting.
I went through and did a quick version that automates some controls with an external JSON file and addresses some of the issues with the calculations:
Might not be for this pull necessarily:
https://s3.us-east-2.amazonaws.com/hifi-fishtank/FlockOfFish.js
https://s3.us-east-2.amazonaws.com/hifi-fishtank/fishDefault.json
https://s3.us-east-2.amazonaws.com/hifi-fishtank/fishTankHTMLHandler.js
https://s3.us-east-2.amazonaws.com/hifi-fishtank/fishTankUI.html

Just saw NexPros comment.  Putting a lifetime on the models might be a work around for the flying fish?

@misslivirose I've just reviewed your comments and made the changes. Let me know if this is what was wanted!

The fish look much better too as far as where they are first appearing and not poking their heads out of the aquarium!
@misslivirose I'm not sure how picky you want to be with eslint rules, but I saw some eslint warnings for spacing errors and double =='s.

Thanks @MiladNazeri, I hadn't had a chance to review in an editor. @cain-kilgore - can you please make sure that this adheres to using double == and that the spacing in loadFish() is correct with indentation? It's currently 6 spaces instead of 8.

Sorry @misslivirose forgot to say changes were made. Yay Dev Approved!

Tested with Cain last night.  This doesn't leave fish around in a domain if the user leaves now.
@themelissabrown I Recommend setting QA Approved and ready for merge and marketplace.


flatpickr.open() doesn't work when clickOpens=false

open() method does not open the calendar when clickOpens set to false.
It should according to documentation: https://flatpickr.js.org/options/
Has been broken in 4.6.8 here: https://github.com/flatpickr/flatpickr/commit/49a73d6f4c447fe69aace447696b91be7b1e37d4

Fixed in latest release


changed EarlyStopping so best weights are also loaded at the end of training

Hi,
I love using tf.keras.callbacks.EarlyStopping. But I also want the best weights to be loaded automatically at the end of the training, in addition to during training if restore_best_weights=True. Checking out the semantics from the documentation:

restore_best_weights
Whether to restore model weights from the epoch with the best value of the monitored quantity. If False, the model weights obtained at the last step of training are used.

I think this PR more closely aligns with expected behavior vs. the current version. It's easy enough to make a version of EarlyStopping with this behavior, but I was pretty surprised that this wasn't the default so figured I'd make a PR.

@googlebot I signed it!

FWIW --- a summary of the current behavior is:
if you early stop during training causing the model to exit early, you will load your best weights.
I think it should be
if you stop early during training causing the model to exit early, you will load your best weights. And, if your training continues to completion without early stopping, at the end of training, you still load your best weights.

@omalleyt12 BTW --- I saw some check is not successful; anything I can do to fix it? I can't see the details because it looks to be some google-internal check.


JAV-295 add scripts for company demo to run on k8s

add scripts for company demo to run on k8s
Signed-off-by: linzhinan<EMAIL_ADDRESS>

Coverage remained the same at 93.75% when pulling ebb32b3be2ff088368c7577e4c37b5d98041733e on zenlinTechnofreak:addForK8S into ed1a1b6ff3c00556187d2e7d91dea39d4e69dbcc on ServiceComb:master.

Coverage remained the same at 93.75% when pulling 0b09027b7e865ff2082df9783aa3997193865f61 on zenlinTechnofreak:addForK8S into ed1a1b6ff3c00556187d2e7d91dea39d4e69dbcc on ServiceComb:master.

Coverage remained the same at 93.75% when pulling ff8b5aa04d1c4f4928984429b96491269bd6bb49 on zenlinTechnofreak:addForK8S into ed1a1b6ff3c00556187d2e7d91dea39d4e69dbcc on ServiceComb:master.


Add an option to add a progress bar to the GUI

For a process that takes a long time, I used indicatif in the command line to get a progress bar
It would be neat if you could feed a progress bar from indicatif to the config and display it in the GUI to visualize progression, maybe behind a feature flag?

I have been looking into it, and it turned out that I would probably have to dive into unsafe and windows/ unix api to get it working like I described in the previous comment. So I decided to add “native” progress bars because they are still a good idea!

And this is the code:
const MAX: u64 = 100;
for i in 0..=MAX {
    // You must pass in a value between [0, 1]
    klask::progress_bar("Static description", i as f32 / MAX as f32);
    klask::progress_bar_with_id(
        "Progress", // has to be a hashable id that identifies this progress bar
        &format!("Dynamic description [{}/{}]", i, MAX),
        i as f32 / MAX as f32,
    );

    thread::sleep(Duration::from_millis(20));
}

It doesn't use indicatif but you can easily plug values from indicatif::ProgressBar into it!


Setup mono repo

Restructure repo
@johngw/google-ad-manager-api-mono-repo
--> packages/@johngw/google-ad-manager-api

Update release process
Update release process so that all packages are automatically published.
You will either have to downgrade semantic-release or use https://www.npmjs.com/package/semantic-release-monorepo-esm until semantic-release-monorepo has been fixed.

We've now decided not to use a mono-repo and instead just expose the latest version.


How to Change the Output Path for Generated Files in Squadron Builder?

I am trying to use Squadron with source_gen to generate files in a custom output directory, but the generated files are not being placed in the desired location. Specifically, I want the generated files to be placed under a generated subdirectory (e.g., lib/squadron/generated/), but they are always created in the same directory as the source files.

Configuring build.yaml:
I updated the build.yaml file with the following configuration:

targets:
  $default:
    builders:
      source_gen:combining_builder:
        options:
          build_extensions:
            '^lib/squadron/image_converter/{{}}.dart':
              - 'lib/squadron/generated/{{}}.activator.g.dart'
              - 'lib/squadron/generated/{{}}.vm.g.dart'
              - 'lib/squadron/generated/{{}}.worker.g.dart'

Despite this, the generated files (.worker.g.dart, .vm.g.dart, .activator.g.dart) still appear in the lib/squadron/image_converter/ directory instead of lib/squadron/generated/.

Manually Testing a Single File Path:
I simplified the configuration to target a single file directly, like this:

targets:
  $default:
    builders:
      source_gen:combining_builder:
        options:
          build_extensions:
            '^lib/squadron/image_converter/converter.dart':
              - 'lib/squadron/generated/converter.activator.g.dart'
              - 'lib/squadron/generated/converter.vm.g.dart'
              - 'lib/squadron/generated/converter.worker.g.dart'

However, even with this specific setup, the generated files are still placed in the same source directory.

Cleaning and Rebuilding the Project:
I ensured to clean the project and build_runner cache before each attempt:

flutter clean
dart run build_runner clean
dart run build_runner build

Checking Dependencies:
I updated all relevant dependencies in pubspec.yaml to ensure compatibility:

dependencies:
squadron: ^6.1.3
dev_dependencies:
  build_runner: ^2.4.13
  source_gen: ^1.5.0
  squadron_builder: ^6.1.1

Expected Behavior
I expect the generated files (.worker.g.dart, .vm.g.dart, .activator.g.dart) to be placed in the directory lib/squadron/generated/ instead of the same directory as the source files (lib/squadron/image_converter/).
Actual Behavior
The generated files are always created in the same directory as the source files, regardless of the build.yaml configuration.
Is it possible to specify a custom output directory for generated files using Squadron with source_gen?
If yes, could you provide an example of the correct configuration in build.yaml?
Thank you for your assistance!

It should work, and I use this feature in squadron_builder to generate code from the examples.
FYI you can see the configuration I use in  https://github.com/d-markey/squadron_builder/blob/main/build.example.yaml and https://github.com/d-markey/squadron_builder/blob/main/build.example_with_finalizers.yaml.
Closing this as it doesn't seem related to squadron_builder.

It might come from source_gen:combining_builder, I believe your settings are not taken into account because they don't target squadron_builder. You should use squadron_builder:worker_builder instead.


Qualify medication request during create medication dispense

Qualify medication request during create medication dispense
Add new step to create medication dispense logic:
In case medication request qualification failed - return error and do not create medication dispense

Done/Tested


Speakers

[ ] Responsive
[ ] Accessible

[ ] Fix bad bubble randomization
[ ] Center small bubbles on mobile
[ ] Disable randomization on mobile
[ ] Fix massive mobile top margin


progurd error

while proguard is true
Process: com.kama.khajoie.sirjan118, PID: 3179
                                                                          java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
                                                                              at com.akexorcist.googledirection.model.Direction.b(Unknown Source)
                                                                              at com.kama.khajoie.sirjan118.Test.a(Unknown Source)
                                                                              at com.akexorcist.googledirection.b.d.a(Unknown Source)
                                                                              at c.u.run(Unknown Source)

Having this issue too. Anyone with any solutions?
Thanks.

Same problem here. +1

@Hoosein I think it isn't related with ProGuard. It's some bug in my library that occurred in your production app accidentally. (It can be happen without ProGuard)
Please update to version 1.0.5 to fix this problem.
Thank you for your feedback

I had the same problem with 1.0.4 after setting ProGuard.
1.0.5 didn't work with ProGuard either (except it didn't throw NullPointerException).
I fixed it by adding several lines in proguard-rules.pro file:
-keep class com.akexorcist.** { ; }
-keep interface com.akexorcist.* { *; }
-keep class com.google.android.gms.maps.** { ; }
-keep interface com.google.android.gms.maps.* { *; }


Send Offline

How can people use KyberNetwork with Offline transactions? Offline transaction means signing a tx on an offline computer.
For me and I guess many other people entering a private key on an online pc is no option at all. Using a ledger is no option too for many people since it is not trustless due to that the firmware is not open source. Many people are in crypto because of the trustless nature.

Thanks you very much, We will update document soon, will guide user how to sign transaction and send transaction to network.

Contact our developer group (telegram) for further information: https://t.me/KyberDeveloper


support for filter() in KafkaStreamsTracing

Similar to #889 , it would be nice if the filter operation would be made observable.
Since a filter operation is not a Processor but a Predicate, it might require a bit more work as current tracing code uses the ProcessorContext to access the current trace headers. Any ideas ? I'ld be happy to pilot a PR given some coaching :-) @jeqo

@jorgheymans thanks for taking this one!
We can access headers only by using Processor or Transformer interfaces, not by "wrapping" existing DSL operations (e.g. KStream#filter). The approach we have choose is to re-implement most common operations as map/peek/foreach.
We can do the same for filter, if you check the internals, filter is implemented by: https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamFilter.java
You could use https://github.com/openzipkin/brave/blob/master/instrumentation/kafka-streams/src/main/java/brave/kafka/streams/KafkaStreamsTracing.java#L221 as guidance to add a filter transfomer. In this case we will receive the Predicate instead of the Mapper as input. Looking forward to your PR!

Thanks for the pointers, that's helpful. I'll have a go at implementing this.
Do you think it's useful to tag the span with the result of the filtering (ie filtered=true/false) ?

I think so! you could add a tag: kafka.streams.filtered. Without it will be hard to understand why is the last span.


Map - save locations of draggable elements (floater and legend) in user analysis

Remember and persist the locations and size of floating visualizations.

I'm addressing this while working on #696


Overlapping CollisionObject3Ds cause mouse_entered and mouse_exited to glitch

Tested versions

Tested in v4.2.2.stable.arch_linux

System information
Arch Linux - Godot 4.2.2 - Vulkan API 1.3.278 - Forward+ - AMD Radeon Graphics (RADV RENOIR)
Issue description
When there are two overlapping CollisionObject3D (not necessarily physically overlapping, just in the view of the camera) and the mouse is placed on the overlapping region, there are constantly mouse_entered and mouse_exited signals sent by the objects which are overlapping, as can be seen in the following video (Hovered is a mouse_entered signal, Unhovered is mouse_exited, the number is the node.get_index())
https://github.com/user-attachments/assets/099597f8-aaa9-4a1a-8aa3-989bd6a8114f
Steps to reproduce
Create a scene with 2 overlapping CollisionObject3Ds, with signals linked to some print statements, and hover the mouse over the overlap region
Minimal reproduction project (MRP)
Test.zip

I am having the same issue on v4.2.2.stable.official [15073afe3] for windows. Also, this may be a duplicate of #90015


Ability to transform proxied content

Right now this proxy isn't useful for anything other than forwarding traffic to somewhere else.
Including patterns for transforming proxied content would be really useful.
Some transformations that I would want to support:

Manipulating headers in some way (adding and removing HTTP headers sent to and retrieved from the proxied backend)
Content transformations on the body

A challenge with content transformations is that they are harder to implement in a streaming fashion - often they'll need to accumulate the entire response body before being applied. Supporting a neat pattern for optionally doing that would be useful too.

It would be fun to experiment with transforming streaming content - using ijson for JSON and some streaming HTML parser for HTML.

Built this quick prototype with the help of ChatGPT:
import asyncio
from html.parser import HTMLParser
import sys

class AddClassToPTagParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        if tag == "p":
            attrs = dict(attrs)
            if "class" in attrs:
                if "foo" not in attrs["class"].split():
                    attrs["class"] += " foo"
            else:
                attrs["class"] = "foo"

            attrs_str = " ".join([f'{k}="{v}"' for k, v in attrs.items()])
            self.modified_html += f"<{tag} {attrs_str}>"
        else:
            self.modified_html += self.get_starttag_text()

    def handle_endtag(self, tag):
        self.modified_html += f"</{tag}>"

    def handle_data(self, data):
        self.modified_html += data

    def handle_entityref(self, name):
        self.modified_html += f"&{name};"

    def handle_charref(self, name):
        self.modified_html += f"&#${name};"

    def feed(self, data):
        self.modified_html = ""
        super().feed(data)
        return self.modified_html

async def transform_html(async_generator):
    parser = AddClassToPTagParser()

    async for chunk in async_generator:
        yield parser.feed(chunk)

async def test():
    async def html_generator():
        chunks = [
            "",
            "<title>Te",
            "st</title></he",
            "ad>
Hello, ","world!
","
',
            'Hello again, ","world!
',
        ]
        for chunk in chunks:
            yield chunk
            await asyncio.sleep(0.5)

    async for transformed_chunk in transform_html(html_generator()):
        print(transformed_chunk, end='')
        sys.stdout.flush()
    print()

# Run the test coroutine
asyncio.run(test())

For ijson I think this example is relevant, from https://github.com/ICRAR/ijson/tree/master#push-interfaces
import ijson

events = ijson.sendable_list()
coro = ijson.items_coro(events, 'earth.europe.item')
f = urlopen('http://.../')
for chunk in iter(functools.partial(f.read, buf_size)):
   coro.send(chunk)
   process_accumulated_events(events)
   del events[:]
coro.close()
process_accumulated_events(events)

ijson example (ChatGPT wanted remove_keys to be an async def but I fixed that):
import asyncio
import ijson

def remove_keys(obj):
    """Remove keys starting with '_' from an object"""
    if isinstance(obj, dict):
        return {
            k: remove_keys(v) for k, v in obj.items() if not k.startswith("_")
        }
    elif isinstance(obj, list):
        return [remove_keys(item) for item in obj]
    else:
        return obj

async def transform_json(async_generator):
    events = ijson.sendable_list()
    coro = ijson.items_coro(events, "item")

    async for chunk in async_generator:
        coro.send(chunk)
        while events:
            transformed_item = remove_keys(events.pop(0))
            yield transformed_item
    coro.close()

async def test():
    async def json_stream():
        chunks = [
            b'[{"item": {"_id": 1, "name": "test1"}},',
            b'{"item": {"_id": 2, "name": "test2"}},',
            b'{"item": {"_id": 3, "name": "test3"}}]',
        ]
        for chunk in chunks:
            yield chunk
            await asyncio.sleep(0.1)

    async for transformed_item in transform_json(json_stream()):
        print(transformed_item)

# Run the test coroutine
asyncio.run(test())

Note that this outputs:
{'item': {'name': 'test1'}}
{'item': {'name': 'test2'}}
{'item': {'name': 'test3'}}

Losing the [ and ]. Needs more work.
ChatGPT transcript that got me here: https://chat.openai.com/share/3461da01-6e49-4324-9ece-cc2be1134f04

So I think the interface for this ends up looking something like this:
# As seen above:
async def transform_html(async_generator):
    parser = AddClassToPTagParser()

    async for chunk in async_generator:
        yield parser.feed(chunk)

app = asgi_proxy("https://datasette.io", body_transformer=transform_html)

This may be too simple though, since the transformer should probably take into account things like the content-type header before deciding what to do.
Maybe something like this instead:
def transform_factory(httpx_response):
    # At this point we just have the headers
    if 'text/html' in httpx_response.headers.get('content-type'):
        return transform_html

app = asgi_proxy("https://datasette.io", body_transform_factory=transform_factory)


LGTM 1.18: finalize change notes for C/C++

As far as I know, all changes to the C/C++ queries that have customer-facing implications for the 1.18 release are merged. I've tidied up the analysis change notes so that they're ready for publication.
 For some reason the changes are much easier to see in the rich diff:

6aa6b64 - remove placeholder text and sort the table rows.
e7116f5 - add query identifiers for all queries.
2e0818d - update the text to bring the notes into line with other files. Please check that I've not introduced any errors.
3eab1de - removed two queries that aren't available on LGTM. I'll add these to the studio-cpp.md file instead (c.f. C/C++ analysis 1.17)

@jbj - do you have time to review this? Please can you ping anyone else who needs to review it.

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

Thanks for the review Jonas. Text updated accordingly 😄


Added support for negative jobs values

Ref: #495

Fixed, @sunshowers. I responded late because we had a power outage lasting days. Hope this resolves your comments.


[BEAM-8433] DataCatalogBigQueryIT runs for both Calcite and ZetaSQL d…

…ialects.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run SQL Postcommit

I tried Junit Parameterized Test idea. It turned out that that framework add [ ] to test name, and our testing infra use test name for temporarily BQ table name.
The problem is I believe BQ table name does not allow [ and ]. That's why I ended with the implementation in this PR.
The future of duplicates as many as tests for both dialects will require take care of such details.

R: @kennknowles

Run Java_Examples_Dataflow PreCommit


Sublime: 'Join Lines' command binds to Windows+J on Win 10

while testing #16545:
On Windows 10 the 'Join Lines' command binds to Windows+J instead of Control+J. This is different from the corresponding binding in Sublime.

AFAIK, we don't have any command binded to Windows key yet, any catch here @alexandrudima ?

Talked with @Tyriar and he mentioned that Windows key is usually taken by system key shortcut, I think that's mainly why we don't do that.
We can ship it this way and see ppl's feedback on this.

@rebornix Let's ship with the keybinding unbound on Windows and have it bound only on the mac.

Fixed via https://github.com/Microsoft/vscode/commit/067cf11bf0813352f5fdee3373d658d30de38b2f .
To verifier, please test that we only have key bindings for Join Lines on Mac. For Windows and Linux, you need to bind them yourselves.


guide-to-implement-google-sign-in-using-firebase-auth

This is a thorough guide on how to implement Google sign-in using firebase authentication.

[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] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@Anurag26  I had to change the folder name, because it needed to be all lowercase.  I believe you had one uppercase letter.  It was failing the tests, so I fixed and added the change to your commit.  You will get the credit for it.

@RandellDawson  Thanks

Thank you!


Min transport bug fix and go mod updates

for now this does not address a necessary update to the time crate which is included as a dependency because we use the chrono crate. The authors of chrono are aware of the issue  and working on a solution. I don't think it is worth removing chrono for now, but we should keep an eye out for chrono version updates.


[SCALE] Performance Tuning

Tune rabbitmq, mariadb, haproxy and memcached to support a higher rate of API saturation.
I am using this yaml in rally to test API rates.
{% set flavor_name = flavor_name or "mem.nano" %}
---
  NovaServers.boot_server:
    -
      args:
        flavor:
            name: "{{ flavor_name }}"
        image:
            name: "^cirros"
      runner:
        type: "rps"
        times: 1000
        rps: 2
      context:
        users:
          tenants: 10
          users_per_tenant: 2
        quotas:
          nova:
            instances: -1
            cores: -1
            ram: -1
          neutron:
            port: -1
      sla:
        failure_rate:
          max: 1

initial tests hat a failure rate with a success rate of about 42%. The goal is to get to 100% success rate.

after the optimizations in https://github.com/GeorgiaCyber/kinetic/pull/126 I was able to get 100% success rate.
+------------------------------------------------------------------------------------------------------------------------+
|                                                  Response Times (sec)                                                  |
+---------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action              | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+---------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| nova.boot_servers   | 11.49     | 226.248      | 397.104      | 437.299      | 578.649   | 217.555   | 100.0%  | 1000  |
| total               | 11.49     | 226.248      | 397.104      | 437.299      | 578.649   | 217.255   | 100.0%  | 1000  |
|  -> duration        | 10.49     | 225.248      | 396.104      | 436.299      | 577.649   | 216.555   | 100.0%  | 1000  |
|  -> idle_duration   | 1.0       | 1.0          | 1.0          | 1.0          | 1.0       | 1.0       | 100.0%  | 1000  |
+---------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+

I only tested these changes with OVS and Ubuntu Focal

looks good to me.


Timeout in aggregation

Timeout parameter is not applied in aggregation queries.

@ssinuco I have the same problem. Can you solve it?

I'm getting:
Failed to send "aggregate" command with database "xxx": Failed to read 4 bytes: socket error or timeout
It should be possible to set the timeout time at config level.

Hello,  did you find any solution?

same here :( maybe due to the amounts of results retrieved ?

Could you share a sample of the code you use to run the aggregation, so that we can track where the timeout option is not working.


Possibility to set specific timezone for time axis

What problem does this feature solve?
In our case, we have many clients arround the world. We want have the ability to show their data using their timezone. Actually, Echarts use GMT dates to set xAxis intervals labels and current browser timezone for date format.
We correctly set the correct timezone in formatter but, for intervals, we have already the problem of GMT.
It's a really important feature for us.
What does the proposed API look like?
An option, in xAxis to set timezone should be great to fix the problem :
xAxis : {
    type : 'time',
    timezone : 'Europe/Paris',  // with that, all xAxis times are manipulated using this timestamp
}

In our case, we set the formatter as function to convert date to specific timezone and, in the showed labels, we see that when the interval is one day or more, the corresponding day is based on UTC dates.
In the following example, here is a 4-day display with dates displayed in GMT+1 :

Normally, and if I understand the logic of Echarts correctly, in this case the interval should make dates every 12 hours, i.e. 00:00 and 12:00 for each label. But here, we can see that it is the case, but on the UTC date

I found how to resolve this with date-fns-tz :
I force the dateTime in UTC but converted in specific timezone using function utcToZonedTime. And with that, all showed dates are correctly showed in specific timezone without any problems :
import { utcToZonedTime, format } from 'date-fns-tz';

const timezone = 'America/Boise';
const time = [
<PHONE_NUMBER>847,
<PHONE_NUMBER>847,
];

const data = [
    // data array with [time, value] items
];

const options = {
    xAxis   : {
        type        : 'time',
        min         : utcToZonedTime(time[0], timezone),
        max         : utcToZonedTime(time[1], timezone),
    },
    tooltip : {
        trigger     : 'axis',
        confine     : true,
        axisPointer : {
            animation   : false,
            label       : {
                formatter({ value }) {
                    // used to already show datetime completelly
                   return format(value, 'yyyy-MM-dd HH:mm:ss', { timeZone : timezone });
                },
            },
        },
    },
    series : [{
        type : 'line',
        name : 'test',
        // used to convert to specific timezone but in UTC timezone
        data : data.map(item => [utcToZonedTime(item[0], timezone) ,item[1]]),
    }],
};

We are also looking for something like this. We allow users to set the time zone they want to see and that time zone may be different from the browser's time. We're passing in ISO strings for the times and it seems whether I pass in UTC, or specific time zones echarts always (correctly) converts them to the browser's time zone. We tried to work around this by leaving off the time zone information which mostly works except it does not handle the transition to/from DST as one might expect.
What we would like would be a way to set a time zone for the whole chart, or perhaps per series. All times passed into the data would be displayed and calculated in that time zone rather than the browser's time zone.
Our fallback solution in the interim is to continue to pass in UTC times and override every tooltip and axis formatter to convert to the time zone the user specified to make it appear like the data is in the right time zone. The only draw back to this approach that I've found is that the axis ticks that are chosen are not nice round times like there would normally be (i.e. it chooses to put a tick at what appears to be 3 am instead of midnight).

We would be interested into this functionality as well, being able to specify a timezone and have everything rendered as if we were in that timezone (instead of the current browser timezone) would be great.
Right now, similarly to the hack that was suggested, we do the same thing but with moment.tz.
/**
 * Will hard-shift a timestamp so that, if rendered in current timezone, it will look as it is instead
 * into the desired timezone.
 */
export function utcToZonedTime(utcTime: number, timezone: string) {
  const ourTimezone = moment.tz.guess();
  const ourOffsetInMillis = moment.utc(utcTime).tz(ourTimezone).utcOffset() * 60000;
  const givenTimezoneOffsetInMillis = moment.utc(utcTime).tz(timezone).utcOffset() * 60000;

  return utcTime + givenTimezoneOffsetInMillis - ourOffsetInMillis;
}

/**
 * Will revert what utcToZonedTime had done.
 */
export function zonedTimeToUtc(zonedTime: number, timezone: string) {
  const ourTimezone = moment.tz.guess();
  const ourOffsetInMillis = moment.utc(zonedTime).tz(ourTimezone).utcOffset() * 60000;
  const givenTimezoneOffsetInMillis = moment.utc(zonedTime).tz(timezone).utcOffset() * 60000;

  return zonedTime - givenTimezoneOffsetInMillis + ourOffsetInMillis;
}

It kinda works.. but it would be way better if ECharts could do this on its own so that dates do not need to be modified.

We also are in the same situation: we need to show charts localized in the timezone of where the data has been collected, not the browser time.
Actually we are using the formatter function of xAxis to localize the time, but in this way we are loosing all the cool automatic formatting feature of echart.
having a timezone option somewhere would be really usefull

It's worth noting that the convert UTC times to their "corrected" timezone technique works, apart from days with daylight savings.

At the point of switching to daylight savings, the graph includes the skipped time (which means no data for that period)
At the point of exiting daylight savings the graph has to repeat the values for the "double hour" (see attached picture)

+1 on this one! We work in UTC for all of our data.

+1...

Any update on this ?

hey guys, in https://github.com/apache/echarts/issues/20027#issuecomment-2165555578 I found a way to use a specific timezone and specific formatting depending on your zoom-level/data. I hope it will help some of you, as long this feature is not implemented :-)

bump

I have resolved this using Luxon
import { DateTime } from "luxon";

const timezone = 'Europe/Berlin';

let chartOption = {
    tooltip: {
        trigger: 'axis',
        formatter: (params) => {
            //console.log(params);

            // Maybe add a loop if you want to support multiple gauges in one chart/tooltip
            const gauge = params[0];
            const dateTime = DateTime.fromISO(gauge.data[0]).setZone(timezone);
            const value = gauge.data[1];
            const seriesName = gauge.seriesName;
            const color = gauge.color;
            const marker = params[0].marker;

            const html = `

                    ${dateTime.toFormat('dd.MM.yyyy HH:mm:ss')}

                    ${marker} ${seriesName} ${value}

`;

            return html;
        }

    },
    xAxis: {
        type: 'time',
        axisLabel: {
            formatter: (value) => {
                const dateTime = DateTime.fromMillis(value).setZone(timezone);
                return dateTime.toFormat('dd.LL.yyyy HH:mm:ss');
            }
        },
    }
};

I have resolved this using Luxon

@nook24 You use it only for gauge, right?
I think this does not help in case of series with time axis, when you want to use eCharts very nice feature to auto select ticks and format e.g. the beginning of the week bold using TimeScaleTick.level. In this case you would need to re-implement all of eCharts logic to calc time ticks and highlighted labels (depending on zoom level e.g. first day of week is highlighted, or first day of month, or start of the day etc.). In this case, when you have the wrong time zone, you get e.g. 02:00 highlighted for each day instead of 00:00.

would be so cool if this could make it into eChart 6.0! :heart_eyes:

Would be great to have it.


Support terminal location via settings

We can currently position the terminal panel by dragging it to the bottom/right/left of the workbench, but this setting is universally applied to all projects and machines. Ideally, we'd be able to configure this via settings and as a result, be able to change the layout configuration on a per-workspace/folder basis.

You might check out whether Profiles help your use-case https://code.visualstudio.com/updates/v1_74#_profiles

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Speaker Service

JavaOne speaker page parser
Arquillian REST Test
File normalization

Weird, the individual comments I added aren't coming through in the GitHub UI.  Anyhow, feel free to ignore if you wish :-)


track the state of gpio pins

we had a test setting up and interrupt and PWM
yeah all i was calling out is that you can currently break a digital interrupt by calling a GPIO Set/SetPWM on the same pin. If thats something we want to let users do then theres no changes needed


Improve tests, convert to pytest-operator

Test need updates to:

add authentication workflow in UI tests
add usage tests, not just UI tests (upload an artifact, pull a metric, etc.)

dupicate of #15


updated docs

Closes/fixes/resolves issue(s)?
Closes #83
What was added/changed/fixed?
Updated docs
Related issue(s)? [Optional]
Others [Optional]
Checklist (after created PR)

[x] Added reviewers
[x] Added assignee(s)
[x] Added label(s)
[x] Added to project
[x] Added to milestone

Need to update the example section to be able to close #62

Need to update the example section to be able to close #62

I think #62 was fixed by https://github.com/fredrikhgrelland/terraform-nomad-minio/pull/84

Need to update the example section to be able to close #62

I think #62 was fixed by #84

Shouldn't we provide the default settings as well? E.g. use_vault_prover = false in that example.

Need to update the example section to be able to close #62

I think #62 was fixed by #84

Shouldn't we provide the default settings as well? E.g. use_vault_prover = false in that example.

I say yes. I think it's good for documentation.

Need to update the example section to be able to close #62

I think #62 was fixed by #84

Shouldn't we provide the default settings as well? E.g. use_vault_prover = false in that example.

I say yes. I think it's good for documentation.

Agree. Reopening #62


Drupal dependency fixes

Fixes #6160
What's this PR do?
This PR addresses some fixes to potentially help with dependency issues when Drupal is bootstrapping itself and grabbing dependencies for modules that live as files in other modules. So basically aiming to fix INCEPTION!
Where should the reviewer start?
Just take a look at the [Resource]Transformer.php files and the dosomething_[resource].module files and make sure the specified dependencies seem correct. Also check out the dosomething_[resource].info files, since some of those were updated too.
How should this be manually tested?
Well, if you really want to, get ready to go grab some :bread: and make a sandwich, cause it'll take a while. You'll need to pull down this branch, then wipe you local shiz and do a ds build --install and a ds pull stage --db making sure there isn't a ton of red :rotating_light: errors about Transformer related classes not being found, etc.
You could also hit a few of the Phoenix endpoints to test and make sure the API is still returning responses :smile_cat:
What are the relevant tickets?
#6160

@aaronschachter @angaither @chloealee @DFurnes

LGTM .. @sergii-tkachenko I know you've jumped in at times when we've run into similar issues - do you mind giving this a quick sanity check?

Looks good.

Yay! Thanks @aaronschachter @sergii-tkachenko


gnuapl: 1.6 -> 1.7

Motivation for this change
See changelog here
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change (none)
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Seems like a duplicate of #24114?

Oops, I didn't see it. Thank you.


[Feature Request] Notification on Farming Contract Completed

it would be nice if C Engineer told me I completed a farming contract

Included in update currently pending: https://github.com/runelite/plugin-hub/pull/6591


BUG when set width to

BUG:

I use virtual scroll
I use columnMode: ColumnMode.standard,
I set  <datatable-column ... width="300">

RESULT:

My column have really width 300px but I have an scrollbar horizontal  of33554400px!!!!
GIF:

LOL - Good find. Will get that fixed.

Can you make a demo case? I wasn't able to repo this.

My pull request #143 fixes this issue.

@amiller29au does you version merged with 0.7.4 ? because I have always same problem

@amcdnl yes I just edited my last demo here you can see hrizontal scrollbar of width 33554400px LOL
http://plnkr.co/edit/CQ3vqMhf3dJACEP3bDF3?p=preview

@istiti - not yet

@amiller29au if I get your changes Do i need build project or?

@istiti - yes you will need to do a release build again

PR - #167


Docker and AAD integration

Hey,
Is there a roadmap to support deploying dr-elephant on docker / k8s which connects to a remote Spark?
Also, what about authentication/authorization via AAD?
Thanks!
Tomer

This is currently not in LinkedIn's plan and I am not aware of anyone else in the community working on it as well.
We do not have any authentication and authorization support currently in Dr.Elephant. This will come in soon. But no specific plan for AAD integration.


Connect remotely

It is not clear if (and how) it is possible to connect to a (secured) one node cluster from a remote machine.
My final goal is to create a connection in Azure DevOps pipelines so that I can deploy applications as part of releases.
From my experiments, ServiceFabric only listens to the traffic on localhost (<IP_ADDRESS>).

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

ID: 7c443738-ea8f-18cf-5a2b-d3afb1a0d672
Version Independent ID: e28d20f9-c34c-05b4-722e-ed74ae4371f9
Content: Create a standalone Azure Service Fabric cluster
Content Source: articles/service-fabric/service-fabric-cluster-creation-for-windows-server.md
Service: service-fabric
GitHub Login: @dkkapur
Microsoft Alias: dekapur

Thanks for the feedback! We are currently investigating and will update you shortly.

@fleed In ClusterConfig.json, Each node under "nodes" have "iPAddress" as a key.
If you have followed the tutorial, you would have used "ClusterConfig.Unsecure.DevCluster.json" file. In that all the IP addresses are configured to localhost.
Please change that to your node's IP.
Try this and let me know if it works or not.

@fleed any update on this?

I'm trying to use the certificate-secured version (ClusterConfig.x509.OneNode.json). The Azure VM is a machine where we'd like to test the single node setup for customers who don't want to have our Azure-based offer and only provide us a single VM.
We are aware that it's not ideal, but this is not a mission critical software and it can be down during maintenance.
If I try to setup the cluster with anything other than localhost, I get the following error:
Config validation: Certificate <Fingerprint> is not installed on node <IP_ADDRESS> under My. Check
 the node availability, certificate installation, and the remote certificate store read permission on the nodes.
Best Practices Analyzer determined environment has an issue. Please see additional BPA log output in DeploymentTraces fo
lder.
Cluster Setup cancelled due to validation error(s) found by Best Practices Analyzer. Inspect details in DeploymentTraces
 log folder local to executing location.

Same applies if I use any other valid IP of the VM.

The process to connect is actually fairly simple.

Install the Service Fabric cluster on the remove machine. Use the steps in this doc to deploy the secured cluster. It will be deployed on the local host of the VM
Add Network Security Groups to the VM to allow ports 19000 and 19080
Inside the VM, add firewall rules to allow connections to port 19000 and 19080
You can now connect to the Service Fabric Cluster manager using the Public IP of the VM and port 19080. For example: http://PUBLICIPADDRESS:19080/Explorer/index.html#/

As you can see I have a SF cluster running on local host inside the VM. And since I allowed traffic from the public IP address of that VM to the correct port I am able to connect from an external source. If you are using a secured cluster you will just need to provide the customer with the certificate to connect.

Hi @MicahMcKittrick-MSFT
The problem is not connecting to the service fabric explorer, but to the admin endpoint so that we can deploy new software directly from Azure DevOps pipelines

@fleed you should be able to simply add that admin endpoint to the network security group and connect as well. Are you seeing an error when doing that? What is the error?

@fleed figured it out! So I found the following on Stack Overflow
https://stackoverflow.com/questions/40090411/why-cant-i-connect-to-this-service-fabric-cluster
As you mentioned, the issue is that the cluster is running on LocalHost. So even with the Firewall rule and the NSG added for the ClientConnectionEndpoint of 19000 the connection would fail.
What I did was remove my service fabric cluster then deploy a new one. Before doing so, I modified the cluster config file to run on the private IP address assigned to the VM
{
    "name": "SampleCluster",
    "clusterConfigurationVersion": "1.0.0",
    "apiVersion": "10-2017",
    "nodes": [
      {
        "nodeName": "vm0",
        "iPAddress": "<IP_ADDRESS>",
        "nodeTypeRef": "NodeType0",
        "faultDomain": "fd:/dc1/r0",
        "upgradeDomain": "UD0"
      }
    ],

After changing the iPaddress from "LocalHost" to the private ip of my VM "<IP_ADDRESS>" I was able to psping the ClientConnectionEndpoint
TCP connect to <IP_ADDRESS>:19000:
5 iterations (warmup 1) connecting test:
Connecting to <IP_ADDRESS>:19000 (warmup): 75.77ms
Connecting to <IP_ADDRESS>:19000: 73.33ms
Connecting to <IP_ADDRESS>:19000: 73.00ms
Connecting to <IP_ADDRESS>:19000: 73.92ms
Connecting to <IP_ADDRESS>:19000: 73.45ms

TCP connect statistics for <IP_ADDRESS>:19000:
  Sent = 4, Received = 4, Lost = 0 (0% loss),
  Minimum = 73.00ms, Maximum = 73.92ms, Average = 73.43ms

Then from my local machine I attempted to publish a app to my cluster and I was able to connect to the Connection Endpoint using my PublicIP address of the VM and the port

After a bit I am able to see the application I published

So simple fix, you just need to change LocalHost in the Cluster Config file to match the private IP address of your VM and all should work as expected.

Thank you @MicahMcKittrick-MSFT .. but did you test it with X509 and a certificate?
I wouldn’t like to exposed the admin endpoint without any kind of security, even if it is only a test environment

@fleed I will close this out now as I have confirmed and explained how to set this up. Please give it a go and if you have issues just let me know and we can always reopen and continue.

@MicahMcKittrick-MSFT as mentioned earlier, when using the X509 configuration I get the following error during setup:
Config validation: Certificate <Fingerprint> is not installed on node <IP_ADDRESS> under My. Check
 the node availability, certificate installation, and the remote certificate store read permission on the nodes.
Best Practices Analyzer determined environment has an issue. Please see additional BPA log output in DeploymentTraces fo
lder.
Cluster Setup cancelled due to validation error(s) found by Best Practices Analyzer. Inspect details in DeploymentTraces
 log folder local to executing location.

Did you install the cert on the node and your local machine under "My"?

Yes, and I'm able to install the system if I use localhost as IP address.


Linux pretty name Issue #2901

Display Linux OS's PRETTY_NAME rather than Go's runtime.GOOS in the Host details panel.

@JordanJLopez any chance of implementing the suggested changes anytime soon?


how do you configure assistedinject to use with bazel

is bazel supported?
If so how do you configure, which class to use as processor_class with bazel?

We don't explicitly support Bazel but the library is an annotation processor that will work with any build system.
The core annotation processor class is com.squareup.inject.assisted.processor.AssistedInjectProcessor.
The Dagger 2-specific annotation processor class is com.squareup.inject.assisted.dagger2.processor.AssistedInjectDagger2Processor.
The inflation injection annotation processor class is com.squareup.inject.inflation.processor.InflationInjectProcessor.
Each of those is bundled in its own library so you'll need to make sure the corresponding artifact is on javac's processorpath along with any dependencies it requires.
Hope that helps. You may also want to try on StackOverflow as you can tag that question with 'bazel' and get help from people who actually use Bazel unlike me who is mostly just guessing and Googling.


ARROW-2948: [Packaging] Generate changelog with crossbow

Trying to centralize all the release related scripts. Merge after the current release.

Should the current changelog script be removed?
This file is getting bigger. Is it time soon to create a Python package?

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2348   +/-   ##
=======================================
  Coverage   84.47%   84.47%
=======================================
  Files         293      293
  Lines       45199    45199
=======================================
  Hits        38184    38184
  Misses       6984     6984
  Partials       31       31

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 f0de121...4289fcf. Read the comment docs.

Just after the release.

Merging on green. This will eventually replace the current changelog generation script, but keep both around until crossbow has its own test suite.

How do you expect generating the changelog to work, then? These commits have to end up in the staged release branch

This is just the first step of consolidating the release scripts under dev/release. Make crossbow a package + add tests + port update_changelog.sh (and the remaining scripts) in follow-up PRs.


RFC Dropping INSPIRE-centric legacy code

Part of Invenio code is completely INSPIRE specific and went into the v1.2.0 (future former master branch) partially because of the limitations in plugging optional functionalities in Invenio. Nowadays thanks to the modular approach of v2.0.0 it is possible to separate such code and move it where it is due to, i.e. the INSPIRE overlay.
This parts amount to:

[ ] pdfchecker (a completely INSPIRE-specific module, needed to refresh a given HEP record related to an arXiv record, upon arXiv updates)
[ ] HEPData (this functionality is scattered around in miscutils and search engine, in particular because it introduces a new Data tab in the detailed record view.)
[ ] plotextractor (a completely INSPIRE-specific module, upon arXiv updates)

+1
I guess this could even be expanded to include remove instance specific code from Invenio (e.g. CFG_CERN_SITE and friends):
$ git grep 'if CFG_CERN_SITE' | wc -l
     102

:+1:  Indeed CFG_XXX_SITE should be purged where feasible for 1.x and should exist nowhere in >2.x.

+1 Really good ! If possible it would be still cool if the specific INSPIRE modules could be avaiable separately for if needed plug them in an instance through an overlay.

Is anyone already working on implementing this, considering the target v2.1?

see also git grep "CERN.*hack"

I can volunteer for the pdfchecker and plotextractor. Anything HepData we can just kill outright as it is re-implemented by @eamonnmag and on INSPIRE Labs we'll reuse any widgets from there.

Superseded by Invenio 3.0.


Bug in CCP?

Hi,
I'm observing strange behaviour with CCP. It seems there are leftover bytes from previous commands.
A>bug z*
Z???????
A>dir .txt
A: ASM    TXT : BEDIT   TXT
A>bug z
Z???????TXT
A>bug zzzzz*
ZZZZZ???K??
Here's the code of bug:
.bss pblock, 165
cpm_fcb = pblock

BDOS_CONOUT = 2
BDOS = start - 3

    .zp savex,1

start:
    ldx #0

    .zrepeat
        lda cpm_fcb+1,x

        ldy #BDOS_CONOUT
        stx savex
        jsr BDOS
        ldx savex
        inx
        cpx #11
    .zuntil eq

    lda #13
    ldy #BDOS_CONOUT
    jsr BDOS

    lda #10
    ldy #BDOS_CONOUT
    jmp BDOS

Looking over ccp.S it looks like the fcb is properly cleared, but somewhere weird values are written to it. I specifically wrote bug with asm as to rule out the llvm toolchain. Any ideas?

I bet I know what's going on here --- expanding wildcards for a filename with no extension doesn't overwrite the extension. (For z* you should get Z???????.   .)
Filename parsing is so awful I wonder whether it's worth adding a BDOS function for it so there's only one piece of code which needs to be right. CP/M 3 had one...