TTL value error

I'm trying to scan my home router and get this error:
Mikrotik ip address: <IP_ADDRESS>

Traceback (most recent call last):
  File "main.py", line 62, in <module>
    main(args)
  File "main.py", line 31, in main
    res = command.run_ssh(ssh_client)
  File "/home/medusa/routeros-scanner/commands/dns.py", line 16, in run_ssh
    sus_dns, recommendation = self.check_results_ssh(res, enabled)
  File "/home/medusa/routeros-scanner/commands/dns.py", line 27, in check_results_ssh
    if int(item['ttl'].partition('s')[0]) > 200000:
ValueError: invalid literal for int() with base 10: '3d21h23m50'

Device model is RouterBOARD 962UiGS-5HacT2HnT (Mikrotik hAP ac)
RouterOS version: 7.1.2
Steps to reproduce:

run command python3 main.py -i <IP_ADDRESS> -p 22 -u admin -ps routerpassword

I am having the same exact problem right now on 6.49.2 to 6.49.4.

@Andromerius you can flush dns cache before running the scan with command /ip dns cache flush
I guess the problem is in handling ttl value in /ip dns cache print detail output which could be in #h#m#s format

Will try, thank you.

changing the line in dns.py to         res = self._ssh_data_with_header(sshc, '/ip dns cache flush; /ip dns cache print detail without-paging')
works wonders and gives no errors. Thank you very much.

In my case flushing doesn't help, because the entry is the static entry I've put there for a reason. Many users will have similar issues, there needs to be a proper fix.

Same issue on LTS 6.48.6

ok, thanks to an awesome guy at https://stackoverflow.com/a/41392376, i wrote the following fix (sorry im not good at git but i'll try commit the changes asap):
in commands/dns.py:
on line 3, add:
import re
remember, we want to find the size of the array for weeks, days, hours, mins, seconds. an array with weeks (w) would be size 5 because of 5 elements (w,d,h,m,s). days (d) would be 4, etc.
at the end of the file, add:
def hms(s):
l = list(map(int, re.split('[wdhms]', s)[:-1]))
    if len(l) == 5:
        return l[0]*604800 + l[1]*86400 + l[2]*3600 + l[3]*60 + l[4]
    elif len(l) == 4:
        return l[0]*86400 + l[1]*3600 + l[2]*60 + l[3]
    elif len(l) == 3:
        return l[0]*3600 + l[1]*60 + l[2]
    elif len(l) == 2:
        return l[0]*60 + l[1]
    else:
        return l[0]

change line 28 to:
            if int(hms(item['ttl'].partition('s')[0])) > 200000:
HTH

ok, thanks to an awesome guy at https://stackoverflow.com/a/41392376, i wrote the following fix (sorry im not good at git but i'll try commit the changes asap): in commands/dns.py: on line 3, add: import re
remember, we want to find the size of the array for weeks, days, hours, mins, seconds. an array with weeks (w) would be size 5 because of 5 elements (w,d,h,m,s). days (d) would be 4, etc.
at the end of the file, add:
def hms(s):
l = list(map(int, re.split('[wdhms]', s)[:-1]))
    if len(l) == 5:
        return l[0]*604800 + l[1]*86400 + l[2]*3600 + l[3]*60 + l[4]
    elif len(l) == 4:
        return l[0]*86400 + l[1]*3600 + l[2]*60 + l[3]
    elif len(l) == 3:
        return l[0]*3600 + l[1]*60 + l[2]
    elif len(l) == 2:
        return l[0]*60 + l[1]
    else:
        return l[0]

change line 28 to:  if int(hms(item['ttl'].partition('s')[0])) > 200000:
HTH

That does not work. Line 28 should probably be  if int(self.hms(item['ttl'].partition('s')[0])) > 200000: , and even then I get:
if int(self.hms(item['ttl'].partition('s')[0])) > 200000:
TypeError: hms() takes 1 positional argument but 2 were given

This seems like a duplicate issue..
I posted a temporary solution at https://github.com/microsoft/routeros-scanner/issues/14


Service refactor

Description
Add a description of your changes here.
Is this PR related with an open issue?
Related to Issue #
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] Follows the code style of this project.
[ ] Tests Cover Changes
[ ] Documentation

there is both a package-lock.json and yarn.lock in this repo


shell: Fix broken mypy linting on asyncio.gather()

This used to work but somehow got broken by a mypy
version upgrade. Now the output of gather is treated
as a list and as a result type info by index is not
preserved. We have to manually declare the types by
asserting for it to be happy.

#
head
base
diff
date
summary

0
e8daeef8
9bfa7fb9
diff
Dec 22 15:28 PM
1 file changed, 9 insertions(+), 2 deletions(-)

Reviews in this chain:
└https://github.com/Skydio/revup/pull/134 shell: Fix broken mypy linting on asyncio.gather()


Extract result to gold standard evaluation to new subproject

The evaluation of identifier and definiens extractions should be easy to understand and accessible. Therefore it should be moved to a subproject for clarity.
Requirements:

Must be easily integrated into the existing flink workflows.
Matching strategy must be defined clearly.
Clearly defined Json input for interoperability. E.g. with an example file.
CLI for easy usage of the evaluation in an automated environment.

json -> csv
#111
Further improvement: accept wikidatalinks from the gold standard as definition


#328 - fix text overlaping

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--cn-website--netcentric.hlx.page/drafts/mburicea/careers/expading-cards
After: https://--cn-website--netcentric.hlx.page/

Fix looks good now on https://328-expanding-cards--cn-website--netcentric.hlx.page/drafts/mburicea/careers/expading-cards


Run mistos.zbi using component manager

This add support to run mistos.zbi (and starnix) with fuchsia unpackaged component. No blobfs support so all files are in the main /boot partition.
In order to keep compatibility a /pkg link to /boot is created so all binaries use the same /pkg.
It boots the basic drivers such as PCI, NET and uses the netstack3. Inside the mistos/fuchsia console can run a linux container like this:
component resolve core/starnix_runner
component run /core/starnix_runner/playground:alpine fuchsia-boot:///#meta/alpine_container.cm
starnix console -m /core/starnix_runner/playground:alpine /bin/bash -l

HUGE! lgtm

Circle ci is failed due build timeout.


qc.qasm() for MCXGate or any gate with complex definition is slow

Environment

Qiskit Terra version: 0.25.0
Python version: 3.10
Operating system: Linux

What is happening?
The qc.qasm() step in the "how can we reproduce the issue?" section of this issue is very slow.
Upon profiling, 99.9% of the time is spent at https://github.com/Qiskit/qiskit-terra/blob/2062246191eb6c042c52aca6ef6de1d0233db314/qiskit/circuit/quantumcircuit.py#L5091 of  _qasm2_define_custom_operation. Where 99.9% of the equality check elapsed happens in the instruction definition comparison.
I was able to speed up the code from ~17s to 0.0096s by replacing that line with if previous_definition_source is not None:, but this probably requires examination to make sure it is fine for all cases.
How can we reproduce the issue?
With the following code
import time
from qiskit import QuantumCircuit

nqubits = 5
qc = QuantumCircuit(nqubits)
for i in range(100):
    qc.mcx(list(range(nqubits - 1)), nqubits - 1)
tic = time.time()
qc.qasm()
print("Elapsed", time.time() - tic)

I found the elapsed to be ~17s.
What should happen?
It's only 100 gates, 5 qubits, and so should have been much faster.
Any suggestions?
No response

Thanks for the report here.  I totally agree that this situation sucks right now - perhaps the real culprit is our incredibly heavy definition of Instruction.__eq__, or even more generally, it's that our custom-instruction data model isn't super well defined around determining what an abstract operation truly represents, and when it could be equal to something else.
I've toyed with a design for OpenQASM exporting that is based around us "transpiling" the circuit to a Target representing something like an "OpenQASM 2 abstract machine" based on the header files we're targetting, but I'm not dead certain it would solve the reason the exporter is slow here, which is it attempting to deduplicate output gate definitions.
I will definitely have this issue in mind, but I can't promise much by way of timescales for when any of my more general fixes would come down the pipeline.  If anybody has sensible near-term suggestions for how we could improve performance quickly, I'd be interested to hear / implement them.

