start of the week is Thursday. how to configure to start from monday/sunday ?

when I group by time(1w). I still see week starting from Thursday . I want week to start from sunday or monday. Please let me know how to get it done. I spent 4,5 hours trying to figure it out.  I am using 1.0.2 version
SELECT SUM(value) FROM measurement_name WHERE time >= '2016-10-09T18:30:00Z' AND time < '2016-11-07T18:29:59Z' GROUP BY time(1w)

http://docs.influxdata.com/influxdb/v1.0/query_language/data_exploration/#advanced-group-by-time-syntax

So why not start from Monday or Sunday?
Is there any special reason?

So why not start from Monday or Sunday?
Is there any special reason?

It's because the epoch was a Thursday (1 January 1970). Influx only cares about epoch (a.k.a. unix) time. Which is also why you can't group by month.

So why not start from Monday or Sunday?
Is there any special reason?

It's because the epoch was a Thursday (1 January 1970). Influx only cares about epoch (a.k.a. unix) time. Which is also why you can't group by month.

Thanks


Create a profile for Network Proxy

Add a new profile, "Network Proxy"
Applied to select Network Activity events
Proxy includes:
Connection info
Http request / response
TLS
Traffic
Proxy Endpoint

PR included changes for incidents, will create another one


Random panics when running tests on RHEL 6.6

First I found this bug on an RHEL (Red Hat Enterprise Linux Server) 6.6 system in a virtual qemu machine which has 24 virtual processors.
log-virtual.txt
Linux kernel version is 2.6.32-504.el6.x86_64. Everything used to work on revision 732e2cd which I had previously checked out, so I bisected the problem and found a problematic commits: d513ee774cb3747eccc6b3483a67dbb9118dae8d and f034ee8c22151039465826da0f8c35e9780a8d55. I even created a patch which reverted these two commits and fixed this problem for me on the virtual machine.
fix-virtual.patch.txt
But later I found a RHEL 6.6 system which runs on a physical hardware with 48 processors and without virtual layer, and it tried running tests on it. It happens that tests always crash on this machine. Even revision 732e2cd which used to work for me on virtual machine produces the same result.
log-physical.txt
A similar system running Ubuntu 15.04 (kernel 3.19.0-15-generic) doesn't have any such problems.
Go bootstrap compiler used in both cases is recently released version 1.5.3.

Rerun tests with GOTRACEBACK=2
log-virtual.txt
log-physical.txt

11 is ECHILD, which clone(2) doesn't say it returns. I don't think the changes you highlighted are directly responsible, they just changed the pattern of access that pushed this machine over some limit.
Is AppArmor or SELinux in play ? Are there any odd entries in /etc/security (not 100% of the name)? What is the output from ulimit -a on unaffected and affected machines.
I don't think qemu is related, unless the machine inside the qemu host is starved for memory.

Can you remove NFS from the equation ?

Yes I don't think that running tests in parallel causes problems in newosproc and pthread_create. I just described how it changed the behavior on a virtual system.
I rerun tests on virtual machine in /tmp so that there is no NFS access.
log-virtual.txt
On physical system there is no NFS already.

Ulimit -a is the same on both systems:
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 515268
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
SELinux seems to be present because there are files in /etc/security and command selinuxenabled retruns 0. But I am quite sure that all SElinux settings are in their default values since distribution installation.

I disabled selinux in /etc/selinux/config (SELINUX=disabled and selinuxenabled returns 1 now), but it didn't change anything.
log-virtual-noselinux.txt

I found a system with RHEL 7.1 (kernel version 3.10.0-229.el7.x86_64) and tried running tests on it too. No problems encountered. So am starting to think that there may be some bugs specific to RHEL 6.6 kernel.