The definition was added in that commit because that PR was a major overhaul of the data model of internal objects, and made it such that instructions always carry a definition with them (or are opaque if they don't).  It's a totally valid, and very commonly used across Qiskit and its ecosystem to instatiate a base Gate and give it some circuit as a .definition, and that defines a building block.  That's what QuantumCircuit.to_gate() does, for example.  There are (unfortunately) lots of places that have naming collisions which do not represent the same operation, so the definition comparison is absolutely necessary there.  The docstring is just out of date during the PR you mentioned - it first gets added in 58437aacc0af5dfd12821c9fc634d5bbe698ec70 when it's accurate, then some time later Ali realised that the definition is a necessary part of the comparison in general, added it in 1cc4d6c3ea3b52ca7981930f0660194d01606289 but forgot to update the docstring.
This isn't to say it's a good situation - it's something that's developed over time and without a clear single direction, we've got into this place where there's several conflicting bits of data, none of which completely uniquely define a gate.  That's a situation we're trying to resolve now, but it's part of why I say it's not so easy to fix in the short term - there's a lot of extant code we're trying not to break with the comparison.
All that said, perhaps something that's fiddly but palatable in the near term is to override __eq__ on all Qiskit standard gates including MCXGate to skip the definition check.  That should hopefully solve your problem in this case (though it would leave the general problems caused by arbitrary custom instructions and the unclear data model).

All that said, perhaps something that's fiddly but palatable in the near term is to override eq on all Qiskit standard gates including MCXGate to skip the definition check. That should hopefully solve your problem in this case (though it would leave the general problems caused by arbitrary custom instructions and the unclear data model).

My current workaround is indeed to do a sed:
sed -i 's/if parameterized_operation == previous_definition_source:/if (previous_definition_source is not None and (operation.name in ["mcx", "mcx_gray"])) or parameterized_operation == previous_definition_source:/' .venv/lib/python3.8/site-packages/qiskit/circuit/quantumcircuit.py

It works for my case, but I suppose it's going to be a small change in the code to be included in upstream, so that it helps others.


Configuration updates

This PR adds a few new features:

The configuration used to create a safe is now stored in the safe's file — This makes it possible to update your ~/.pick/config.toml without "destroying" your safe.
Some settings for AES-OpenPGP are now configurable via ~/.pick/config.toml
A new AES-GCM crypto client was added
If you have a custom config (~/.pick/config.toml) it is first tried to use this configuration to decrypt the safe. If that didn't work, it is tried to decrypt the safe with the configuration found in the safe's file. If that worked, the safe is upgraded to your custom config file.

None of the tests were updated. Will do that soon.
Please test this PR extensively and let me know what you think.
It looks like this change will break existing installation which use a custom config file. No idea what to do about that.
EDIT:
Luckily, you have removed the previous encryption settings from config.toml.in in this commit: https://github.com/bndw/pick/commit/e53e54a3c2df90070ac0a165a2f58b52592fca3e
This PR will this not break installations with custom config files, unless they use a config.toml which includes the old encryption settings.

I think we can now rename aes openpgp -> openpgp as the openpgp library also supports other ciphers and we can make this configurable.

@leonklingele 👏 I'll review this over the next few nights and plan to get back to you this coming weekend :)

Before merging, please let me squash the commits + remove AES-GCM nonce settings.

I think it's much better to let at least one another user extensively play around with this MR.

I'll check this out through the weekend

@leonklingele Do you want to rebase so this is mergable?

I will squash the commits when it "LGTY" — Looks Good To You ;)

I'm going to be AFK for a few hours, but I do plan to finish reviewing/merge this weekend.

Just take your time!
I will have another look at it, too.

I'm working on some tests for these crypto clients; once this is merged I will PR them.

PR was squashed.

Fixed the tests. Please review & test for a last time now :)

I shouldn't have renamed the AESOpenPGP stuff to OpenPGP in this PR. Sorry.
Please see this commit to verify what has changed for OpenPGP: https://github.com/bndw/pick/pull/48/commits/c49e9fdcb065e84fe6438e448f28200856f7a67e

I extensively tested the changes: Works fine.

LGTM

🎈 🎉 🐳


Move tests/security/test_user_management.robot to the extended bucket.

Moving the test suite tests/security/test_user_management.robot to the extended bucket.

Code in Review
https://gerrit.openbmc-project.xyz/#/c/8753/


HTML2CANVAS doesn't seem to work on IOS 9

We are currently trying to export a div to a png image by converting it to a canvas using html2canvas, then using toDataURL(). It's working fine on every device but on IOS devices the image generated on the server is incomplete. Has anyone else experienced this?
html2canvas(document.getElementById("fbCanvas"), {
        allowTaint: true,
        onrendered: function(canvas) {
            var dataURL = canvas.toDataURL("image/png");
            // So we got the image, lets save it
            $.ajax({
                url: '/savecompleteimage',
                type: 'POST',
                data: {imagedata: dataURL},
                success: function(response) {
                    location.href = "{{route('share')}}"
                },
                error: function(response) {

                }
            });

        }
    });

And my code that generates the image, uses Intervention
public function storeComplete(Request $request)
{
  $path = 'images/users/' . $request->user()->facebook_id;
  $imagesPath = $path . "/Scandel.png";
  Image::make($request->get('imagedata'))->save(public_path($imagesPath));
 return Response::json(['success' => 1], 200);
}

Thanks

yes I have the same, works fine in all browsers/devices so far, except ios. canvas is not large enough, parts of content missing, starts at the wrong y coordinate, etc.

Is there any solution to the problem?


Add ability to set TLS options for externalServices.loki

According to the Values documentation it's possible to set TLS options for both Prometheus (via externalServices.prometheus.tls) and Tempo (via externalServices.tempo.tlsOptions, see #199).
But currently not yet for Loki. It would be great to have a externalServices.loki.host.tls field which then get passed to Loki similar to Prometheus and Tempo.
A small note: For Prometheus the field is called tls while for Tempo it's called tlsOptions. Maybe using the same field name would provide more clarity to users.
Thanks!

Dropping this link as a reference for implementation, we'll need to populate these fields:
https://grafana.com/docs/agent/latest/flow/reference/components/loki.write/#tls_config-block


CCleaner Pro Crack + Key Free Download

CCleaner Pro Crack + Key Free Download
CCleaner Professional / Business / Technician for Windows PC lets you clean your computer from all junk files, delete cookies, and clear browser caches automatically.
✔👍 UPDATE DOWNLOAD LINK NOW 🔗✅
✔👍 UPDATE DOWNLOAD LINK NOW 🔗✅
CCleaner Professional can clean your PC silently in the background and automatically keep your browsers private when you finish working online.
CCleaner is the number-one tool for cleaning your Windows PC. It protects your privacy online and makes your computer faster and more secure. This app is easy to use, with one-click cleaning so beginners can optimize their computers in seconds. In addition, it’s packed with advanced features for power users.
It is a system optimization and privacy tool. Removes unused files from your system, allowing Windows to run faster and freeing up valuable hard disk space.


Publish to npm?

I'm on a quest to start removing Bower dependencies from our apps where possible in the ultimate hope that once Ember itself gets addonized we'll be able stop using Bower entirely.
I went to go open a PR for ember-cli-page-object, but discovered Ceibo is currently only published to Bower. Would you consider publishing Ceibo to npm so that ember-cli-page-object could use it as a dependency from there instead of requiring Bower?

@dfreeman: Yes, that's the plan. We intend to remove Bower dependencies from ember-cli-page-object, which will presumably mean that Ceibo will become an npm dependency.

Cool. Whenever the npm publish happens here, I'm happy to open up a PR with the changes for ember-cli-page-object – I've been making pretty good progress around the ecosystem 😄 .

@dfreeman @jeradg I'll try to publish it today

@dfreeman @jeradg Done. https://www.npmjs.com/package/ceibo


[BUG] In songs with chart-specific music files, forcing both players to play charts with the same music file is inconsistent.

Please give your StepMania Info
StepMania Version: SM5.3-git-dea4d00673
Theme: Multiple (Soundwaves, Simply Love fork)

Describe the problem
SSC files allow for individual charts to have chart-specific music files (so the music can change depending on difficulty). When a chart has a specific music file, changing difficulty on to/off of that chart in ScreenSelectMusic will usually force all joined players on to/off of that chart. It's possible, though, to start the song with one player on a chart with a chart-specific music file, and one without.

Scrolling onto a song with chart-specific music files from one without in music selection doesn't change each player's difficulty.

(Example: If Song1 has an Expert-specific music file, scroll to another song and set each player's difficulties to, say, Medium and Expert. If you scroll back to Song1, the player's difficulties don't get changed and you can start the song with both players on charts with different music files)

Go to player options after picking a song - each player's selected chart can be changed without any restrictions.

When this happens, the music file from the chart being played by the player that initially started the game is used.

Describe what should happen
Assuming the game intends to force both players onto a single difficulty if one selects a difficulty with a chart-specific music file (which would make sense, can't exactly play two music files at once), then I would expect the game to apply these restrictions the above scenarios as well.

As requested by Squirrel in the discord, I've confirmed this issue also happens on older builds (namely SM 5.0.12 and SM 5.1)

From what I can tell, it's because the selection method performed on ScreenSelectMusic already checks for files with dedicated music files. But the OptionRow, it does not even know that's a thing.


Fixed Easy Issue 3 (PHP) #1594

Display "Beef" from the given array in PHP.
Pull Request Type
What kind of change does this PR introduce?
[x] Feature
What is the current behavior?
There is currently no code to display "Beef" from the given array in PHP.
What is the new behavior?
This PR introduces PHP code to display "Beef" from the given array.
Other information
N/A

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


tweego: init at 2.1.1

Description of changes
Tweego is a compiler for Twine/Twee projects - a popular tool used for authoring interactive text fiction.
https://www.motoslave.net/tweego/
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
Compiled a basic project following instructions on website and it all worked as expected.
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

1 package built:

tweego

@NixOS/nixpkgs-merge-bot merge


feature: support api plugin

Signed-off-by: zhuangqh<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Add http api plugin.
RegisterAPI: enable to register extra HTTP api
HookHandler: enable to change the behavior of default handler
Ⅱ. Does this pull request fix one issue?

related to #2406
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

I've refactor them into one method called UpdateHandler after discussing with @rudyfly  offline. Thanks for your attention.😄 @xiaoxubeii


Use color palettes for shadows in raised style

Currently in a lot of places, the box-shadow color is set to $color-tone-near-white which looks stunning on white backgrounds but not so much on black backgrounds.
This can be reproduced by replacing the hardcoded color value with a CSS variable using the color palette architecture used in the components.
The shadow should be $color-tone-near-white on white/light background and $color-tone-near-black on black/dark background.
This change only applies to component that implement the mixin Raisable.

This has been addressed with dddbc66.


regression: page not shown anymore

2024-07-30T09:13:21.058000Z  INFO freenet::server: HTTP gateway listening on <IP_ADDRESS>:50509
2024-07-30T09:15:19.156128Z DEBUG freenet::client_events::websocket: establishing connection with encoding protocol: native, authenticated: false
2024-07-30T09:15:19.221410Z ERROR freenet::client_events::websocket: WebSocket protocol error: Connection reset without closing handshake
2024-07-30T09:17:21.028697Z DEBUG freenet::client_events::websocket: establishing connection with encoding protocol: native, authenticated: false
2024-07-30T09:17:21.029198Z ERROR freenet::client_events::websocket: WebSocket protocol error: Connection reset without closing handshake
make build
fdev publish --code build/freenet/freenet_microblogging_web contract --state build/freenet/contract-state
Putting contract HEm1zGXVx9zzGK48yLXAy6WajXQyVp4qyXXWwxGfQyBd
But when visiting:
http://localhost:50509/contract/web/HEm1zGXVx9zzGK48yLXAy6WajXQyVp4qyXXWwxGfQyBd/
I got a blank page!!!
Do you know a way to come back to a stable version of freenet with full localhost feature please?
And then can we fix the bug please?

@iduartgomez @netsirius Would you mind taking a look at this? Is it related to recent work on transport?

the commit: e8da17a314cf1c472cebce6486e0db6ace6ee8ca
works if with remove the as_ref().

the commit:
8ef468f511c8edc784999778553587b483cfdeb6
works!!


An action will be associated with national Location of Publication and World Bank region

Each action should be associated with its “Location of Publication” which is the national-level geographic entity that created it.
Each national geographic entity will be a country based on the ISO 3166 country codes.
Each country will be associated with a World Bank Region, in order to facilitate filtering actions by groups of country. Note that each region defined by the World Bank needs to be associated with the correct ISO3166 country codes. A World Bank Region may be linked to multiple countries.

Hey team! Please add your planning poker estimate with ZenHub @eurolife @kdutia @opyate


npm run test:* fails with error: "Unable to find path to phantomjs"

The automated Selenium tests do not work in current develop and master branches of new clones of the repo.  Clones made before Feb 18, 2016 might not have this bug, even if fast-forwarded to current branch heads.  The bug only manifests if node_modules/ contains only dependencies in current package.json.
This issue is a Bug
Related issue(s) and/or pull request(s)
See #567.
Expected Behaviour
Run tests successfully.
Observed behaviour
Instead, running the tests fails with error:
> parallelshell "node build-config/selenium_webdriver.js -a <IP_ADDRESS> -p 8080 -c-1 ./dist/cloud-reader" "npm run mocha --readium-js-viewer:MODE=firefox"

http-server arguments:
[ '-a', '<IP_ADDRESS>', '-p', '8080', '-c-1', './dist/cloud-reader' ]
SELENIUM ...
undefined:67
    throw new Error('Unable to find path to phantomjs, please run npm install and find the relative path for your system. Current location: [' + __dirname + ']' +

[...SNIPPED...]

Steps to reproduce
Make a new clone of readium-js-viewer and check out either develop or master branches.  If using an old clone made before Feb 18, 2016, fast forward to current develop or master, delete node_modules/, and recreate it so that it matches package.json dependencies exactly.
Then run any of the following (might need to do npm run dist first?):

npm run test
npm run test:chrome
npm run test:firefox

Product
The automated test suite that comes with the readium-js-viewer repo.
Additional information
Why it's happening:
Line 42 of build-config/selenium_webdriver.js:
                    var func = eval("( function(){"+fileContents+"; return {start: start, stop: stop}; } )");

...is slurping in this version of grunt-selenium-webdriver's node_modules/grunt-selenium-webdriver/tasks/selenium_webdriver.js, which is part of version 0.2.482 packaged for NPM.  Lines 56-72 of this file:

...

    phantomLoc = __dirname,

...

// installed as module or locally?
if ( fs.existsSync( phantomLoc + "/../node_modules/phantomjs/bin/phantomjs") ) {
//    console.log ('branch 1b');
    // mac as grunt plugin test
    phantomLoc += "/../node_modules/phantomjs/bin";
} else if (fs.existsSync(phantomLoc + '/../../phantomjs/bin/phantomjs')) {
    // mac, module use
//    console.log ('branch 2b');
    phantomLoc += "/../../phantomjs/bin";
} else {
    // if adding new cases please identify environment so that changes can be maintained
    throw new Error('Unable to find path to phantomjs, please run npm install and find the relative path for your system. Current location: [' + __dirname + ']' +
        'Environment: [' + os.type() + ',' +
        os.platform() + ',' +
        os.arch() + ',' +
        os.release() + ']');
}

...

Note that because this file is being slurped in and eval-ed by build-config/selenium_webdriver.js, that phantomLoc is assigned build-config/ (by __dirname).  Hence, this grunt-selenium-webdriver task is looking for phantomjs in the main node_modules/ for readium-js-viewer, which is in fact not there anymore, as it was replaced by phantomjs-prebuilt in the main package.json here: 2dc9bb0ee2d22f7644e60ff291afe221c576b136.
A recent commit to grunt-selenium-webdriver seems to fix this problem:
e9f63af80c8e6738b00812370c6f1ba13c5dc817.  This commit is for version 0.2.530, though, and the NPM repository has only the 0.2.482 package.  It is unclear when the 0.2.530 NPM release will happen: Github issue #29: Please release 0.2.530.
Temporary workaround options:

Add a step to npm prepare that creates a symlink node_modules/grunt-selenium-webdriver/node_modules/phantomjs -> node_modules/phantomjs:

    "prepare": "npm run prepare:submodule && npm run prepare:local && cd node_modules && ln -s ../node_modules/grunt-selenium-webdriver/node_modules/phantomjs phantomjs",

This will match this grunt-selenium-webdriver condition:
if ( fs.existsSync( phantomLoc + "/../node_modules/phantomjs/bin/phantomjs") ) {

Change the grunt-selenium-webdriver dependency in package.json from this:

    "grunt-selenium-webdriver": "latest",

...to this:
    "grunt-selenium-webdriver": "levexis/grunt-selenium-webdriver#e9f63af80c8e6738b00812370c6f1ba13c5dc817",

I've tested both these workarounds, and will submit a PR for the first, as that seems to be the more appropriate solution.
Even after using these workarounds, I was unable to get tests working.  Please note that there is currently a problem of integration between Selenium and Firefox:

Firefox driver in 2.53.4 not working with Firefox 48 #2559
Selenium 2.53 not working on Firefox 47
Selenium 2.53.1 does not work on FireFox 48 (duplicate)
Firefox 47 - Unable to connect to host <IP_ADDRESS> on port 7055 after 45000 ms. #2110
Firefox Developer Edition (47.0a2) crashes using Java Selenium 2.53.0 (and 2.52.0, 2.48.2) #1862

The solution at the moment seems to be either to use Firefox 47.0.1 (not 47.0 or 48.0), or to use the new, in-development GeckoDriver a.k.a. Marionette.  At the time I did research on this driver, it didn't seem like it was robust enough for serious use.
I've been using a parallel Firefox 47.0.1 with success with Selenium scripts for other projects.  However, because the Readium tests use grunt-selenium-webdriver, I was unable to figure out a way to specify an alternative Firefox or Selenium.
The Chrome tests also seem to be failing.  As I looked over the tests/ directory I noticed that things seemed to be in flux, so decided not to pursue this any farther for the time being.

Heads-up:
a really dirty fix, currently in the develop branch:
https://github.com/readium/readium-js-viewer/commit/2c349d0fec1b93d61d1148a86855735d925de243

Unfortunately, I believe that the symlink fix is not portable (notably on MS Windows):
ln -s ../node_modules/grunt-selenium-webdriver/node_modules/phantomjs phantomjs

So, grunt-selenium-webdriver is not an active project, and the version deployed at NPM is behind the GitHub master branch.
It looks like WebDriver.io would make it easier to launch Readium tests from NodeJS:
https://github.com/webdriverio/webdriverio/

I updated the grunt-selenium-webdriver dependency to match the tip of their GitHub master branch:
https://github.com/readium/readium-js-viewer/commit/096fa4cf724947c69a7ffbe24286d69c09366577
Because ReadiumJS currently has tests designed to execute in "real" browsers (user-installed, accessed through WebDriver instances, rather than based on old WebKit / PhantomJS), I am closing this issue as resolved.

Yes, I've been using WebDriver.io for writing tests against our ReadiumJS build, and so far have been happy with it.  It has an optional test runner that is synchronous by default, which I find convenient for writing tests.  I also like to use real browsers, too, as opposed to PhantomJS and the like.  Thanks for following up.


Weird graphics

Basically the entire system does not work at all due to screwed up graphics. I tried to disable graphics acceleration (https://answers.microsoft.com/en-us/outlook_com/forum/all/disable-hardware-acceleration-option-move/24bc32e2-a86d-4e3c-9405-a097e361e27c) and also to install d3dx9 and d3dx11 or to install dxvk and nothing works.

Sorry, but have you figured out how to solve this? I just met the same problem, all windows seems to be transparent.
I'm GNOME 43 on Archlinux, and I checked several i386 packages that @DonutsBl listed in the comments, seems most of them have been installed (I didn't check all packages because I have to google them one by one which is a gruelling task).

Installing lib32-gst-plugins-ugly - sudo pacman -S lib32-gst-plugins-ugly, will install 68 of its dependencies and hopefully fix your issue @Ray-Eldath. At least it did for me.

Installing lib32-gst-plugins-ugly - sudo pacman -S lib32-gst-plugins-ugly, will install 68 of its dependencies and hopefully fix your issue @Ray-Eldath. At least it did for me.

There aren't an lib32-gst-plugins-ugly in my repository (maybe because I'm using Manjaro Linux not ArchLinux per se), but installing lib32-gst-plugins-good and all of its dependencies surely fixed my issue. The graphics now works great.  Many thanks!

Oh you're right, I made a mistake, lib32-gst-plugins-ugly is in the AUR so you wouldn't install it with pacman.

@dxwil I use the winecx from the instructions, i.e. cx-21.2.0 compiled in docker. Everything's fine during install, but after that I opened Word 365 only to find the windows are all transparent and glitched, installing lib32-gst-plugins-good fixed everything. What errors were reported during your installation? Did you set the winecx to Windows 7 mode?

I used the newest winecx version available (22.1.0), which might've been my problem. Everything was working until after some time of the office installer running it returned an error. I will try to recompile winecx version (21.2.0) and see if that changes anything.


Pin pycromanager and MicroManager versions

Two changes:

This addresses #115 by warning the user about MicroManager compatibility issues and explicitly recommends the 20210713 nightly build (the build we're currently using on all scopes in the lab).
This downgrades and pins pycromanager to version 0.13.2, the latest version that is compatible with the MM 20210713 nightly build (ZMQ version 4.0.0). The ZMQ warnings disappear.

Important related pycromanager discussion: https://github.com/micro-manager/pycro-manager/issues/260
Instead of the approach I'm suggesting here, @ieivanov suggested that we always pull the latest pycromanager version and manually update whichever MM install we're using by copy-pasting .jars. I tried this approach and it works, but I'm hesitant to use it because it requires managing the .jars and Henry recommended against it.
Instead, I think we should do periodic updates like Henry suggests. We pick the latest MM version that works with our hardware and use the compatible pycromanager version. Every ~6 months, we can go through the effort of updating MM, testing our hardware, and updating pycromanager and recOrder. This means that each version of recOrder will be associated with a specific recommended version of MM and PM.
I think one of Ivan's concerns is that we might want the latest features of MM and PM, but the MM device adaptors aren't compatible. If this is the case, then I think we should document and report the incompatibilities like Nico suggests.
I will do more testing and wait for @ieivanov's comments (I hope I'm doing your concerns justice) before moving forward with this.

I now agree that this is the most viable solution, thanks for testing @talonchandler.
As a way of mitigating some of these issues, I would occasionally only upgrade specific device adapters - I would compile a new version and paste it in the MM 20210713 folder, or I would download the latest MM version and move the new device adapter to MM 20210713. This work as long as the MM Core version doesn't change between these nightly builds. We should keep a long of which device adapters we update in this manner, which can also guide when to update to a new MM nightly build.

Thanks Ivan!
I also tested my warning and recOrder behavior with a few versions of micromanager before and after 20210713.
MM versions before ~2021 will not establish a bridge. To help with these cases I added a warning message that hints at reasons why the bridge may not be connecting:
Could not establish pycromanager bridge.
Is micromanager open?
Is Tools > Options > Run server on port 4827 checked?
Are you using nightly build 20210713?"

MM versions throughout ~2021 will "work" and prompt an MM upgrade.
MM versions newer than 20210713 will warn the user to downgrade, and different ZMQ versions give different behaviour: sometimes failing immediately, sometimes failing at acquisition time (like the serial spewing Soorya and I observed), and sometimes working okay.

We should keep a log of which device adapters we update in this manner, which can also guide when to update to a new MM nightly build.

All sounds good to me. My current plan for managing device drivers is to put them in the github release for each recOrder version. As a start, I've added the Meadowlark device drivers to the 0.1.0 release, and I'm happy to add other relevant drivers to this release if you think it makes sense.
I've also linked to these drivers in the new and improved installation guide that I'm using to support an installation at UW.


MarketContractOraclize test cases depend on previous tests

Test environment is not cleaned after test case. I suspect that a proper tear down (afterEach) is needed to selfdestruct contracts or they should be redeployed / recreated in beforeEach as deployed() just checks that the contracts were deployed.
Symptom: copy the first test case and give it another name, then run truffle test test/MarketContractOraclize.js. Only the first test case passes
Example:
root@cc1e758c63a9:/app# truffle test test/MarketContractOraclize.js
Using network 'development'.

  Contract: MarketContractOraclize
    ✓ duplicated test case (4235ms)
    1) Trade occurs, cancel occurs, balances transferred, positions updated
    > No events were emitted
    ✓ Trade is unwound, correct collateral amount returns to user balances (1325ms)
    ✓ should only allow remaining quantity to be filled for an overfilled trade. (924ms)
    ✓ should only allow remaining quantity to be cancelled for an over cancelled trade. (865ms)
    ✓ should fail for attempts to fill expired order (691ms)
    ✓ should fail for attempts to cancel expired order (317ms)
    ✓ should fail for attempts to trade zero quantity (319ms)
    ✓ should fail for attempts to create maker order and fill as taker from same account (446ms)
    ✓ should fail for attempts to order and fill with price changed (574ms)

  9 passing (10s)
  1 failing

  1) Contract: MarketContractOraclize Trade occurs, cancel occurs, balances transferred, positions updated:
     Error: VM Exception while processing transaction: invalid opcode
      at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:43303:16)
      at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:331156:36
      at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:314196:9
      at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:315621:13)
      at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:70159:18)
      at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:70449:12)
      at XMLHttpRequest._onHttpResponseEnd (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:70604:12)
      at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:70564:24)
      at endReadableNT (_stream_readable.js:1054:12)