It turns out that error 11 is EAGAIN, not ECHILD.
I have long suspected that there is a potential bug in the GNU/Linux support, but I have never been able to write a test case for it.  The Linux kernel source code shows that if one thread calls clone while a different thread is calling exec, the call to clone can return EAGAIN (look for uses of in_exec in the kernel source code).  That suggests that newosproc in runtime/os1_linux.go should check for that case, and loop calling clone again.  But since I've never been able to write a test case showing the problem, I've never made the change.
This kind of problem, if it is indeed the problem, could certainly be kernel specific.
You could try applying this patch to runtime/os_linux.go to see if it fixes the problem.
diff --git a/src/runtime/os1_linux.go b/src/runtime/os1_linux.go
index b38cfc1..2d967a2 100644
--- a/src/runtime/os1_linux.go
+++ b/src/runtime/os1_linux.go
@@ -141,7 +141,13 @@ func newosproc(mp *m, stk unsafe.Pointer) {
        // with signals disabled.  It will enable them in minit.
        var oset sigset
        rtsigprocmask(_SIG_SETMASK, &sigset_all, &oset, int32(unsafe.Sizeof(oset)))
-       ret := clone(cloneFlags, stk, unsafe.Pointer(mp), unsafe.Pointer(mp.g0), unsafe.Pointer(funcPC(mstart)))
+       var ret int32
+       for i := 0; i < 10; i++ {
+               ret = clone(cloneFlags, stk, unsafe.Pointer(mp), unsafe.Pointer(mp.g0), unsafe.Pointer(funcPC(mstart)))
+               if ret != _EAGAIN {
+                       break
+               }
+       }
        rtsigprocmask(_SIG_SETMASK, &oset, nil, int32(unsafe.Sizeof(oset)))

        if ret < 0 {

Thank you for a patch, but it didn't help so far. I tried to modify it a bit because comparison should be done with -_EAGAIN, but panics still remain. My patch looks like this now
diff --git a/src/runtime/os1_linux.go b/src/runtime/os1_linux.go
index b38cfc1..d6b9408 100644
--- a/src/runtime/os1_linux.go
+++ b/src/runtime/os1_linux.go
@@ -141,11 +141,21 @@ func newosproc(mp *m, stk unsafe.Pointer) {
        // with signals disabled.  It will enable them in minit.
        var oset sigset
        rtsigprocmask(_SIG_SETMASK, &sigset_all, &oset, int32(unsafe.Sizeof(oset)))
-       ret := clone(cloneFlags, stk, unsafe.Pointer(mp), unsafe.Pointer(mp.g0), unsafe.Pointer(funcPC(mstart)))
+    var ret int32
+    var i int32
+    for i = 0; i < 10; i++ {
+        ret = clone(cloneFlags, stk, unsafe.Pointer(mp), unsafe.Pointer(mp.g0), unsafe.Pointer(funcPC(mstart)))
+        if ret < 0 {
+            print("Got error number ", -ret, "\n")
+        }
+        if ret != -_EAGAIN {
+            break
+        }
+    }
        rtsigprocmask(_SIG_SETMASK, &oset, nil, int32(unsafe.Sizeof(oset)))

        if ret < 0 {
-               print("runtime: failed to create new OS thread (have ", mcount(), " already; errno=", -ret, ")\n")
+               print("runtime: failed to create new OS thread (have ", mcount(), " already; errno=", -ret, "), tries ", i, "\n")
                throw("newosproc")
        }
 }

and it produces errors like this:
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
Got error number 11
runtime: failed to create new OS thread (have 2 already; errno=11), tries 10
fatal error: newosproc

There are also some CGo tests which fail on pthread_create: runtime/cgo: pthread_create failed: Resource temporarily unavailable.

Thanks for trying it.  In that case you should check how many processes are running in total on the machine, and how many are permitted.  This is ulimit -u.
I suppose you could also try adding a call to usleep(1) in the loop.

It is really a surprise to me, but increasing ulimit from 1024 to 2048 helped. All tests passed both on virtual and physical systems. Ubuntu doesn't have any limit set, and RHEL 7.1 has 4096, that is why tests passed on those systems.
I think this bug can be closed.


Composer refuses to install zend-log with php 7.1.12

I'm not 100% sure if this is a composer or zend-log problem (I believe it's likely to be the former, so if that's the case my apologies):
I've tried installing zend-log on an Expressive project (created with the Expressive skeleton) and this is the result:
zaphod@magrathea myproject]$ composer require zendframework/zend-log
    1/6:        http://packagist.org/p/provider-2017-01$c6462e65b3cdbc2cc191fd7bede47fd94c07f9e4ed39bc9a76ba0b2bdfa515b5.json
    2/6:        http://packagist.org/p/provider-2017-07$f4a7cb0e4c0d9672d1c6354360d6bfc29622dd154d4dea81bcc4796e3e8fd9e9.json
    3/6:        http://packagist.org/p/provider-2016$963dbb96d9d2728119ffe0278fc854f69e3223bf348786e38eaf19293c019598.json
    4/6:        http://packagist.org/p/provider-2017-10$59f8fc22e2415a6a9ec970dc924c220418f20eca6f6bccf1250c6f9b3d94bf2c.json
    5/6:        http://packagist.org/p/provider-2017-04$5bbb2709c4a8771c7688f9bb17cde55b4aa1de0ae92483314681d40d76fd8645.json
    6/6:        http://packagist.org/p/provider-latest$a086925ea2f3e6592b7fb0b499c01dd2003718407f64eee5ebce709b8bfdcaaa.json
    Finished: success: 6, skipped: 0, failure: 0, total: 6
Using version ^2.9 for zendframework/zend-log
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php ^5.6 but your PHP version (7.1.12) does not satisfy that requirement.

Installation failed, reverting ./composer.json to its original content.

This actually sounds like a Composer issue.
The constraint we use (^5.6 || ^7.0) means that any PHP 5.6 or PHP 7 version is a valid runtime for the component, which means that if you try and install it on PHP 7.1, it will succeed.
What version of composer are you using? (run composer --version to find out)
In the meantime... I've done the following:
$ composer create-project zendframework/zend-skeleton-application zend-log-80
$ cd zend-log-80
$ composer require zendframework/zend-log

This all worked as expected for me; I received prompts where expected, and the project and component installed as expected. I did this using Composer 1.5.2 and a PHP 7.1 runtime. As such, if you can reliably reproduce the issue, I think you'll need to raise it with Composer.

@galvao Can you try this:

Be sure to work with the latest version of composer by running composer self-update.
Try clearing Composer's cache by running composer clear-cache.

We had issues in the past with the expressive skeleton and updating to the latest version and clearing the cache fixed most problems.

@xtreamwayz @weierophinney Thank you guys. Updating composer and clearing the cache solved it.


chore: Move @nx/node dependency to peer dependencies

By making the @nx/node dependency a peer dependency, the function generator can generate projects that better match the given Nx workspace.
Fixes #191

@simondotm Any thoughts on this? We are on Nx@18 and this package is pulling in the deprecated @nrwl/linter@16 package. I think it's messing with our CI as a result.

Hi @jaytavares thanks for this, I'll take a look at this over the weekend. 👍
I had some similar work in progress, but will prioritise a release asap

Ah okay. I’m in favor of removing it altogether if possible. 👍

On Sunday, Mar 24, 2024 at 4:29 AM, Simon M @.*** @.***)> wrote:
@simondotm commented on this pull request.
In packages/nx-firebase/package.json (https://github.com/simondotm/nx-firebase/pull/190#discussion_r1536765987):

@@ -22,10 +22,9 @@ "executors": "./executors.json", "peerDependencies": { @./devkit": ">= 16.1.1", + @./node": "^16.6.0",

I'm thinking this should be ">= 16.1.1" ?
Or even more ideally, remove it altogether. The plugin init generator already tries to ensure @@.*** is a workspace dependency when it runs.
—
Reply to this email directly, view it on GitHub (https://github.com/simondotm/nx-firebase/pull/190#pullrequestreview-1956502448), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AAFNTV6UKRPZTZNIS2ZKUO3YZ2FHHAVCNFSM6AAAAABEA6XJZCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSNJWGUYDENBUHA).
You are receiving this because you were mentioned.Message ID: @.***>


All "Help" and "Pair" links broken

All of the "Help" and "Pair" links in all Waypoints and Bonfires (as far as I've seen) are dead links. If you click either, you get a pop up window and then if you click on the "Take me to the help room" or "Take me to the pair programming room" the link is dead.

Closing as duplicate of #2445
Please see https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Searching-for-Your-Issue-on-Github


Change log level of ATX timing failure

Overview / Motivation
log level is "info" where it should be "error"
log msg: "failed to validate 3b0aa prevAtx epoch (0) isn't older than current atx epoch (0)"
seems like it's located under updateAtxDependencies function,
there's a concatenation of an err msg into a log.info

This is the relevant code:
https://github.com/spacemeshos/go-spacemesh/blob/ed2745fa39153360dc4901346d6825aa02300750/sync/fetch_queue.go#L247-L272
I don't think this should be an error, since it's just an invalid message received from a peer, but I do think that it should be a warning.
@almogdepaz WDYT?


Azure OpenAI: release prep for 2.0.0-beta.1

API change check
API changes are not detected in this pull request.


logging: Kconfig: Let the user decide to redirect log to RTT backend,

fixes #42207, RTT was enabled by SYSTEMVIEW, and on my specific application
,SHELL was running on a UART backend thus, it has produced an issue
Signed-off-by: Manojkumar Subramaniam<EMAIL_ADDRESS>

I don't think that it is a good way to go. RTT by default enabled has been here for a while and we shouldn't change that just to hide a bug.

on my end specifically, it is a issue because I still plan to use the UART logging backend only

@nordic-krch please revisit


Multiline superclasses regression in 0.40

Expected Behavior
This should format consistently
Observed Behavior
It fails on its own formatting
Steps to Reproduce
const val MY_LONG_CONSTANT = 1
interface SomeInterface
interface AnotherInterface
abstract class BaseClass(textColor: Int, bgColor: Int, thirdArg: Int)

class SubClass private constructor(
  private val textColor: Int,
  private val bgColor: Int
) : BaseClass(
  textColor,
  bgColor,
  MY_LONG_CONSTANT
),
  SomeInterface,
  AnotherInterface {
}

When formatting it, it will result in this:
class SubClass private constructor(
  private val textColor: Int,
  private val bgColor: Int
) : BaseClass(
    textColor,
    bgColor,
    MY_LONG_CONSTANT
  ),
  SomeInterface,
  AnotherInterface {
}

But then complain that the indentation is unexpected
ChannelTagSpan.kt:19:5: Unexpected indentation (expected 2, actual 4)

This is a regression from 0.39.0
Your Environment
This is our editorconfig
[*.{kt,kts}]
indent_size=2
continuation_indent_size=2
disabled_rules=final-newline

In this issue the ArgumentListWrappingRule and IndentRule are both triggered at the same lines and each rule reports errors found. The full lint report for this issues is:
issue1046.kt:7:1: Unexpected indentation (4) (should be 2)
issue1046.kt:7:5: Unexpected indentation (expected 2, actual 4)
issue1046.kt:8:1: Unexpected indentation (4) (should be 2)
issue1046.kt:8:5: Unexpected indentation (expected 2, actual 4)
issue1046.kt:10:1: Unexpected indentation (4) (should be 2)
issue1046.kt:11:1: Unexpected indentation (4) (should be 2)
issue1046.kt:12:1: Unexpected indentation (4) (should be 2)
issue1046.kt:14:1: Unexpected indentation (4) (should be 2)
issue1046.kt:15:1: Unexpected indentation (4) (should be 2)
issue1046.kt:15:22: Unnecessary block ("{}")

It is confusing that the style of messages printed by those rules is different. But both do report that the actual indentation is 4 while 2 was expected. At least the messages should be aligned.
An interesting question is whether we should attempt to avoid duplicate messages although they are cause by different rules. Or should we always report the rule in which the violation was found like the verbose mode does. @romtsn Do you have an opinion about that?

In this issue the ArgumentListWrappingRule and IndentRule are both triggered at the same lines and each rule reports errors found. The full lint report for this issues is:
issue1046.kt:7:1: Unexpected indentation (4) (should be 2)
issue1046.kt:7:5: Unexpected indentation (expected 2, actual 4)
issue1046.kt:8:1: Unexpected indentation (4) (should be 2)
issue1046.kt:8:5: Unexpected indentation (expected 2, actual 4)
issue1046.kt:10:1: Unexpected indentation (4) (should be 2)
issue1046.kt:11:1: Unexpected indentation (4) (should be 2)
issue1046.kt:12:1: Unexpected indentation (4) (should be 2)
issue1046.kt:14:1: Unexpected indentation (4) (should be 2)
issue1046.kt:15:1: Unexpected indentation (4) (should be 2)
issue1046.kt:15:22: Unnecessary block ("{}")

It is confusing that the style of messages printed by those rules is different. But both do report that the actual indentation is 4 while 2 was expected. At least the messages should be aligned.
An interesting question is whether we should attempt to avoid duplicate messages although they are cause by different rules. Or should we always report the rule in which the violation was found like the verbose mode does. @romtsn Do you have an opinion about that?

I think this issue has been resolved by https://github.com/pinterest/ktlint/pull/1006.

I think this issue has been resolved by https://github.com/pinterest/ktlint/pull/1006.

Issue can indeed not be reproduced anymore with current master.

Issue can indeed not be reproduced anymore with current master.

@ZacSweers we'll try to make a 0.41.0 release this month, you could give the snapshot a try if you will.

@ZacSweers we'll try to make a 0.41.0 release this month, you could give the snapshot a try if you will.


Implementation of authentication + RSVP to meetups

As discussed with @MrSunshyne, we are implementing authentication on the website so that users could sign up/sign in and submit RSVPs to meetups they are attending. The information would be stored on a database so it'd remember which user RSVP'd for which event.
There will also be a profile page for each user where we could store metadata about the user (current occupation, veg/non-veg, etc)
We are using Supabase to handle Authentication + Database

You did it ! closing


how to handle localization key is not found in the locale file?

The localization key is not found due to it not being added in all the locale map data. You need those missing keys to all your locale map data that you use in the app.
If I'm getting your question wrong, please provide more information about your error. Thank you.

Same here.
mixin AppLocale {
// static const String title = 'title';
static const String sampleText = 'sampleText';
static const Map<String, dynamic> EN = {
// title: 'Localization',
sampleText: 'Hello',
};
static const Map<String, dynamic> SI = {
// title: 'සිංහල',
sampleText: 'Hello',
};
}
The above is my file. But I can't use sampleText. It says "sampleText not found"

`mixin AppLocale {
static const String title = 'title';
static const String sampleText = 'sampleText';
static const Map<String, dynamic> EN = {
title: 'Localization',
sampleText: 'Hello',
};
static const Map<String, dynamic> SI = {
title: 'සිංහල',
sampleText: 'Hello',
};
}`
Here is a more readable code

Hello @vibhashan
Did you provide supportedLocales and localizationsDelegates to the MaterialApp in your app?

Yes I did...the key "title" is working fine...only issue is when I try to
add a new key value for example "abc"
On Wed, 18 Oct 2023, 7:16 am Eam Channdara, @.***>
wrote:

Hello @vibhashan https://github.com/vibhashan
Did you provide supportedLocales and localizationsDelegates to the
MaterialApp in your app?
—
Reply to this email directly, view it on GitHub
https://github.com/channdara/flutter_localization/issues/4#issuecomment-1767476568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAVPAMHWILLD5LS6OTLUSK3X74YGDAVCNFSM6AAAAAA3SH5CW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRXGQ3TMNJWHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@vibhashan I will check that. But make sure to re-run the app after adding a new key and value to the map data. Hot reload will not work and show the error "key not found"

Ohh okay. I did not actually re run the app instead performed hot reload.
I'll check this and get back to you
On Wed, 18 Oct 2023, 10:14 am Eam Channdara, @.***>
wrote:

@vibhashan https://github.com/vibhashan I will check that. But make
sure to re-run the app after adding a new key and value to the map data.
Hot reload will not work and show the error "key not found"
—
Reply to this email directly, view it on GitHub
https://github.com/channdara/flutter_localization/issues/4#issuecomment-1767631517,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAVPAMCNNFFDEEJD6SR653LX75NEBAVCNFSM6AAAAAA3SH5CW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRXGYZTCNJRG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi. Thanks for the tip. Actually after rerunning, all the new key-values and translations are working. Thanks brother, saved my day 😎🙌🔥


Find a better solution for the custom JRE

Currently the JRE is part of the src directory and gets copied into the distribution. That is not very nice because it makes the src directory bigger than it need to be.
A better solution would be to create the JRE dynamicly when building a distribution.

I'm absolutely not a Java expert, but since the goal here is a simple .exe anyone can run on their PC beside ACC, could something like GraalVM work?
https://www.graalvm.org/reference-manual/native-image/


nuxt build --watch

Seems like this should be implemented, just like webpack --watch.

This question is available on Nuxt.js community (#c38)

nuxt build purpose is only to create the build for production.
Otherwise you should use nuxt which watch the files and update the build every time + hot reloading.

@Atinux nuxt does not compile the files into dist which is what projects like ionic.io/cordova need when building mobile applications.

@Atinux I'd love for you to re-open this for further discussion.

I re-opened it @cj
The fact is the dist folder is used for the nuxt generate already.
And I we are doing like Next.js by creating a .nuxt/ folder.

Thank you.  Then a nuxt generate --watch option, so it automatically rebuilds on changes.
This might be an edge case for people wanting to build for electron.io or ionic.io.  If it's not something you want to add, I understand.  I've created https://github.com/cj/vues, so that nuxt doesn't need to go down that path.

Indeed, the main purpose of Nuxt.js is to build web applications.
I like what you did with vues, I'd love to use it to create desktop or mobile application with it :)

I'm closing the issue since your project vues goes for mobile and desktop applications.

I still want this feature for debugging laravel dusk tests locally (not using an SSR server).


Add option to display invisible/unprintable characters

This is already mentioned as "Possible Future Additions" in #2073, but I thought it would be helpful to have a dedicated issue to track the implementation.
Ideally, it should be possible to visualize non-printable characters, control characters, zero-width spaces, etc. both when viewing the source code of a file, in code blocks in comments, and on diffs. Especially on diffs.
See for example how Diffchecker does it (note the red dot after "Lorem" on the left text box):

I think should would belong to the same feature, which also has its own “tracking issue” here https://github.com/sindresorhus/refined-github/issues/588

Perhaps I’ll leave this open as a possible extension to that feature

I left that out in the "possible future extensions" section because:

Way too many DOM nodes
No clear idea on what should be displayed in place of the character

Like what Sublime shows!?

Or use the replacement character like VSCode does

Or leave with what GitHub already shows for some non-printable characters

And finally what specific Unicode ranges to handle

I actually like this feature, however maybe there is a way to break it into several options?

[ ] show all whitespaces
[x] show whitespaces other than spaces (the dots) <- my preference
[ ] disable (uncheck option in prefs)

Because of https://github.com/sindresorhus/refined-github/issues/2150#issuecomment-501133116, I think this would be best as its own extension/userscript


Korean v5.4 update

Will open pull request when v5.4 update is released. (May 18th, KST)
CE opcodes won't be fixed nearly, other contributor might fix this though.

python gen_zone_id_and_info.py returns this.
output csv: C:\SaintCoinach\2<IP_ADDRESS>0.0000\rawexd\ContentFinderCondition.csv
csv lines: 786
Traceback (most recent call last):
  File "gen_zone_id_and_info.py", line 347, in <module>
    territory_info = generate_zone_info(
  File "gen_zone_id_and_info.py", line 277, in generate_zone_info
    output["contentType"] = int(cfc_map_by_lang["en"][cfc_id]["content_type_id"])
ValueError: invalid literal for int() with base 10: ''

I've checked the generated csv file is identical to https://github.com/xivapi/ffxiv-datamining 's one.

@quisquous Just accept this PR please. I think fixing that python error would take time. Of course if there's another problem, please feel free to tell me.
Korean users got 0.22.5 release after releasing my own 0.22.4.kr1 release, so my updates for Korean users got overwritten by the latest official release. (My release checks update from the quisquous version.) I think merging this, in spite of the resource problem, is better.

I am really sorry about not merging this before doing another release.  I did not mean to cause you a hassle.
I am not having any errors when running gen_zone_id_and_info.py.  If you don't mind debugging to figure out what's causing the error, I would appreciate it.  I will run this for you and submit it.

That was only for me.. huh...
maybe me having both python 3.x and 2.7 installed is the problem.


call_with_sigsetjmp should be toggleable via a feature flag

I hadn't mean for call_with_sigsetjmp to be part of the default API for this crate. It just was something that seemed like some users would need and that would be "easy" to add (but maybe not as easy as you might think...)

My use case needs call_with_sigsetjmp. Why is it important to have a feature flag here? I don't mind, but I also don't see the cost of leaving it there by default.

I don't mind leaving it in as part of the default feature set.
I just imagine there may be some niche targets that have setjmp but not sigsetjmp.


Add customizable error color; fix line height in Messages

Adds a customizable color for messages error.
The default color is still red for all themes, I'll work with ux to get a good color for our built in themes.
Also fixed the line height logic.
Fixes #5747

@anthonydresser I'll merge to include in today's testing.


Add close deal command on watchlist

Hi ,
it will be great if you can add close deal function to the watchlist file
so when we want to close a deal we would use
BINANCE
#USDT_ATOM
LONG
CLOSE

I have added support for it to latest code, please test!
It will check in runtime for open deals for the bot(s) when close command is received, and check if there is an active deal for the specific pair, since it can already be closed otherwise. (in that case it does nothing besides displaying a log entry)
This means if you run more than 1 bot with watchlist script all deals for that pair will be closed.
These will work:
BINANCE
#USDT_ATOM
LONG
CLOSE

BINANCE
#USDT_ATOM
CLOSE


'name' parameter is missing from AddressGroup documentation

Hi Team,
When trying to create an address group using the class pandevice.objects.AddressGroup, the class does not have the name parameter:
Documentation:
https://pandevice.readthedocs.io/en/latest/module-objects.html#pandevice.objects.AddressGroup
Code:
https://pandevice.readthedocs.io/en/latest/_modules/pandevice/objects.html#AddressGroup
This means that I cannot create address groups using Pandevice, however I can assign address objects to address groups which are already created.
Is this intentional or is it something which is an oversight?
Thanks,
Daniel

Hi Daniel,
Thanks for bringing this to our attention.  There is actually a name parameter.  The problem is in the documentation which we will need to fix by adding name.
If you try to use the name parameter of an AddressGroup instance, it should work fine even through it doesn't reflect in the documentation.
Here's an example:
>>> from pandevice import objects
>>> addr_obj = objects.AddressObject('my-object', '<IP_ADDRESS>')
>>> addr_grp = objects.AddressGroup('my-group', [addr_obj])
>>> addr_grp.about()
{'static_value': [<AddressObject my-object 0x10daed550>],
 'dynamic_value': None,
 'description': None,
 'tag': None,
 'name': 'my-group'
}

Notice that the name exists on the AddressGroup in the call to .about().
Thanks!
-Brian

Hi Brian,
Thanks heaps for getting back to me, really appreciate it!


CfApiClient errors don't properly display endpoints as strings

This line in CfApiClient.GetRemainingPagesForType attempts to provide details for why the request failed:
throw new Exception($"Response from GET {pageAddress} was {response.StatusCode}");
In this line, pageAddress is a HypertextReference which contains a string property: Href. That string should be displayed in the error message but it's not being interpolated properly.

Confirmed this bug still exists; here's the error that gets displayed when an orgs request fails (manually changed request URI to an invalid endpoint to produce this error):

Fixed by overriding ToString method on CloudFoundryApiClient.Models.HypertextReference.
New error:

(endpoint purposefully misspelled as /organizationz to trigger error)


AttributeError('StringIO' object has no attribute 'classifications')

[ ] I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
I'm using the latest ragas version and have been encountering the AttributeError('StringIO' object has no attribute 'classifications') error message when evaluating metrics.
I'm using chatglm APIs and wonder if there is a compatibility issue.
Ragas version: 0.2.5
Python version: 3.12
Code to Reproduce
from datasets import Dataset
import pandas as pd
from ragas import evaluate, RunConfig

from ragas.llms import LangchainLLMWrapper
from ragas.embeddings import LangchainEmbeddingsWrapper
from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings
from langchain_community.chat_models import ChatZhipuAI
from langchain_community.embeddings import ZhipuAIEmbeddings

from ragas.metrics import (
    Faithfulness,
    ResponseRelevancy,
    LLMContextRecall,
    LLMContextPrecisionWithReference,
)

def read_excel(file_path, sheet_name='Sheet1'):
    data = pd.read_excel(file_path, sheet_name=sheet_name)
    data.fillna('', inplace=True)
    data = [each_row._asdict() for each_row in data.itertuples(index=False)]
    return data

def write_xlsx(file_path, data, sheet_name='Sheet1'):
    data = pd.DataFrame(data)
    data.to_excel(file_path, sheet_name=sheet_name, index=False)

def get_dataset(data):
    questions = []
    answers = []
    contexts = []
    ground_truths = []

    for each in data:
        questions.append(each['query'])
        answers.append(each['answer'])
        contexts.append([each['context']])
        ground_truths.append(each['reference'])

    data = {
        "user_input": questions,
        "response": answers,
        "retrieved_contexts": contexts,
        "reference": ground_truths
    }
    dataset = Dataset.from_dict(data)
    return dataset

def setup_llm_and_embedder():
    llm = LangchainLLMWrapper(ChatZhipuAI(
        base_url="https://open.bigmodel.cn/api/paas/v4/",
        api_key="xxx",  # API Key
        model="glm-4-plus",
        max_tokens= 8000
    ))

    text_embedder = LangchainEmbeddingsWrapper(ZhipuAIEmbeddings(
        api_base="https://open.bigmodel.cn/api/paas/v4/",
        api_key="xxx",  # API Key
        model="embedding-2"

    ))
    return llm, text_embedder

if __name__ == "__main__":
    file = 'xxx'
    save_file = 'xxx'
    data = read_excel(file)
    dataset = get_dataset(data)
    llm, text_embedder = setup_llm_and_embedder()
    run_config = RunConfig(
        max_retries=5,
        max_wait=120,
        timeout=500,
        max_workers=8
    )
    result = evaluate(
        dataset = dataset,
        llm = llm,
        run_config=run_config,
        embeddings = text_embedder,
        metrics=[
            Faithfulness(llm=llm),
            ResponseRelevancy(llm=llm),
            LLMContextRecall(llm=llm),
            LLMContextPrecisionWithReference(llm=llm),
        ],
    )
    df = result.to_pandas()
    write_xlsx(save_file, df)

Error trace
Evaluating:   2%|█▍                                                                                | 14/792 [00:51<33:06,  2.55s/it]Exception raised in Job[10]: AttributeError('StringIO' object has no attribute 'classifications')
Evaluating:   5%|████▏                                                                            | 41/792 [02:50<1:32:51,  7.42s/it]Exception raised in Job[42]: AttributeError('StringIO' object has no attribute 'classifications')
Evaluating:   5%|████▎                                                                            | 42/792 [03:01<1:42:38,  8.21s/it]Exception raised in Job[46]: AttributeError('StringIO' object has no attribute 'classifications')
Evaluating:   7%|█████▋                                                                             | 54/792 [04:01<46:35,  3.79s/it]Exception raised in Job[54]: AttributeError('StringIO' object has no attribute 'classifications')
Evaluating:   7%|██████                                                                             | 58/792 [04:16<43:52,  3.59s/it]Exception raised in Job[50]: AttributeError('StringIO' object has no attribute 'classifications')
Evaluating:   8%|███████                                                                            | 67/792 [04:46<37:19,  3.09s/it]Exception raised in Job[62]: AttributeError('StringIO' object has no attribute 'classifications')
Expected behavior
Additional context
Add any other context about the problem here.

Also having this same problem while evaluating ragas faithfulness through the giskard.rag.evaluate function.

Looks like it occurs because of fix_output_format_prompt object contains StringIO as output_model instead of type defined in pydantic_object field of RagasOutputParser class. I can`t get a logic of FixOutputFormat class for now.

Im also facing the same issue.

I am also facine the same issue while evaluating ragas metrics through the giskard.rag.evaluate function.

I solved the particular problem I had while evaluating via giskard. When saving model results in an AgentAnswer object I was consolidating all of the contexts into a single stringz, whereas they should be saved as a list of strings. Converting to a list of strings solved the problem for me.
Here is a relevant extract from my model class - see comments in all caps
`def wrap_rag_model(
self,
question: str,
history=[]):
"""
The main function for the RAG pipeline.
"""
messages = []
for message in history:
if message["role"] == "user":
messages.append({"inputs":{"chat_input":message['content']}})
elif message["role"] == "assistant":
messages[-1]["outputs"] = {"chat_output":message["content"]}
    # Generate a response using Azure OpenAI
    response = self.call(user_prompt=question, history=messages)

    # Ensure that documents is a list of strings
    documents = self.get_response_context(response) if self.get_response_context(response) else []
    documents = [str(d) for d in documents]
    # Instead of returning a simple string, we return the AgentAnswer object which
    # allows us to specify the retrieved context which is used by RAGAS metrics
    return AgentAnswer(
        message=self.get_response_text(response),
        documents=documents # HERE ENSURE DOCUMENTS IS A LIST OF STRINGS
    )

def scan_rag_model(
    self,
    testset: QATestset,
    knowledgebase: KnowledgeBase,
    ragas_metrics: list
    ):

    self.rag_scan = evaluate(
        self.wrap_rag_model,  #HERE THE FUNCTION MUST RETURN AN AgentAnswer object
        testset=testset,
        knowledge_base=knowledgebase,
        metrics=ragas_metrics,
        agent_description=self.description
        )

    return self.rag_scan`

hey folks - taking a look at this now

I solved the particular problem I had while evaluating via giskard. When saving model results in an AgentAnswer object I was consolidating all of the contexts into a single stringz, whereas they should be saved as a list of strings. Converting to a list of strings solved the problem for me.
Here is a relevant extract from my model class - see comments in all caps
    def wrap_rag_model(
                self,
                question: str,
                history=[]):
            messages = []
            for message in history:
                if message["role"] == "user":
                    messages.append({"inputs":{"chat_input":message['content']}})
                elif message["role"] == "assistant":
                    messages[-1]["outputs"] = {"chat_output":message["content"]}

            # Generate a response using Azure OpenAI
            response = self.call(user_prompt=question, history=messages)

            # Ensure that documents is a list of strings
            documents = self.get_response_context(response) if self.get_response_context(response) else []
            documents = [str(d) for d in documents]
            # Instead of returning a simple string, we return the AgentAnswer object which
            # allows us to specify the retrieved context which is used by RAGAS metrics
            return AgentAnswer(
                message=self.get_response_text(response),
                documents=documents # HERE ENSURE DOCUMENTS IS A LIST OF STRINGS
            )

    def scan_rag_model(
        self,
        testset: QATestset,
        knowledgebase: KnowledgeBase,
        ragas_metrics: list
        ):

        self.rag_scan = evaluate(
            self.wrap_rag_model,  #HERE THE FUNCTION MUST RETURN AN AgentAnswer object
            testset=testset,
            knowledge_base=knowledgebase,
            metrics=ragas_metrics,
            agent_description=self.description
            )

        return self.rag_scan

I tried this in my case and it still did not work (I am using giskard)