I noticed this during #8 implementation.

thanks @cryptomental  - I will attempt to reproduce and figure out what is going on here.  I am just getting back from vacation, apologize for the delay.

@cryptomental when you say give it a new name, are you saying the file name or the contract function call as in
contract('MarketContractOraclize', function(accounts) {...}
contract('MarketContractOraclize2', function(accounts) {...}
From the truffle docs

Before each contract() function is run, your contracts are redeployed to the running Ethereum client so the tests within it run with a clean contract state.

I am having trouble reproducing this, I copied the
contract('MarketContractOraclize', function(accounts) {...}
call in the same file and ran the tests.  Output is below.

truffle(develop)> test test/MarketContractOraclize.js
Using network 'develop'.
Contract: MarketContractOraclize
✓ Trade occurs, cancel occurs, balances transferred, positions updated (823ms)
✓ Trade is unwound, correct collateral amount returns to user balances (493ms)
✓ should only allow remaining quantity to be filled for an overfilled trade. (462ms)
✓ should only allow remaining quantity to be cancelled for an over cancelled trade. (338ms)
✓ should fail for attempts to fill expired order (226ms)
✓ should fail for attempts to cancel expired order (92ms)
✓ should fail for attempts to trade zero quantity (128ms)
✓ should fail for attempts to create maker order and fill as taker from same account (204ms)
✓ should fail for attempts to order and fill with price changed (201ms)
Contract: MarketContractOraclize
✓ Trade occurs, cancel occurs, balances transferred, positions updated (770ms)
✓ Trade is unwound, correct collateral amount returns to user balances (502ms)
✓ should only allow remaining quantity to be filled for an overfilled trade. (492ms)
✓ should only allow remaining quantity to be cancelled for an over cancelled trade. (367ms)
✓ should fail for attempts to fill expired order (214ms)
✓ should fail for attempts to cancel expired order (89ms)
✓ should fail for attempts to trade zero quantity (134ms)
✓ should fail for attempts to create maker order and fill as taker from same account (212ms)
✓ should fail for attempts to order and fill with price changed (195ms)
18 passing (6s)

Hi @pelsasser , I meant copying the test case within the same contract.
Perhaps your approach is right, to create new contract() wrappers for each group of tests that should be independent from each other.

@cryptomental - got it.
Good with me closing this issue?

Yes, that was fine to close this one.


Document AZURE_CLIENT_SEND_CERTIFICATE_CHAIN env var used by EnvironmentCredential

If present, EnvironmentCredential can use the AZURE_CLIENT_SEND_CERTIFICATE_CHAIN environment variable to configure a ClientCertificateCredential instance. Add supporting docs to indicate that behavior.

Can we put this in the 1P docs instead? It's a 1P-only feature.

Can we put this in the 1P docs instead? It's a 1P-only feature.

@scottaddie Can we move this and close this PR?


Does not work with Android 4.2.2 and Xamarin

We have been trying to put this sample on the Leica Zeno 20 UMTS having android Android 4.2.2.
Trying to open a simple "Display Map" page....gives this error.
System.NotSupportedException: Could not activate JNI Handle 0x2b00025 (key_handle 0x4113f7e8) of Java type 'md525ae7a30145b6936c079fc7426298397/DisplayMap' as managed type 'ArcGISRuntimeXamarin.Samples.DisplayMap.DisplayMap'.

Thanks for re-submitting to Geonet.


Add support to exceptions on repo (files) scan

Describe your changes
I added the path key to the exceptions object in armoapi-go and opa-utils
Checklist before requesting a review

[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have performed a self-review of my code
[x] If it is a core feature, I have added thorough tests.
[x] New and existing unit tests pass locally with my changes

Please open the PR against the dev branch (Unless the PR contains only documentation changes)


Add get gas estimation functionality

There are 3 types of getting gas estimates:

hard coded values
simple get gas estimates for contract call
aggregated gas estimates where contract addresses are passed in to a contract call that loops through the contracts and calls a method. There is a limit to how many contracts can be passed into these loop functions.
a) redeemStake
b) cancelOrders.cancelOrders (pass in orderIds) is there a limit
c) claimMarketsProceeds (pass in markets) is there a limit

seems to be done


Gh 1576 timestamp property

Codecov Report

Merging #1582 into develop will decrease coverage by 1.39%.
The diff coverage is 92.85%.

@@             Coverage Diff              @@
##             develop    #1582     +/-   ##
============================================
- Coverage      66.32%   64.93%   -1.4%
+ Complexity      1818     1731     -87
============================================
  Files            756      606    -150
  Lines          24662    19039   -5623
  Branches        3191     2515    -676
============================================
- Hits           16358    12363   -3995
+ Misses          7035     5656   -1379
+ Partials        1269     1020    -249

Impacted Files
Coverage Δ
Complexity Δ

...n/java/uk/gov/gchq/gaffer/store/schema/Schema.java
73.05% <92.85%> (+1.21%)
0 <0> (ø)
:arrow_down:

...ov/gchq/gaffer/hbasestore/SingleUseHBaseStore.java

...e/retriever/impl/AccumuloIDWithinSetRetriever.java

...ndler/dataframe/GetDataFrameOfElementsHandler.java

...cumulostore/key/core/impl/CoreKeyBloomFunctor.java

...fs/handler/ImportAccumuloKeyValueFilesHandler.java

...gaffer/accumulostore/key/impl/RowIDAggregator.java

...key/core/impl/byteEntity/ByteEntityKeyPackage.java

...mulostore/key/exception/RangeFactoryException.java

...eration/hdfs/mapper/AddElementsFromHdfsMapper.java

... and 135 more

Continue to review full report at Codecov.

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


Fix build errors & remove obsolete files

Changes in this pull request

Fix build issues
Remove obsolete files
Deintegrate pods from demo projects

Checklist

[ ] All tests pass. Demo project builds and runs.
[ ] I added tests, an experiment, or detailed why my change isn't tested.
[ ] I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
[ ] I have reviewed the contributing guide

Thanks @AYastrebov ! Let me import this to see if the build passed successfully

I think this has been fixed by the https://github.com/Instagram/IGListKit/pull/1531 so we can close this PR, thanks!


chore: Added Grafana dashboards

Added Grafana dashboards

:tada: This PR is included in version 2.0.0-next.14 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Error "Illegal characters in path" - Standalone typescript angular project - (in Visual Studio 2022 17.4.4)

When adding a standalone typescript angular project to my solution (in Visual Studio 2022 17.4.4) I receive the error "Illegal characters in path" every time.

@excellent-1 I can run the standalone typescript angular project in VS 2022 17.5 Preview 5 without any errors. It sounds like this only happens when you add the project to an already existing solution? To make sure that this is logged in the right place, please use the Report a Problem tool to report the issue. When you do this, your report becomes part of the work items that are listed in the in the Visual Studio Developer Community, which allows you to engage directly with the engineering team while they address and fix the problem.


CORGI-420: Remove broken /taxonomy endpoint from ProductModel subclasses

@RedHatProductSecurity/corgi-devs It doesn't work and probably hasn't for a while (ever since we added channels). There are no links to the /taxonomy endpoints from any detail view, so users probably aren't even aware that these pages exist. Or if anyone was using them, we'd be seeing error emails every time they visited that page :)
They also aren't mentioned in our user guide, although the endpoints are documented in the OpenAPI schema.
Fixing the /taxonomy endpoint is possible, but seems pointless since the same information (plus extra info) is already available on the detail view for a particular ProductModel subclass.
The /taxonomy endpoint was also never implemented for Channels. Again, fixing this is possible but duplicates info in the detail view.
The /taxonomy endpoint for Components will stay since it's working.

thx I just noticed CORGI-420 which does the needful ;)


dependencies: Upgrade JavaScript dependencies

Merged, as both of the above comments are probably to be resolved in a follow-up PR by @sahil839.


{"errors":[{"message":"Authorization header is not of the correct bearer scheme format."}]}

Amazing project!
I'm new to Apollo and Postgraphql. I'm trying to go Serverless, so I'm just running Postgraphql from the cli. I've tried every config I could find, but I still get the error. I get a pre-flight error if I don't include --cors too.
error
{"errors":[{"message":"Authorization header is not of the correct bearer scheme format."}]}
![error1](https://cloud.githubusercontent.com/assets/15088173/25174563/bf921840-24c5-11e7-90b0-3a61efc2a6a9.PNG)

cli config
postgraphql \
  --connection postgres://nosh_ncp_postgraphql:xyz@localhost:5432/ncp \
  --schema nosh_ncp \
  --default-role nosh_ncp_anonymous \
  --secret keyboard_kitten \
  --token nosh_ncp.jwt_token \
 --cors

gql query
export default  #gql`
	mutation Signup( $input: CreatePersonInput! ) {
	  createPerson( input: $input) {
	  	person{
                    id
                    name
                   email
       }
    }
}`

Apollo network interface
networkInterface.use([{
	applyMiddleware(req, next) {
		if ( ! req.options.headers) { req.options.headers = {}; }
		const token = Auth.getAccessToken();
		//req.options.mode = 'no cors'
		req.options.headers.authorization = token ? `Bearer ${token}` : null;
		next();
	}
   ###}]);

It's working in Graphiql. The Client is definitely seeing the Postgraphql server as I've had a lot of other errors. I think if I get this one, it'll work, which would be unbelievably awesome :)

In the above screenshot you have authorization: null which is where the issue likes; it needs to be authorization: Bearer [TOKEN_HERE]

I think if you change
		req.options.headers.authorization = token ? `Bearer ${token}` : null;

to
if (token) {
		req.options.headers.authorization = `Bearer ${token}`;
}

it'll work

That worked. Thanks a lot!


Update env_var.md

Description & motivation
Updated main description to give a clearer idea of the full scope of where env_var can be used.

@drewbanin -- you are the compilation context expert here!


The problem of "Error: Could not connect to main window." alert message

Hi all developers, I also try to use the solid authentication client to let the Solid App get the access token.
But I also got this alert message. My reproducing issue approaches are as follows:

Visiting the Solid App.

I assume that it already has a Pod account then click the "登入" button.
It will present the popup windows and the captured shot are as follows:

(Noticing that the electric-data-pod.com domain is my local DNS mapping, and this domain has not registered yet.)

Then clicking Log in button on popup window. And it will present this alert message I mention on this issue title.

If I change the popup target https://electric-data-pod.com:8443/popup.html to the https://electric-data-pod.com:8443/common/popup.html, it will be worked.

Can anyone explain why this issue happens? Thanks.

Here is the demonstration of Solid client demo.

Firstly, visiting the following Solid App via export POPUP_URI='https://electric-data-pod.com:8443/popup.html'; npm run start:demo command after building the client demo successfully.

Then clicking the Login via popup button, it will present following window:

Then clicking Login in button, it will present following alert message:

If changing into the export POPUP_URI='https://electric-data-pod.com:8443/common/popup.html'; npm run start:demo command to run Solid client demo, trying to using same steps.

Then it will present following captured shot:

Node Solid Server serves the popup from /common/popup.html. Requests to other places will cause problems.

Hi @jaxoncreed, thanks for your passionate explanation.
Closed.


mouse cursor freezes

Challenge Add Placeholder Text to a Text Field has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.54 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
visit the image link below , you'll see the cursor freezes to a place , where i cant mark any text unless its not on the last line, also , i would cancel the bug by pressing enter several time to produce new lines .
also the cursor here maps to the last character of the last line
http://imgur.com/a/wNgmP
My code:

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

Click here for cat photos.

Things cats love:

cat nip

laser pointers

lasagna

Top 3 things cats hate:

flea treatment

thunder

other cats

<input type="text">

Duplicate of #7847


Question: ent and DDD (domain driven design)

Hey there, thanks for your work on ent-framework.
I have a question about possibility to use ENT only as a tool for dealing with infrastructure layer (database).
According to DDD application layers should be decoupled. It means that domain model and database schema are 2 different things and should be separated.
Is it possible in your opinion to use ent entities only for interaction with database and then transforming ent entities to domain models? What problems do you see (may be already faced) with such approach?
Or ent entities were designed to be used across whole application/micro-service also as domain model?
Thank you.

Hey @metalrex100! Sorry for not responding your Reddit message, I just saw it.

Is it possible in your opinion to use ent entities only for interaction with database and then transforming ent entities to domain models? What problems do you see (may be already faced) with such approach?

I'm not really familiar with DDD, but I can give 2 examples of what we do in such cases internally:

We have one service that exposes a GraphQL API, where some of its GraphQL types (or partials of them) exist also in ent. In this case, we use the autobind option in gqlgen to do the mapping between the database objects to the API objects. Of course, our GraphQL schema contains types that don't exist in ent schema, and vice-versa.

Another service, use Swagger (specifically, go-swagger). In this case, we use 2 different objects for type T. For example, an ent.User and a models.User (Swagger model), and we use external-templates in ent to auto-translate the ent object to Swagger object.

Of course, there are more cases. If you can elaborate on your use case, it will help me to get more context.

@a8m thank you for you response.
I got the idea about GraphQL API. I also use gqlgen and it’s nice to hear that it is possible to integrate ent with it since both gql and ent are about graphs. (Is there any docs/tips how to do it? May be I didn’t see such section in docs)
About layers architecture: when you isolate your business logic models (and services) from infrastructure specific stuff (like some database (or specific ORM) or some email provider), your application’s business logic become independent and flexible and does not depend on implementation details.
For example I have User model (structure). And I need to save it to some storage. I can create UserSaver (business logic layer) service which will have UserRepository service (infrastructure layer).
The thing is that all services which need to save some user will use UserSaver service. Business logic services don’t need to know details about database or other storage specifics.
And UserSaver service will have UserRepository service which will handle saving users to database (or other storage) and fetching them.
The benefit is that if someday I will realize that ent framework is not maintained anymore, I will need only to rewrite UserRepository service. My business logic services will still work ok, because they don’t know about details and independent from ent.
But as far as I understood ent framework designed in the way when your whole application should use ent models (entities). And if some day I will need to replace ent by another orm, I will have to rewrite the entire application.
The main idea in dependency inversion. Business logic stuff is not affected by infrastructure changes.

Thanks for the explanation @metalrex100.

I got the idea about GraphQL API. I also use gqlgen and it’s nice to hear that it is possible to integrate ent with it since both gql and ent are about graphs. (Is there any docs/tips how to do it? May be I didn’t see such section in docs)

There's no available doc at the moment for this integration - I'm actually working on it.
About the 2nd part of the comment - tbh, if you aim to go with this approach, you'll lose many of the stuff that ent provides. For example, one of the main benefits for using ent schema, is that ~all logic regarding your types reside in one place - which is the ent schema. You can define constraints or validators on fields and types, and even with the upcoming privacy later, you will be able to control who can query or mutate each type (or an edge). The GraphQL integration will also be part of schema.

@a8m I see. It means that applications which use ent
actually will be “ent-based applications”.
Probably it’s a good approach for such cases as gql api server.
Thank you for explanation!

Closing, but feel free to continue the discussion if you want. Thanks!


Does not work with iOS 9.3

The bridge is found but no Devices
Homebridge had the same problem after the iOS 9.3 update but already fidex it
https://github.com/nfarina/homebridge/issues/541

updateing to hap-nodejs": "0.2.8" did the trick


scripts/tikv.json: fix tikv_coprocessor_scan_keys

@BusyJay @siddontang PTAL

@overvenus
seem this PR adds more metrics, we can close #173 now.
LGTM

@siddontang @BusyJay PTAL


Support For Linux Partitions

It would be a good addition if there was a feature to enable mounting your Linux partitions for people who dual boot.

This is impossible because while NTFS is visible to EXT4, the opposite is not true. If Microsoft allows this kind of thing in the future, you can bet I'll implement it.


added bar to benchmark output

I found it hard to read the benchmark full of numbers, so I added a bar under each result that allows humans to visually see how fast things are compared to each other.

Attached full markdown output. This is a full benchmark running on MacBook Air M1 2020
results.md

@Pyrolistical could you provide some details about your PC? (system, processor, memory, node version)

@Pyrolistical which node version do you use? :)

@mobily v16.7.0

@mobily let me re-run the bench off of the latest so it includes native

@mobily here it is
results.md


problem when data saving in typeahead with ng-blur and typeahead-on-select event

if typeahead use with ng-blur event(when user need additional word after picking from dropdown ) also have to use  typeahead-on-select event (data picking).if some one need to write additional word have use ng-blur event for data saving.
so when selecting item from drop down both events fire with two DIFFERENT model values.so it is better to dissable ng-blur when data picking
http://plnkr.co/edit/8gu3J8jyDSGqBDTYqfuz?p=preview
check with  console log

Has this issue been resolved?  Is there a work around?
The problem appears when the user clicks on an item after partially typing content in the typeahead.  The blur event is fired with only the portion that was typed and not the full item selected, thus causing serious validation issues.

Any resolution for this issue ?

This is still a problem! Not resolved!

I worked on a workaround. but still this an issue here as well.

Any solution for this/work around that anyone has found?

A solution could be to have a callback function on the typeahead close event. But there is not…

If this issue is closed and all associated issues are closed as well, how does this get fixed?  This is still unresolved as of 2.0.0.


Refactor code base

Description
Ktrain is an awesome interface for rapid development of ML applications. However, digging into its source code and trying to understand what is going on is quite challenging, since some files are very big and contain several classes at once. E.g.: preprocessor.py with >1300 lines of code and core.py. Therefore the learning/understanding curve of the ktrain codebase is steep which may hinders new potential contributors to get started and make ktrain even better.
Proposal
Break up those overwhelming big entities and put each class in its own file.
Further considerations to enhance code quality and the development process could be to add

A linter such as pylint
Lint and test the code in a CI pipeline. For example GitHub Actions

I know most of the time refactoring is a "non fun" task. However, it would be greatly appreciated and tremendously help new contributors 🚀 🙂 getting started.

Using CI (and a linter) are good suggestions, and something we will probably examine in future (although I have mixed feelings about pylint).   I'm probably not able to do this any time soon due to time constraints and higher priorities, though.
In regards to your main proposal of breaking up large files, I find that this is subjective, and there are reasonable arguments on both sides.  I've used popular libraries that have decomposed things to large number of small files and methods that have been criticized for being too hard to follow.  At the same time, there are highly popular ML libraries with a smaller number of module files some of which are nearly 2000 lines of code, yet have lots of users/contributors with no issues or problems with this.  With respect to ktrain, I've received some comments in the past about how the code is easier to follow and understand precisely because the code is consolidated in a smaller number of places.  Of course, I'm sure there are also some like you that feel the opposite.  My inclination is to leave this as it is for the time being.
That said, If you're confused about anything in the code base, feel free to post a question.  Thanks for your comments and interest in the library.


[DLS-9142] Adding Navigation For PackAtBusinessAddress

Also [[DLS-9142] Adding Navigation For PackAtBusinessAddress] change ticket number in github commit name to correct 9149


Cost per download - OpenAPI specs MODEUR-10

INFO: api-schema-lint: Using api-schema-lint version: 1.0.4
INFO: api-schema-lint: Assessing schema files (https://dev.folio.org/guides/describe-schema/)
INFO: api-schema-lint: Found 21 JSON schema files under directory 'src/main/resources/openapi'
ERROR: api-schema-lint: src/main/resources/openapi/schemas/reportCostRow.json: Missing "description" for: amountEncumbered, amountPaid, costPerTotalRequest, costPerUniqueRequest, invoiceNumbers, poLineIDs, totalItemRequests, uniqueItemRequests
ERROR: api-schema-lint: There were processing errors. See list above.

Note: When those ERRORs are fixed, then any INFO and WARNING messages will be gone too. See Jenkins "Artifacts" tab for ApiSchemaLintReport.

INFO: api-schema-lint: Using api-schema-lint version: 1.0.4
INFO: api-schema-lint: Assessing schema files (https://dev.folio.org/guides/describe-schema/)
INFO: api-schema-lint: Found 21 JSON schema files under directory 'src/main/resources/openapi'
ERROR: api-schema-lint: src/main/resources/openapi/schemas/reportCostRow.json: Missing "description" for: totalItemRequests, uniqueItemRequests
ERROR: api-schema-lint: There were processing errors. See list above.

Note: When those ERRORs are fixed, then any INFO and WARNING messages will be gone too. See Jenkins "Artifacts" tab for ApiSchemaLintReport.


Standard retrieval mode has preblems with reshaping

(tabi) petrakov@nlp2:~/tabi$ python3 scripts/demo.py --model_checkpoint best_model.pth --entity_emb_path embs.npy --entity_file entity.pkl
2022-09-20 12:13:09,194 [INFO] Loading model...
2022-09-20 12:13:09,194 [INFO] Using encoder model: bert-base-uncased
Traceback (most recent call last):
File "scripts/demo.py", line 67, in
model = Biencoder(
File "/home/petrakov/tabi/tabi/models/biencoder.py", line 47, in init
entity_embs = np.memmap(entity_emb_path, dtype="float32", mode="r").reshape(
ValueError: cannot reshape array of size<PHONE_NUMBER> into shape (768)
May be you can help me with it

Hi Sergey! Thanks for raising the issue! Which model checkpoint and embedding path are you using? Are these ones you trained or one of the four listed on the README?

Hi! I followed your instructions written in README.
My step were the following (as stated in your README):
0) Made new conda environment with python=3.7

clone repo
pip install -r requirements.txt
pip install -e .
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/torch_stable.html
download best_model.pth, embs.npy, entity.jsonl, entity.pkl
tried to launch TAbi interactively using python scripts/demo.py --model_checkpoint best_model.pth --entity_emb_path embs.npy --entity_file entity.pkl
After that I received above mentioned error

Hi Sergey, apologies for the slow reply. Can you check the md5 of the embedding file? These are the md5s for each of the embedding files (embs.npy):

KILT + types:  ace077de6422a8f827fd48dd7dbbd6cd
KILT + no types:  88e787dc17e1807cdb93ecc310a94ea8
BLINK + types: 07e56dac205931f9628de2d550a30a9e
BLINK + no types:  dddd17917d23842a016a3490cbc87bed

If the md5 doesn't match one of the above, you may need to re-download the file. Please comment if that still doesn't work, thanks!

Hi Megan! No problem, thank you for md5 that you sent. I checked it, now it works as described in your repo.
Btw, do I correctly understand that your model focuses only on input written in English? Can it be finetuned on the multilingual datasets to retrieve entities from other languages?


Only run tests that push when explicitly enabled

because Docker Hub rate limits pushes.
Fixes #270

We can make the build server that releases and uploads to sonatype enable these 2 tests.

closed in favor or #278


version2

hey how do i log in to REST version 2 with this program

Same question here, no documentation on how to use this. Wanted to get transaction history but cannot find anything anywhere. How to get transaction history from this app??

Closing, login v2 implemented some time ago


YF-DN32

Anyone using the YF-DN32 flow sensor ?
I can't find any reliable specs, some sites tell k=0.45*Q, other 4.5Q, other 0.45Q = l/m and so on
which one is the correct value ?
atm, i'm using the following:
  FlowSensorProperties YF_DN32 = {120.0f, 0.45f, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}};

but don't know if correct

obviously i've tried with 0.45 but returned flow is way too high to be real. something plausible is near 0.70

It's possible you are the first user to report back with such a YF-DN32 sensor.
I've never come across one myself, so can't verify.
There are a couple of discussions in (now closed) issues about proper calibration for various sensor types.
The meaning of the kFactor in this library is defined per the equation: pulses/s = kFactor * liters/min (which converts to kFactor =  pulse/s per liters/min).
The expression 0.45Q = l/m usually means kFactor = 0.45 at a flow rate that the manufacturer recommends/specifies the sensor for.
In reality the true `kFactor´ hugely depends on flow rate (and thus pulse rate), which is an expression of sensor nonlinearity.
That's what the array of mFactor values is for (all still unity in your instance).
Essentially, the kFactor of the YF-DN32 might very well be 0.45 at some flow rate, but it turns out to be more near 0.70 at your flow rates…
Long story short: did you run the calibration procedure as per the wiki page?

no, i didn't run the calibration because i've thought it was for accurate measurament. in my case, knowitng 1900 lites/h or 1800 liters/h is the same , but i'm getting 3200 liters/h (obviously, this is not the same)

Also, i don't have anything able to reach even near the sensor capacity (120 liters/min)

I know 2 things:
the bigger model, DN40, has the same K factor (0.45). This is strange, larger wheel, same k factor.....
the smaller model, DN25, has k factor 1, so i would expect something in the middle for the middle sensor (DN32): (1.0 + 0.45)/2 = 0.725
Results with 0.725 looks correct, but i don't know if they are correct.

i didn't run the calibration because i've thought it was for accurate measurament

It also allows you to discover the sensor properties in case they are unknown or implausible.
Maybe I should add this topic to the documentation.

i don't have anything able to reach even near the sensor capacity (120 liters/min)

Can you give an estimate of your actual flow rate?
All the things you need for such an estimate are a bucket, a watch and a minute of your time – and that's also the first step of the calibration process. ;)

Results with 0.725 looks correct, but i don't know if they are correct.

The calibration process will sort this out – and it's quicker than further research or more guesswork.…

not really
5 liters in 10secs are 5/10 = 0.5 liters per second that are 0.560=30 liters/min that are 3060=1800 liters per hour

5 liters in 10secs are 5/10 = 0.5 liters per second that are 0.5 * 60 = 30 liters/min

Yep, sorry, 30 l/min and 0.5 l/s (not 36 and 0.6), my bad.
Still far from 1800 l/s. ;)
Okay, so you're in the lower quarter (30/120 = 0.25) of your sensor's range.
That might explain some of the deviation.
You didn't mention your application, but what flow range do you intend to use, e.g. what's your lowest and what's your highest expected flow?
You could measure Q factors at e.g. 1 l/min (5min to fill a 5l bucket), 3 l/min (100s to fill a 5l bucket), 6 l/min (50s to fill a 5l bucket), and so on – up to 30 l/min.
This might tell you the true behaviour of your sensor at these relatively low flows.
Note that taking these measurements basically correspond to … a calibration run. :)

1800 liters HOUR
i'm planning to use the sensor to measure the real flow of some unknown water pumps i have

I'm closing this issue due to inactivity.
If you have new information, please just reopen it.


Fix leak when function returning self type

Fixes #56576
Leak is caused by cyclic reference.
Passing p_script into _gdtype_from_datatype enables a check to disable references if the data type is the same as p_script.

Thanks!

Thanks! And congrats for your first merged Godot contribution :tada:


Inconsistency in border shorthands

The problem

I've encountered an issue with the use of border shorthands in the Stylex package. While the ESLint rule provided by Stylex seems to prohibit the use of shorthand properties for borders, there's an inconsistency in how these rules are applied and enforced in practice.
I used border shorthand properties (borderTop, borderLeft, borderRight, borderBottom) in my Stylex code as follows:
const s = stylex.create({
  test: {
    borderTop: '5px solid blue',
    borderLeft: '5px solid blue',
    borderRight: '5px solid blue',
    borderBottom: '5px solid blue',
  },
});

When running npm run lint, the following errors are reported:
./app/page.tsx
9:5  Error: The 'borderTop' property is not supported. Use the 'borderTopWidth', 'borderTopStyle' and 'borderTopColor' properties instead.  @stylexjs/valid-styles
10:5  Error: The 'borderLeft' property is not supported. Use the 'borderLeftWidth', 'borderLeftStyle' and 'borderLeftColor' properties instead.  @stylexjs/valid-styles
11:5  Error: The 'borderRight' property is not supported. Use the 'borderRightWidth', 'borderRightStyle' and 'borderRightColor' properties instead.  @stylexjs/valid-styles
12:5  Error: The 'borderBottom' property is not supported. Use the 'borderBottomWidth', 'borderBottomStyle' and 'borderBottomColor' properties instead.  @stylexjs/valid-styles

However, in the rendered output, borderTop, borderRight, and borderBottom are actually applied and rendered correctly, but borderLeft is not.

How to reproduce

I have created a StackBlitz reproduction of this issue, which can be found here: https://stackblitz.com/edit/stylex-next-4kubjy?file=app%2Fpage.tsx
Expected behavior

I would expect the ESLint rule to either allow all border shorthand properties or to consistently enforce the prohibition across all of them. The current behavior where some properties work despite the ESLint errors, and others do not, is confusing.
Could you please provide some clarification on this behavior? Is this an intended feature or an oversight in the ESLint rule implementation?
Thank you for your assistance.
Environment (include versions). Did this work in previous versions?
Mac and Linux, v0.3.0 of stylex, latest Next.js.

but borderLeft is not

This is indeed strange.

All border shorthands should apply.
All of them should give you a lint error. (Reconsider this decision)

@nmn, thank you for the prompt response! I really appreciate it. Additionally, I believe it would be beneficial if the documentation could clarify why these shorthand properties trigger a lint error, especially if they are intended to be supported in practice. This would greatly aid developers in understanding the intended usage and limitations.

@QingqiShi We initially disallowed a few shorthand properties:

background
animation
transition
border and border[Dir]

This was done for two reasons:

Alignment with React Native
A conceptual idea that one property should have one value. (We discourage multiple values for margin for example)

We're reconsidering this decision and will document based on where we land.

This particular issue has been resolved and a separate issue is tracking other missing properties. So closing.


feat: integrate ENSIP-16 v2 to manage domain page

Feature Request
Describe the Feature Request
The dapp should be able to gather all the information related to any given domain, even those being stored off-chain. Although the The Graph is capable of handling domains stored on-chain, it lacks features for the domains stored anywhere other than the L1, which is where the ENSIP-16 comes into play.
Describe Preferred Solution
The dapp should be capable of gather the domain's record by following the steps below:

Fetch the resolved by calling findResolver(bytes32 node) from the UniversalResolver
*Check whether this resolve implements the function metadata() external view returns (string memory) function by calling supportsInterface(0x392f37e9) with 0x392f37e9 being the selector of the metadata function
if it returns true it means the contract supports the ENSIP-16, exposing a GraphQL API on the URL returned by the metadata function. The latest version of the DatabaseResolver (0xfCfC138635e8c00BfDa78507C8abeD5013148150) returns the following this URL.
the following is the query that fetches the most infos about a given domain:

query Domain($name: String!) {
  domain(name: $name) {
    id
    context
    name
    namehash
    labelName
    labelhash
    resolvedAddress
    parent
    subdomains
    subdomainCount
    resolver {
      id
      node
      context
      address
      addr
      contentHash
      texts {
        key
        value
      }
      addresses {
        address
        coin
      }
    }
    expiryDate
  }
}

P.S: the current implementation of the DBResolver doesn't return tru for the supportsInterface(<metadata selector> yet, it is still being developed. You can call the Metadata API directly for now.

LGTM


The Proper error message should be displayed.

Affected IS version: wso2is 5.10 m7
Severity: Low
Priority: High
Issue: The content of the error message is not correct when submitting the "Associated Flow" field with empty.
Step to reproduce:

Navigate to Home> Manage> Consent Purposes and click Add.
Leave the "Associated Flow" field empty and enter the correct information for the rest.
Click on "finish".

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


return a single result instead of an array when performing an in-plac…

…e save by primary key
For #98

Merge #99


(cosmetic) new command line example is pink, not matching blockquote

the new command line example style, without border also appears lighter/pink color and is a bit hard to make out on a white background:

it should be the same color as in a blocquote (```):

cluster-name vs export KUBECONFIG above

if you point me to the css I can make the change if you want

I think that comes from syntax.css. But I'd have to track it down...
On Wed, Jan 31, 2018 at 5:49 PM, Laurent Demailly<EMAIL_ADDRESS>wrote:

if you point me to the css I can make the change if you want
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio.github.io/issues/913#issuecomment-362131880,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVucHaeIQzkXEeWYSaGIA7o5nlvhPNMLks5tQRgwgaJpZM4R02yq
.

fixed in #924


Unhandled 'error' event

Gearsloth crashes with the following:
sloth: D: controller: worker: disconnected from localhost:4730 (%) write EPIPE
sloth: events.js:72
sloth:         throw er; // Unhandled 'error' event
sloth:               ^
sloth: Error: write EPIPE
sloth:     at errnoException (net.js:904:11)
sloth:     at Object.afterWrite (net.js:720:19)

I believe it happens when connection is lost to gearman server (probably all of them).

Is this still open?
Is there a way to test connections breaking with docker containers?

I think this has been superseded by #86.


Storing refresh token & access token in plain text

Hello, I wonder how refresh tokens and access tokens from auth providers are stored? Quickly expecting the code I assume it is stored as plain text. Especially for the refresh token, it seems like a security risk and is equivalent to storing the password as plain text. Which means that when a data leak occurs, the refresh token can be used by the hacker to authenticate and potentially use the tokens to make request on behave of the user.
Or I am possibly wrong?

If you mean tokens to OAuth providers stored in auth.user_providers, then yes, they are stored in plain text.
If you mean refresh tokens used to sign in, they are also stored in plain text. These I think we can hash without any problem.
The OAuth tokens are a bit think. Those can not be hashed as they are used to communicate with the OAuth provider, but maybe there is a more secure way of managing tokens from OAuth providers?

Personally I see refresh tokens from auth providers same as passwords, thus the should be not be stored as plain text.
I am not sure what the best practises about store oauth2 refresh tokens. The only way of making it more secure is to let the user store it in http only cookie and not in database.

Personally I see refresh tokens from auth providers same as passwords

They are not the same as passwords because you give granular access to the service (e.g. Google). By default, this means you give access to Hasura Auth to read the user's name, profile picture, and email.

Any chance the hashing has been implemented already?

Nothing has been implemented regarding this issue yet.

Maybe we should encrypt the tokens to prevent them from being used in case they are leaked/hacked from the database.
The tokens can then be decrypted using a key which we could have a system environment variable. This way, a serverless function that wants to use a token to interact with the external service can do so by first decrypting the token using the system environment variable.
What do you think @plmercereau and @nunopato?

Which token are you talking about? I don't understand why we would want to decrypt refresh tokens in functions. Access tokens can't be sent encrypted to the client as they won't be JWT anymore.
As per the initial suggestion, refresh tokens have a similar level of sensitivity as password as users can authenticate with them. I think the suggestion makes sense.
On an implementation standpoint, it is a bit more complicated. Until now, when a refresh token is received by hasura-auth, we look for it in the database with a SELECT WHERE. We don't be able to do it that way when the hash is stored. We would need to expose the user id to the client so it can send both the refresh token and the user id, and so we can find the hash through the user id.
IMO it's worth it

Can I ask why the oauths refresh token is stored anyway currently?

Can I ask why the oauth refresh tokens are stored anyway currently?

So your app can act on behalf of the user for that system.
We're defaulting to only email, display name, and profile picture. But if you set custom scopes, you can do much more depending on the scopes and service.
As an example, let's say you're building a music application and you let users sign in with Spotify. You set the scopes so you can read the users' playlists on Spotify. In your app, you want to sync the playlists using a cronjob every hour to your application.
This is possible by having Spotify access/refresh tokens for each user in the database.

So if you can set the scopes, like editing my google display name, the refresh token should definitely be carefully and securly stored...

Just to be clear: The default scopes with Hasura Auth is READ ACCESS ONLY.
I still think we should consider encrypting the tokens for OAuth providers.


fix tensor2img for grayscale images

Hey! Thanks for the amazing implementation!
Just a quick fix for grayscale images. colab demonstration

Thanks for pointing out the error, I'll merge it into the master branch


Users who have joined game are booted but remain on host device

Devices used:

iPad (iOS 10.3.3) [host device]
Galaxy Tab 4 (Android 5.0.2) [joined]
iPod Touch (iOS 9.3.5) [joined]

After entering the 4-digit code to join the game, both the tablet and the iPod displayed the following error message: "It looks like the game is not responding for some reason. Try reconnecting or playing later!" However, the host device displays all players as having joined the game, and allows the host to begin the game.

See Issue #406

Replicated on:

iPad Pro (3rd Gen) running Firefox for iOS (version 16.2) on iOS 12.1.1 [Host Device]
iPhone XS running Firefox for iOS (version 16.2) on iOS 12.2 [Joined]
MacBook Pro (mid 2015) running Firefox Version 66.0.3 on macOS 10.14 [Joined]


fix: handle error if getNextUrl throws

picked from https://github.com/pladaria/reconnecting-websocket/pull/166

 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.


TTS issues

ElevenLabs is pretty much money hungry, you only get 10k chars for free!!
youre better of using azure tts (the one that neuro-sama uses and its the best) or even google tts

ElevenLabs is pretty much money hungry, you only get 10k chars for free!! youre better of using azure tts (the one that neuro-sama uses and its the best) or even google tts

Hey, on the insanity labs version, we went for power over price. this means that you get the backend for the highest quality voices possible, i will say however i do agree with you that the price per char is expensive on eleven labs. you are more than welcome to modify the code to your liking.


[Network] Add details on location parameter use to list-service-tags help

Description
Added specific guidance on using the location parameter in this command since users are confused and try to use it for filtering by region.
Testing Guide

N/A
History Notes

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

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

Network


Can't use ++/2 in a guard

In Erlang, I can do this:
> F = fun("prefix" ++ Suffix) -> Suffix end.
% #Fun<erl_eval.6.54118792>
> F("prefixsuffix").
"suffix"

but in LFE, I get a function_clause error:
> (defun f ([(++ "prefix" suffix)] suffix))
f
> (f "prefixsuffix")
exception error: function_clause

Per discussion on IRC, the plan is to add a ++* that uses:
[[N|Ns]|Es] when is_number(N) -> [cons,N,['++',Ns|Es]];

and bottoms out to a call to erlang:++ after a specific number of characters.

diff --git a/src/lfe_macro.erl b/src/lfe_macro.erl
index f422c7b..4a19347 100644
--- a/src/lfe_macro.erl
+++ b/src/lfe_macro.erl
@@ -654,0 +655,3 @@ exp_predef(['++'|Abody], _, St) ->
+exp_predef(['++*'|Abody], _, St) ->
+    Exp = exp_append1(Abody),
+    {yes,Exp,St};
@@ -938,0 +942,12 @@ exp_append(Args) ->
+%% exp_append1(Args) -> exp_append1(0, Args).
+%%  Expand ++* in such a way as to allow its use in patterns.
+%%  Handle lists of numbers (strings) explicitly, otherwise
+%%  default to exp_append/1.
+
+exp_append1(Args) ->
+    case Args of
+        %% Cases with lists of numbers (strings).
+        [[N|Ns]|Es] when is_number(N) -> [cons,N,['++*',Ns|Es]];
+        _ -> exp_append(Args)
+    end.
+

(defun f
  ([(++* "This is a rather large prefix and makes for a slightly impractical test, but I'm doing it anyway, for science. " suffix)]
    suffix))

> (f "This is a rather large prefix and makes for a slightly impractical test, but I'm doing it anyway, for science. We did it!")
"We did it!"


⚠ Bofrost.be has degraded performance

In acd0ed4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1591 ms

Resolved: Bofrost.be performance has improved in 8f808a3.