Unify gotbot(conversational) model with retrieval(FAQ) and classifier model

I have added the retrieval model and classifier for answering factual questions. Please read this PR: #20 carefully.
To unify all these three models, we can set up a Flask server which serves all the models at three different ports.
Then, one API call which uses three model api endpoints and uses the algorithm mentioned in #20 and answers the user's query.
Finally, the client, like a web application, or a web page simply makes one API call.
Here are all the tasks:

[ ] Set up a simple Flask server which serves three API endpoints: for conversational model, classifier and retrieval model
[ ] Add another, global API call, which answers query
[ ] Make a good chatbot web interface and get chatbot reply from the previous API function

@salman-bhai @SagarB-97 @arvindsaik @raoshashank @hehaichi @viggi-v @aditya5558 guys please go through this and #20


removes debugging  from Feedback component, d'oh

What it says on the tin. This snuck in with my merge yesterday; this PR fixes it. Ahem.

I'm closing bc I removed in a PR just now.


More configurable text size.

Previously the text size was pretty perfect.
Currently (April 5th patch), if you don't have "Runelite -> Use smaller font for overlays" enabled, the ground item text and item tooltip boxes/text is extremely large. This can be fixed by enabling that option. However, this doesn't get things back to "normal."
Currently, if you have that option enabled, it shrinks the text of pretty much every other overlay.
(It seemingly does not change inventory overlays. Please, let those stay the same size!)
It would be nice to have an option with all the overlays how they were, (Smaller text on ground items/tooltips, larger text elsewhere) or an option to configure text size for specific overlays.
/end nitpick

Although full UI consistency was one of deathbeam's goals when he implemented this setting, I agree that more granular settings wouldn't hurt at all. Especially since the game itself uses such a diverse range of font sizes.

Letting it be customised per-overlay would be overkill, I agree. I think this request is for ground items and tooltips though?
I can see an argument for both, since they're both unique compared to any other Runelite overlays:

Ground items because the lines of text indicating drop stacks can be an especially tall and messy overlay
Tooltips because they follow the cursor around and become more obscuring at larger text sizes

Solution to this is obviously DPI scaling. And for differentiating between sizes of ground items, tooltips etc solution is add option for dynamic and non-dynamic overlays I guess. Or maybe just change the font size only for dynamic ones and leave our ones same as xp tracker.


Refactor libcnb-cargo

I would've loved to split this PR up a little more. However, one of the main objectives of this PR was to remove
complexity (in the original sense of the word: consisting of many interconnecting parts or elements) that was quite
the challenge. I managed to break out some PRs regardless: #659, #658, #656, #654, #652 (all merged).
To ease review, I'd suggest taking a look at the new files in libcnb-package first. They are self-contained and can
be reviewed individually. Then, review libcnb-cargo/src/package/command.rs top to bottom. The diff for that file
isn't very helpful. As the last step, go over the diff of the PR for the filler code.
High Level Overview of Changes
Errors
Split errors into dedicated types where it made sense. Most functions in libcnb-package now have their own error type that implements Display, Debug and Error. Splitting them allows us to build an error hierarchy when needed. For example, packaging a directory as a buildpack can either fail with an error specific to meta-buildpack packaging or
and error when packaging a libcnb.rs buildpack.
This slimmed down the main Error type for libcnb-cargo's package command. Combined with the previous PR that aimed to simplify errors in libncb-cargo (#652), error.rs went from ~250 lines to just 28.
Since Display, Debug and Error moved to the error types, we can re-use these representations outside of
libcnb-cargo. For example, support for testing meta-buildpacks to libcnb-test can re-use the error types and string
representations - less effort implementation wise and error messages are consistent.
If we ever want to add more elaborate error messages to libcnb-cargo, for example adding hints about CLI flags that
are out of scope for the generic string representation, we can still match against the concrete error value we're
interested in and print a different message.
Moving build and packaging logic to libcnb-package
Similarly to #633, this PR moves all packaging and build logic to libcnb-package so that it can be re-used outside
of libcnb-cargo. Functions have been refactored to be less intertwined with others and make fewer assumptions. One
big change is the explicit mapping from buildpack IDs to packaged paths. Earlier, libcnb: URIs where replaced by
"guessing" where the built output should be located. Functions that deal with libcnb: URIs not take an explicit
mapping.
Dependency Graph as Single Source of Truth
The dependency graph of CNBs was previously only used to determine the build order. With this PR, it becomes the single source of truth. As before, at the start of the program, the graph is being built. Afterwards, we query the graph when we need information about the buildpacks in the cargo workspace.
For example, to determine if we only need want to build the buildpack in $CWD, we simply query the graph for a node
that represents a buildpack located at $CWD - no additional validation of the contents of $CWD required.
The dependency graph also now only contains nodes and edges that are relevant to the program. CNBs in the workspace that do not need to (or cannot) be packaged with libcnb-cargo are omitted. Also, dependencies that are not libcnb.rs CNBs in source form are not represented in the graph anymore. This simplifies the code that comes after the  building of the dependency graph since no filtering is required after that point.
A module to build this dependency graph has been added to libcnb-package so it can be re-used.
Support for non-libcnb.rs CNBs
Previously, libcnb-cargo had some special cases to support non-libcnb.rs buildpacks. I removed those since they're no longer necessary. libcnb-cargo will now simply leave non-libcnb.rs CNBs untouched but keep references (in
package.toml files) to them. This  allows meta-buildpacks with non-libcnb.rs CNBs to continue working as expected
without any special logic inlibcnb-cargo.
The only change for end-users is that those buildpacks will no longer be printed as "being built" by libcnb-cargo.
Removal of BuildpackData<_> and PackageDescriptorData<_>
These wrapper types were basically just PathBuf + BuildpackDescriptor and PackageDescriptor respectively. In many cases the path wasn't used. Functions now only take BuildpackDescriptor and PackageDescriptor and a path if needed. This allows us to remove these wrappers that had their own machinery to read them from disk. Since we already have a generic way of reading TOML files (read_toml_file/write_toml_file) we can now use those instead.
Apart from removing code, the cognitive burden is lessened. I found it hard to wrap my head around these wrappers
since they are special constructs that are only used in the libcnb-cargo context.

I'm not sure what to do with the CHANGELOG here, especially when we talk about libcnb-package. It would essentially read: "everything changed, take a look". Ideally, libcnb-package wouldn't be public, but it is. :/

I'm not sure what to do with the CHANGELOG here, especially when we talk about libcnb-package. It would essentially read: "everything changed, take a look". Ideally, libcnb-package wouldn't be public, but it is. :/

One option would be for us to update libcnb-package's readme to say something like "this is an internal libcnb implementation detail, API stability guarantees do not apply" - then we can just skip describing changes in the changelog, and only discuss them in terms of whether end-user behaviour of libcnb-{cargo,test} changes?
We could also add something similar to the readme of libcnb-common, and have anything in there that we think end-users will use be re-exported via libcnb instead.


Globalize text in Info.plist

Text in Info.plist (e.g. permission explanations) are not currently globalized, but they should be

[ ] Audit Info.plist and list out all localizable text
[ ] Figure out how to globalize these values
[ ] Do it!

Here's an example:

@jtklein have you already started working on this and if not do you mind if I take it? I'm realizing it's a prerequisite for #2099

I have not started yet, but I did the same thing for Seek two years ago, so let me know if you need any pointers or PR reviews.
The PR that introduced it in Seek is this https://github.com/inaturalist/SeekReactNative/pull/530/files but I did the actual work in XCode manually, so the code changes don't tell much. Another commit added i18n for the home screen shortcut item here: https://github.com/inaturalist/SeekReactNative/pull/537/commits/bfbfe641881865643c810c7b8516a16b26ced721
Usually crowdIn requires some deviations from their locale abbreviations for some languages, but I just checked and the %osx_code% that we are using for the info.plist translations does not have any Manual Mappings in the Seek project settings screen, so maybe none required for this part.


Question: can long header packets be routed over a separate Conn?

There's been some recent research (QUICstep) into leveraging QUIC's connection migration to evade a network censor. The implementation provided for the paper is neat in its simplicity, but it presumes the availability of a Wireguard tunnel, which may not be realistic in heavily censored environments.
While quic-go doesn't support connection migration, my understanding is that this is more of a concern for the server, not the client. (Perhaps I am wrong?) If this is the case, then it would be cool if quic-go provided a viable interface for this kind of behavior. And I don't mean, "provide a narrow implementation of QUICstep" so much as "make it possible for downstream projects to do this kind of thing."
For example, if setupTransport() were exported, then users could implement their own version of DialAddr() to pass an arbitrary net.PacketConn to SetupTransport().
This would allow users to do something like this:
type ProxyClient struct {
        net.UDPConn
}

func (pc *ProxyClient) WriteTo(p []byte, addr net.Addr) (int, error) {
        hdr, _, _, err := wire.ParsePacket(p) // hdr, data, rest, err
        if err != nil { // Short header
                return pc.UDPConn.WriteTo(p, addr)
        } else { // Long header
                // Send long header over some slower, but censorship-resistant channel
                return len(p), nil
        }
        return pc.UDPConn.WriteTo(p, addr)
}

func (pc *ProxyClient) WriteMsgUDP(b, oob []byte, addr *net.UDPAddr) (int, int, error) {
    // (Similar)
}

What I'm less confident about is how to properly hook into quic-go's packet read flow. The above actually breaks down for ReadFrom() and ReadMsgUDP(), I believe due to wrapConn() unpacking the underlying rawConn via rawConn, err := conn.SyscallConn(). I'm not sure if there's an easy way to work around that.
Any feedback on how best to approach this (even if a fork is required) would be appreciated!

Ah, my mistake - the read behavior I'm seeing is specifically:

transport.init() calls wrapConn(), which wraps our net.PacketConn inside an *oobConn, let's say c, which implements rawConn.ReadPacket()
transport.listen() then reads by calling c.ReadPacket()
c.ReadPacket() calls c.batchConn.ReadBatch(...) instead of c.OOBCapablePacketConn.Read[From|MsgUDP]()

I was assuming (from comments in the code) that ReadMsgUDP would be called. Perhaps there's a less obvious code-path (e.g an implementation of net.RawConn.Read()) where this would eventually be the case, but I otherwise don't see a straightforward way to hook into the read flow at present.

From a quick glance through the paper, I wish I had the authors' optimism that a censor wouldn't block migrated connections (i.e. connections for which it hasn't seen the handshake) once this solution becomes widely enough deployed.
That said, I believe the connection migration API suggested in #3990 would enable the implementation of QUICStep, if ProbePath is called right after completion of the handshake.


Audio is repeating

Hi,
thank you for this great library.
I am trying to play VOD .flv file which contains only audio. You can see my code below.
`var option: PLPlayerOption = PLPlayerOption.default()
// default option settings
option.setOptionValue(15, forKey: PLPlayerOptionKeyTimeoutIntervalForMediaPackets)
option.setOptionValue(2000, forKey: PLPlayerOptionKeyMaxL1BufferDuration)
option.setOptionValue(1000, forKey: PLPlayerOptionKeyMaxL2BufferDuration)
option.setOptionValue(false, forKey: PLPlayerOptionKeyVideoToolbox)
option.setOptionValue(kPLLogInfo, forKey: PLPlayerOptionKeyLogLevel)
    let url = URL(string: "rtmp://example URL.flv")
    var player: PLPlayer = PLPlayer(url: url, option: option)
    player.delegate = self
    player.play()`

The problem is that audio is playing in loop continuously. How can i fix this?

Would you please provide links. about this error？


MeetingComposite: Use a SplitButton with device selection dropdown

What

Add a new prop to MicrophoneButton. When set, use a SplitButton with a context menu for audio device selection.

Share code with DevicesButton for implementation

Update selector for MicrophoneButton to return audio device information
Update MicrophoneButton story to showcase the new fields.
Use the new-style MicrophoneButton in MeetingComposite.

Why
MeetingComposite introduces a new way of selecting devices, but CallComposite will continue to use a separate DevicesButton. This API extension to MicrophoneButton allows either button to be used for device controls.
How Tested

Storybook
Meeting sample

(Please don't mind the fat buttons. Those will look better once #1388 lands and this is rebased)
Stable build
All new API is introduced conditionally. Stable API is unchanged.

whelp. Need to register an icon in the e2e tests. This looks good in samples, but not e2e tests.

Will let this PR in without the fix showing icons in e2e snapshots. We have a bug for that: https://skype.visualstudio.com/SPOOL/_workitems/edit/2707880
Fix is to initializeIcons in our e2e apps.


IA update - creates Asset Hub page for Protocol section

This PR does the following:

creates Asset Hub page for polkadot-protocol/architecture/system-chains/asset-hub.md
uses information from: #21 and #59 plus online resources

@CrackTheCode016 see what you think of the small tweaks, then it should be ready for Erin. Thanks!


error

[+] How Many Accounts You Want:  1
Traceback (most recent call last):
File "/root/FbCreator/FbCreator.py", line 90, in
register_facebook_account(email, password, first_name, last_name, birthday)
File "/root/FbCreator/FbCreator.py", line 66, in register_facebook_account
id=reg['new_user_id']
KeyError: 'new_user_id'

I think temp mail api key is updated that why this problem come

can you update it?

Ok


Slow implementation of git_status_summary in base.theme.bash

Why are we using awk implementation of git_status_summary instead of grep implementation?
grep implementation should be significantly faster than than awk (I've tested it on Ubuntu).
Is there any compatibility/performance issue with grep across different operating systems?

Hi @MunifTanjim How are you implementing it?
I would like to test your implementation since in git-bash windows is too slow.
If you can give me the code to review it would be great. :smiley:

Create a file with the following content and source it:
#!/usr/bin/env bash

function _bi_git_status_summary {
  awk '
  BEGIN {
    untracked=0;
    unstaged=0;
    staged=0;
  }
  {
    if (!after_first && $0 ~ /^##.+/) {
      print $0
      seen_header = 1
    } else if ($0 ~ /^\?\? .+/) {
      untracked += 1
    } else {
      if ($0 ~ /^.[^ ] .+/) {
        unstaged += 1
      }
      if ($0 ~ /^[^ ]. .+/) {
        staged += 1
      }
    }
    after_first = 1
  }
  END {
    if (!seen_header) {
      print
    }
    print untracked "\t" unstaged "\t" staged
  }'
}

function _bi_git_status_awk {
  local details=""
  local status_lines=$(git status --porcelain 2>/dev/null | _bi_git_status_summary)
  local status=$(awk 'NR==1' <<< "$status_lines")
  local counts=$(awk 'NR==2' <<< "$status_lines")
  IFS=$'\t' read untracked_count unstaged_count staged_count <<< "$counts"
  [[ "${staged_count}" -gt 0 ]] && details+=" S:${staged_count}"
  [[ "${unstaged_count}" -gt 0 ]] && details+=" U:${unstaged_count}"
  [[ "${untracked_count}" -gt 0 ]] && details+=" ?:${untracked_count}"
  echo $details
}

function _bi_git_status_grep {
  local details=""
  local status_lines="$(LC_ALL=C \git status --porcelain 2>/dev/null)"
  local staged="$(echo "${status_lines}" | \grep '^[^? ]. .*' | wc -l)"
  local unstaged="$(echo "${status_lines}" | \grep '^.[^? ] .*' | wc -l)"
  local untracked="$(echo "${status_lines}" | \grep '^?? .*' | wc -l)"
  [[ "$staged" -gt 0 ]] && details+=" S:$staged"
  [[ "$unstaged" -gt 0 ]] && details+=" U:$unstaged"
  [[ "$untracked" -gt 0 ]] && details+=" ?:$untracked"
  echo $details
}

That is the stripped down version of awk and grep implementation for testing purpose.
Now run this command while in a git directory for testing the performance of them:
first AWK then GREP
time for i in {1..1000}; do _bi_git_status_awk >/dev/null; done && time for i in {1..1000}; do _bi_git_status_grep >/dev/null; done
My output: (git status is U:3 ?:1)
real	0m22.473s
user	0m3.112s
sys	0m2.220s

real	0m18.524s
user	0m0.588s
sys	0m0.836s

first GREP then AWK*
time for i in {1..1000}; do _bi_git_status_grep >/dev/null; done && time for i in {1..1000}; do _bi_git_status_awk >/dev/null; done
My output: (git status is U:3 ?:1)
real	0m18.491s
user	0m0.484s
sys	0m0.996s

real	0m22.551s
user	0m3.036s
sys	0m2.284s

As you can see, the grep implementation is 4 seconds faster for 1000 runs. Not a huge difference, I know, but it is faster. :joy:

jejejeje ok thx.

This issue is very stale, so I close it. Thanks for contributing and posting!


Show a wizard when installing apps

This should allow users to pick between 'On My X' and 'Current Directory'.

Most of this work has been done, but the wizard is definitely looking a little janky right now. We need to make sure this feels like a polished experience.

[ ] Remove the installer from DirectoryViewController; all requests should go through the app delegate or a lifecycle manager of some sort

Going to call this done. There's some potential for layout improvements on the summary page, but it feels pretty robust and clean right now.


1.4.x admission docs

Backport: https://github.com/mendersoftware/mender-docs/pull/382
@mendersoftware/rndity @maciejmrowiec

This is already merged in master and looks like a clean cherry-pick.  From my perspective this can go in now.  @maciejmrowiec any concerns?

go ahead, I already started sharing this one with users ;)


Make stable cascade the default

vanilla Stable diffusion 1.5 is way too old and someone would get the wrong idea of the capabilities of the website if it's the first they use. Suggested you switch to using Stable Cascade as the default, or alternatively a generalist SDXL model you might prefer, like Albedo

Stable Cascade always generates white blank images for me. And the few times it didn't it triggered the CSAM filter. But Albedo sounds reasonable.

Done.

Stable Cascade always generates white blank images for me. And the few times it didn't it triggered the CSAM filter. But Albedo sounds reasonable.

That's very strange. Did you make sure you generated using 1024x1024? It (and SDXL models) don't work well in 512x512


Add ability to disable colored logs; rename logging-related env vars

Related documentation update - https://github.com/electric-sql/electric/pull/2067.

Hei, please modify the SST config to use this option

Hei, please modify the SST config to use this option

Electric's config is not used when it is started in multi-tenancy mode. So no changes are needed to cloud's SST config. Unless you were referring to the two sst.config.ts files we have in two example apps in this repo?


Does not introduce newlines between top-level forms

$ ~/Downloads/zprintm-0.4.11 <<< $'(ns foo)(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)(defn bar [] [1 2])(defn baz [])

Expected output
(ns foo)

(defn bar [] [1 2])

(defn baz [])

Is this the expected behavior, i.e. does zprint touch the arrangement of top-level forms?

Hello!
You can get what I think you want, but for some reason I'm feeling pedantic today, so I'm going to have to build up to it slowly...
The zprint-filter (which what the graalvm binaries are created from) uses zprint-file-str.  The docstring starts out:

Take a string, which typically holds the contents of an entire
file, but doesn't have to, and format the entire string, outputing
a formatted string.  It respects white space at the top level,
while completely ignoring it within all top level forms (typically
defs and function definitions).  It allows comments at the top
level, as well as in function definitions, and also supports
;!zprint directives at the top level. ...

You can see the whole thing here, not that there is any reason to do that other than to appreciate cljdoc:
https://cljdoc.org/d/zprint/zprint/0.4.11/api/zprint.core#zprint-file-str
So, yes, zprint-file-str respects white space at the top level, while largely ignoring it inside of the functions themselves.  I didn't imagine that I could figure out the "best" way to format top level stuff.  That said, you can get what you appear to want.  Let me work through some examples.
First, if you put newlines in there, zprint-file-str will respect them:
$ zprintm-0.4.11 <<< $'(ns foo)\n\n\n(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)

(defn bar [] [1 2])(defn baz [])
$

If you don't have them, it won't put them in there (your original example):
$ zprintm-0.4.11 <<< $'(ns foo)(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)(defn bar [] [1 2])(defn baz [])
$

If you want a constant newline between top level forms, you can get it:
$ zprintm-0.4.11 '{:parse {:interpose "\n"}}'  <<< $'(ns foo)(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)
(defn bar [] [1 2])
(defn baz [])r$

Or you can have two newlines between top level forms, which seems to be what you were looking
$ zprintm-0.4.11 '{:parse {:interpose "\n\n"}}'  <<< $'(ns foo)(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)

(defn bar [] [1 2])

(defn baz [])$

Note, though, that the {:parse {:interpose ...}} construct will ignore any existing spacing between
top level forms:
$ zprintm-0.4.11 '{:parse {:interpose "\n"}}' <<< $'(ns foo)\n\n\n(defn bar [ ] [1\n2])(defn baz [])'
(ns foo)
(defn bar [] [1 2])
(defn baz [])$

That's what it does today.  This is all currently supported, see here: https://github.com/kkinnear/zprint#parse-string-all
though you wouldn't know that zprint-file-str used the :parse-string-all? support. So I should document that.  There is also {:left-space :drop} and {:left-space :keep} that I apparently haven't documented, and should.  If that sounds interesting, let me know, and I'll give you some examples.
Hopefully this will give you what you are looking for.

Great, I've added this to my unofficial zprint fanboy tutorial https://gist.github.com/pesterhazy/aac9638f1d22a3bc3339f95d1c607aed#top-level-newline-characters


Dockerfile.ubi: bump flashinfer

Requires #122

Waiting on a vllm-tgis-adapter release https://github.com/opendatahub-io/vllm-tgis-adapter/pull/82

Waiting on https://github.com/opendatahub-io/vllm/pull/126

Moved to #127


Added flake8

Tackles issue https://github.com/MrPowers/quinn/issues/58.

Thanks for adding this.  Pinged Robert to review since he knows more about this than I do.  Really appreciate this.  Will make sure it gets reviewed & merged.

@MrPowers LGTM!

Thanks for the contribution @squerez

@squerez @robertkossendey - actually, this build failed.  Can you take a look?

@MrPowers ah, it is because the code is not flake8 compliant yet. We should change the code accordingly. I would also suggest to add pre-commit hooks that run flake8 on commit.

@ajitkshirsagar - yea, that sounds good.  Can you make a new issue?  I will assign it to you!

@MrPowers I have created this issue, please assign it to me.


Null value shadowing in partials

I was using a partial recursively (tree structure ftw), and was disappointed to find out null values wouldn't shadow correctly.
Example:
Data:
{
name: "Example Main",
parts: [{name: "First part", otherdata: "importantPart"}, {name: "Second part", otherdata: null}]
}
Template:

{{name}}

{{#parts}}{{> partRendering}}{{/parts}}

Partial partRendering:

{{name}}

{{otherdata}}

This renders with second li having Example Main in the paragraph. I would prefer an empty paragraph tag, and I think that's generally what people would anticipate.
Simple fix:
@@ -212,7 +212,7 @@
   // Checks whether a value is thruthy or false or 0
   function is_kinda_truthy(bool) {

   return bool === false || bool === 0 || bool;

   return bool === false || bool === 0 || bool === null || bool;
 }

 var value;

Thanks for the fantastic tool! :)

I am a little confused. The minimal test case seems to work as @JoshuaHickman described even without the modified is_kinda_truthy function. With the following function call:
Mustache.to_html(
	'

{{name}}

{{#parts}}{{> partRendering}}{{/parts}}

',
	{
		name: "Example Main",
		parts: [{name: "First part", otherdata: "importantPart"}, {name: "Second part", otherdata: null}]
	},
	{
		partRendering: '

{{name}}

{{otherdata}}

'
	}
)

I get the following result:

Example Main

First part

importantPart

Second part

Which is what was desired. Have I interpreted the issue incorrectly?

This should be fixed in master (version 0.5.0-dev). A null or undefined value will simply emit an empty string in the output.


Getting document info may crash in rare cases

Stack trace:
java.lang.NullPointerException: Attempt to invoke interface method 'void android.database.Cursor.close()' on a null object reference
        at com.commonsware.cwac.document.DocumentsContractApi1.queryForString(DocumentsContractApi1.java:58)
        at com.commonsware.cwac.document.DocumentsContractApi1.getName(DocumentsContractApi1.java:31)
        at com.commonsware.cwac.document.SingleLegacyDocumentFile.getName(SingleLegacyDocumentFile.java:55)

Steps to reproduce:

Fire intent with ACTION_GET_CONTENT (example here) on emulator with API 21
Choose any file from Gallery or Music app

In this case resolver.query() throws SecurityException if an app doesn't have READ_EXTERNAL_STORAGE permission (mentioned in comments to this question), so the cursor is null.
I suppose a simple null-check in finally would be enough to fix it.
Thanks for a nice library! :)

Good point! I'll look to add null checks to those finally clauses. I'll try to work on it this weekend. Thanks!

OK, while this fix is not that bad to implement, this whole library needs a rewrite. It's still using the Support Library, for example. I'll work on that in the coming months.

Since I needed to make another change (finally moving to AndroidX!), I elected to tuck this fix in there. v0.5.0 should address this problem. Thanks for pointing it out!


HHH-3356 Support for normal and lateral subquery in from clause

https://hibernate.atlassian.net/browse/HHH-3356
This adds support for sub queries in the from clause as roots and joins. Sub queries can have an optional lateral marker, which allows sub queries to refer to previous from clause nodes. Also see the SQL standard definition of LATERAL or the nice documentation text from PostgreSQL for more details: https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-LATERAL
The design follows what was discussed here which is, that tuple types and their model parts are determined based on the select items of a sub query. It is not necessary to define an explicit (managed) type in order to use this feature.
There are a few things missing which are mostly of "mechanical" nature, i.e. someone needs to do it, but there shouldn't be any technical challenge. These will be added to the next bug fix version of 6.1, given that this PR makes it into 6.1. This was done deliberately to be able for this feature to make it into 6.1.
The currently missing parts are:

DomainResult support for anonymous tuples i.e. select d from (select ...) d is not supported
Correlation support i.e. select ... from (select ...) d where (select ... where d.field = 1) is not supported
Support for selecting entity valued paths, where the entity type has an id class or embedded id. See SubQueryInFromEmbeddedIdTests and SubQueryInFromIdClassTests

This looks rather good, assuming I'm understanding everything. A couple of comments:

Is there truly an advantage to requiring this explicit lateral? Could it be implicit? Is the reason for making it explicit that it's something that's only supported on one platform?
There's lots of tests for lateral, but not so many for plain vanilla from-clause subselects. I would like to see more of the "basic" case, so I can get a better feel for it.

Is there truly an advantage to requiring this explicit lateral? Could it be implicit? Is the reason for making it explicit that it's something that's only supported on one platform?

lateral, or cross apply how SQL server and some other DB vendors are calling this, essentially forces the database to process table scans/joins in a certain order and forces a nested loop join. So this is not something that we can or should do by default. If by implicit, you mean that if we can infer whether lateral is "required", then yes, that would be possible, though I'd say there are valid reasons for wanting to use lateral even if it isn't required.
Either lateral or cross apply are supported on the major DBMS (MySQL 8, PostgreSQL, Oracle, SQL Server, DB2, HSQL, HANA). We have an emulation for it for others DBs, but as you can imagine, it's not pretty and also limited to certain sub query shapes.
Either way, I'd rather not make this the default if that's what you mean by "implicit".

There's lots of tests for lateral, but not so many for plain vanilla from-clause subselects. I would like to see more of the "basic" case, so I can get a better feel for it.

I'll add a few more tests if that makes you feel better ;)

forces the database to process table scans/joins in a certain order and forces a nested loop join. So this is not something that we can or should do by default.

Well yeah but I'm not suggesting to generate the lateral keyword by default. I'm suggesting to automatically detect when it's required. Which seems straightforward?

Well yeah but I'm not suggesting to generate the lateral keyword by default. I'm suggesting to automatically detect when it's required. Which seems straightforward?

Right, we can determine this, but I wouldn't say it is "straightforward". The problem here is that JPA Criteria seems to allow accessing paths from the outer query regardless if the path base is correlated, so the check is not as simple as determining whether the set of correlated nodes is non-empty. We'd have to traverse the whole query tree to be sure. Maybe we could do that somehow during SQM->SQL AST translation, but it's not like I can just grab a flag from somewhere and do something like isLateral() || isCorrelated(). I can add this improvement to the list of things to do for 6.1.1 though.


Not able to import BulkCheckPermission

What platforms are affected?
macos
What architectures are affected?
others
What SpiceDB version are you using?
0.12.0
Steps to Reproduce
while importing the following module I'm not able to import those. as they are not defined in init in authzed/api/v1/init.py.
from authzed.api.v1 import (
    BulkCheckPermissionRequest,
    BulkCheckPermissionResponse,
    BulkCheckPermissionRequestItem,
)

even though I define it gives the below error. Please resolve this error.
  File "spicedb_apis.py", line 193, in bulk_permission_check
    resp = client.BulkCheckPermission(BulkCheckPermissionRequest(items=permisions_array))
AttributeError: 'Client' object has no attribute 'BulkCheckPermission'

Expected Result
I can use the following code properly
resp = client.BulkCheckPermission(BulkCheckPermissionRequest(items=permisions_array))
Actual Result
getting below error
Traceback (most recent call last):
  File "spicedb_apis.py", line 1, in <module>
    from authzed.api.v1 import (
ImportError: cannot import name 'BulkCheckPermissionRequest' from 'authzed.api.v1' (/Users/satishnaidu/Documents/GitHub/spiceDb/env/lib/python3.7/site-packages/authzed/api/v1/__init__.py)

@satishTeachmint 👋🏻 which versions of SpiceDB and authzed-py are you using? The report indicates SpiceDB 0.12.0, which I assume is not right and you are referring to authzed-py.
We have some example tests in the authzed-py repo, does that help?


multiple select: catch and override enter keyup event

Hi, everyone.
In select2 multiple, the enter keyup triggers the dropdown selection, which I don't need. I want to catch the enter keyup event and submit the value when user press enter. I tried this:
$('select2-search-field > input.select2-input').on('keyup', function(e) {
   if(e.keyCode === 13)
      // do something
});

but not working. How can I archive it ?
Thank you.

This appears to be a support question, rather than a feature request or bug report.  So, I am closing it.
If you have discovered an underlying bug causing this problem, please search the open issues and comment there (or if an issue specifically about the underlying bug is not already open, you may open a new one - just make sure it identifies the underlying bug).
If, on the other hand, this is simply a matter of using Select2's features properly, it should be discussed on the forums instead.


Clean bgit

read without -r will mangle backslashes.
Use "$@" (with quotes) to prevent whitespace problems.
Quote the grep pattern so the shell won't interpret it.
Consider using grep -c instead of grep|wc -l.
Double quote array expansions to avoid re-splitting elements.

This change is

@RoboErikG Any updates on this?


[Event] Unauthorized user is redirected to create event page by clicking on URL.

Environment: macOS Monterey 12.4
Safari 15.5
Reproducible: always.
Build found: 22.07.22
Preconditions
The user is not logged in as a registered user
Steps to reproduce

Go to https://www.testgreencity.ga/GreenCityClient/#/events/create-event

Actual result
Edit\Create page is open
Expected result
"You need to be authorized to edit an event" error message is displayed.
User story and test case links
E.g.: "User story #3195, #3193
Test case1
Test case2"
Labels to be added
"Bug", Priority ("pri: medium "), Severity ("severity: major"), Type ("Functional").

Edit\Create page is still opened for not logged in user. MacOs 10.10.5 Chrome Version 87.0.4280.141

@YelyzavetaSheptytska task required to display an error-message, it not required to close the page and navigate somewhere else


Add day one progress

What was changed

Why?

Checklist

Closes

How was this tested:

Any docs updates needed?

 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.Jeeth Suresh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add examples of using t() in css, and styled components

In this PR, I have added examples demonstrating how to use t() in css, and styled components. This is implemented in the recent PR #327

t api also supports breakpoints, do we need to mention it in this section?
https://www.kuma-ui.com/docs/Theme/Breakpoints#using-breakpoints-with-the-styled-and-css-apis

t api also supports breakpoints, do we need to mention it in this section?

I wasn't aware of that. Just to double-check, is this the correct way to use it? @kotarella1110
const responsiveStyles = css`
  color: red;
  @media (max-width: t(breakpoints.sm)) {
    color: blue;
  }
`;

@poteboy correct!
https://github.com/Travelated/kuma-ui/blob/140907a92c4554dc7a48830959a89ac171d7cd13/packages/babel-plugin/src/__test__/styled.test.ts#L78

@kotarella1110
Fixed. https://github.com/kuma-ui/kuma-ui/pull/336/commits/84ce40624cabcfd1bc5893ae405923269b54a8a8


New, "native" Jupyter Notebook editor in VSCode makes cornflakes think each cell is a file.

Starting with VSCode 1.59, I appear to have been "forced" into using the new, native Jupyter Notebook editor (and interactive Python window).
The new editor seems to make your extension think each cell is a file:

I expected that, with # flake8: noqa at the top, no linting should occur in the whole notebook.
The behavior in the previous editor (from the Jupyter extension, if I understand correctly) was correct: a single # flake8: noqa caused the whole file to be ignored.

Bumping this, especially since it makes using nbdev frustrating.  I realize this is a tiny package that likely wasn't planned to be maintained, but VSCode still doesn't support lintOnType for python with any other extension.
If it isn't a terribly hard fix, I think a lot of us would be appreciative.


🚀 Feature: add a chat room in the mysquad page

🔖 Feature description
we should have a chat room for every team
🎤 Why is this feature needed ?
because we cant see that when our teammate seen the msg or send the msg
✌ How do you aim to achieve this?
make a chat room with yoour suitable language you like
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

i want to add this feature, but where to attach the code .


feat: added optional in_amundsen bool to lineage items

Allow metadata to return an in_amundsen field for each lineage item so that table links can be disabled if a table that showed up in lineage data doesn't currently exist in Amundsen (ex: temporary tables)

How's the LineageItem meant to be used with TableLineage object in the data builder?


RListMultimapCache removeAll method throw java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to java.util.List

RListMultimapCache<String, RuleHit> test = redissonClient.getListMultimapCache("test");
test.put("key1",new RuleHit("value1","title1","info1"));
test.put("key1",new RuleHit("value2","title2","info2"));

System.out.println(test.getAll("key1").size());

test.removeAll("key1");

Fixed! Thanks for report!


WIP: Add dns01 conformance testing tool

Bad code at the moment, I'd like to use testing instead of random printf statements.
Add tool for testing behavior of DNS-01 providers

cc @munnerz


Left prompt customization

Modify prompt to make use of plugins
Be able to configure plugins for rprompt as well as prompt.
Evaluate which customization can be added

One option to add would be to be able to configure pwd as one of the following:

Only last dir name:  /path/to/geometry -> geometry >
Folded path: /path/to/geometry/ -> /p/t/geometry >
Full path (default)

First thing to do would be to move prompt as a plugin.
Making prompt a plugin I think it's a good move as it'll give users a chance to change it or even completely change it. Adding more built-in configurations is something I'd like to avoid.
@frmendes Thoughts?


AWS STS errors

The AWS setup is a complete issue.
Expected behavior
Once the login is established and successful, the interaction with AWS API must be transparent for the developer.
The user does not have temporary session, is a IAM user with access keys.
Current behavior

pulumi login s3://operations-tests-3
Logged in to Gustavos-MacBook-Pro.Home as gustavogama (s3://operations-tests-3)
pulumi up
Previewing update (dev-core-infra):
Type                 Name                       Plan     Info
pulumi:pulumi:Stack  core-infra-dev-core-infra           2 errors; 10 messages

Diagnostics:
pulumi:pulumi:Stack (core-infra-dev-core-infra):
Error: invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:
* error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired
: Error: invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:
* error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired
at Object.callback (/snapshot/awsx/node_modules/@pulumi/pulumi/runtime/invoke.js:148:33)
at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client.ts:338:26)
at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client-interceptors.ts:426:34)
at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client-interceptors.ts:389:48)
at /snapshot/awsx/node_modules/@grpc/grpc-js/src/call-stream.ts:276:24
at processTicksAndRejections (node:internal/process/task_queues:78:11)
error: Error: invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:
    * error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired

    at Object.callback (/snapshot/awsx/node_modules/@pulumi/pulumi/runtime/invoke.js:148:33)
    at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client.ts:338:26)
    at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client-interceptors.ts:426:34)
    at Object.onReceiveStatus (/snapshot/awsx/node_modules/@grpc/grpc-js/src/client-interceptors.ts:389:48)
    at /snapshot/awsx/node_modules/@grpc/grpc-js/src/call-stream.ts:276:24
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
error: Program failed with an unhandled exception:
Traceback (most recent call last):
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 916, in do_rpc_call
    return monitor.RegisterResource(req)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/grpc/_channel.py", line 946, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.UNKNOWN
    details = "invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:
    * error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired

"
    debug_error_string = "UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:62676 {grpc_message:"invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:\n\t* error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired\n\n", grpc_status:2, created_time:"2023-06-11T15:42:58.999224+01:00"}"
>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pulumi-language-python-exec", line 197, in <module>
    loop.run_until_complete(coro)
  File "/Users/gustavogama/.pyenv/versions/3.9.4/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/stack.py", line 136, in run_in_stack
    await run_pulumi_func(lambda: Stack(func))
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/stack.py", line 51, in run_pulumi_func
    await wait_for_rpcs()
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/stack.py", line 120, in wait_for_rpcs
    raise exception
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 1001, in do_register_resource_outputs
    serialized_props = await rpc.serialize_properties(outputs or {}, {})
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/rpc.py", line 208, in serialize_properties
    result = await serialize_property(
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/rpc.py", line 284, in serialize_property
    "urn": await serialize_property(
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/rpc.py", line 376, in serialize_property
    is_known = await output._is_known
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/rpc_manager.py", line 71, in rpc_wrapper
    result = await rpc
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/output.py", line 103, in is_value_known
    return await is_known and not contains_unknowns(await future)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/output.py", line 103, in is_value_known
    return await is_known and not contains_unknowns(await future)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/output.py", line 103, in is_value_known
    return await is_known and not contains_unknowns(await future)
  [Previous line repeated 29 more times]
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 921, in do_register
    resp = await asyncio.get_event_loop().run_in_executor(None, do_rpc_call)
  File "/Users/gustavogama/.pyenv/versions/3.9.4/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/resource.py", line 918, in do_rpc_call
    handle_grpc_error(exn)
  File "/Users/gustavogama/boost-it/aws_infra_v2/core-infra/venv/lib/python3.9/site-packages/pulumi/runtime/settings.py", line 273, in handle_grpc_error
    raise grpc_error_to_exception(exn)
Exception: invocation of aws:index/getAvailabilityZones:getAvailabilityZones returned an error: 1 error occurred:
    * error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 87fecadb-d8fc-43ac-8147-a6f49179ce6d, api error ExpiredToken: The security token included in the request is expired

Steps to reproduce

Create AWS
Create USER cicd with AdministratorAccess
Add user credentyials to .aws config and credentials files
Login into AWS or define env variables
Create BUCKET
pulumi login s3://
pulumi new with aws-python (make the region the same of the bucket)
c change main to use awsx to create a vpc
pulumi up -> and the result is in previous section
The issue is the sts:GetCallerIdentity

Context (Environment)
aws sts get-caller-identity --query "Account" --output text
882205788219
{
"UserId": "AIDA42Z4QBA533JXXXXX",
"Account": "88220578XXXX",
"Arn": "arn:aws:iam::88220578XXXX:user/cicd-user"
}
(END)
env virables:
AWS_ACCESS_KEY_ID=XXXXXXX4QBA56JJXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXJh4WbJ/ZIOTirOh4spYzpdXXXXX
AWS_PROFILE=cicd-user
AWS_REGION=eu-west-1
Affected feature
deploy infra into AWS

Closing as stale - unfortunately our team cannot make progress on this one without a repro. Please reopen with a repro if you are still hitting a problem.

I am encountering the same error, apparently randomly when an update needs to delete resources. Any idea?
    error: 1 error occurred:
    	* Retrieving AWS account details: validating provider credentials: retrieving caller identity from STS: operation error STS: GetCallerIdentity, https response error StatusCode: 403, RequestID: 49a9637c-8315-43a0-954a-c6ad3e91e846, api error ExpiredToken: The security token included in the request is expired```

I am using a pulumi environment with AWS oicd role, but I've also tried to switch to local configuration and also set deployment with the gihub pulumi app. Same error


Base64 to Blob

Is there anyway we can convert the base64 image from response.data to a bytes/blob?

You can do this yourself in JavaScript: See here. Not going to do this in our library because of the performance impact.

When I tried method that you are mentioned. I'm run across an error called "res.blob() is not a function". Because of this error I can use this method:
function urlToBlob(url) {
    return new Promise((resolve, reject) => {
        var xhr = new XMLHttpRequest();
        xhr.onerror = reject;
        xhr.onreadystatechange = () => {
            if (xhr.readyState === 4) {
                resolve(xhr.response);
            }
        };
        xhr.open('GET', url);
        xhr.responseType = 'blob'; // convert type
        xhr.send();
    })
}

var data = 'data:image/png;base64,...';
urlToBlob(data)
.then(blob => {
    console.log(blob)
})

Solution is not work without remote js debugging.

FWIW React Native supports, although untested... you could try the following
const response = await fetch(...);
const blob = await response.blob();

Posted an example here, thanks @Johan-dutoit https://stackoverflow.com/a/59002760/1658268

You can do this yourself in JavaScript: See here. Not going to do this in our library because of the performance impact.

Is it slower to use blob/byte arrays? I thought that was faster than bas64 in most cases. What do you mean exactly by performance impact?


How to generate the required fileds for index if I have no relevent data [HELP]

I understand the indri index must have some specific fields indexed (like a, td, table, etc) But what if my document doesn't have a few of these fields and where to give the extra fields. Please ignore my lack of knowledge. Any help is very much appreciated.
Few pointer questions:

Will keeping such fields bank effect my features?
Can I provide more fields that are not included? Will it be useless?
@lgrz

Whether or not the document(s) have the field makes no difference. They just need to be specified in the Indri index configuration at this time.
Currently the fields used are hardcoded in the feature extraction process. Therefore additional fields will not be used. We hope to fix this in a future release.

Can you please elaborate on point 1. I am not sure I get it.
Also, an example of such configuration would be very helpful. The link to the doc is broken.

As long as you have the fields in the Indri index configuration everything will work fine. The required fields are listed on the quick start page.
Here is an example Indri index configuration: https://gist.github.com/lgrz/44f9e52bf90b75b04d900faa9305fce9
You can find more details in the Indri documentation for indexing: https://lemur.sourceforge.io/indri/IndriIndexer.html

Much appreciate your help.
So before I index my documents I have to convert them to a format that indri can understand, say TREC-3.
So if my document looks something like this:
{
"title" : "some fancy title of a product",
"desc" : "description of the product",
"some_urls": ["list of some urls, images, etc"],
"some_other_domain_specific_fields": "a lot of them"
}

How should I re-format it before I index it?
An example of such a process if possible would be very helpful.

Also, what is the difference between the myrun.txt file and the labels.txt file in this line?
./script/label.awk labels.txt myrun.txt > stage0.run
Please correct me if I am wrong:

labels.txt has 1 query-document training relevance label per line, it includes all the combination I want to train on
myrun.txt has the same information but the score and run-identifier, can you please explain them in context of <query id> Q0 <docid> 0 <score> <run identifier> from the quick start document

Much appreciate your help.
So before I index my documents I have to convert them to a format that indri can understand, say TREC-3.
So if my document looks something like this:
{
"title" : "some fancy title of a product",
"desc" : "description of the product",
"some_urls": ["list of some urls, images, etc"],
"some_other_domain_specific_fields": "a lot of them"
}

How should I re-format it before I index it?
An example of such a process if possible would be very helpful.

I'd suggest taking a look at the Indri quick start guide:
https://sourceforge.net/p/lemur/wiki/Quick Start/

Also, what is the difference between the myrun.txt file and the labels.txt file in this line?
./script/label.awk labels.txt myrun.txt > stage0.run
Please correct me if I am wrong:
1. labels.txt has 1 query-document training relevance label per line, it includes all the combination I want to train on

2. myrun.txt has the same information but the `score` and `run-identifier`, can you please explain them in context of `<query id> Q0 <docid> 0 <score> <run identifier>` from the quick start document

labels.txt is a QREL file, that has judgments. i.e. <query-id> 0 <docno> <label>
myrun.txt is a TREC run file. i.e. <query-id> Q0 <docno> <rank> <score> <run-identifier>


corrupted file issue

xlsx-populate generates a workbook that opens well in LibreOffice, google sheets, etc, but when I try to open it in Microsoft office, I get a file that is corrupted error. Are there any specific steps to be taken to prevent this? I can attach data/code whatever may be required to help

@vasdhara Can you show a screenshot of the error?

:thinking: Can you provide a minimal code example that generates such file?

const createWorkbook = async (tabs) => {
  let workbook = new ExcelJS.Workbook();
  await workbook.xlsx.readFile(__dirname + "/fantemplate.xlsx");
  console.log(`Number of tabs: ${Object.keys(tabs).length}`);
  sourceWorksheet = workbook.getWorksheet(1);
  let finalWorkbook = new ExcelJS.Workbook();
  Object.values(tabs).forEach((tab) => {
    let targetSheet = finalWorkbook.addWorksheet();
    targetSheet.model = Object.assign(sourceWorksheet.model, {
      mergeCells: sourceWorksheet.model.merges,
    });
    targetSheet.name = tab.system;
    let cell = targetSheet.getCell("C3");
    cell.value = tab.system;
  });

  return finalWorkbook;
};

Looks like you're using exceljs, and not xlsx-populate

damn sorry, I messed up reading the imports and opened it in the wrong repo. much apologies. thank you for the support


Remove Ubuntu dependency

On Linux distributions which aren't Ubuntu or CentOS, building the source code fails with the 'unrecognized distro' fatal error. This error occurs in Packaging, which is not relevant to building the rest of the code to use on a given machine and should not block this.

Thanks for filing this issue @kellyrowland . Will look into fixing this ASAP.

@kellyrowland fix merged in the dev-v0.4.0 branch. Can you validate if the changes work for you?
Can you also let us know which OS you were running on?


Merit order- PP running more than expected based on their availability in the present

It appears that some Power Plants in the merit order table are running more than they should according to their availability.
An example is the nuclear 2nd generation. It appears to have 7800 FLH in the present resulting in availability of 89%
(7800/8760=0.89)
However, its availability is 87% (see 2nd picture).
Also, the issue quintel/etsource#970 refers to a rounding issue. However, that does not seem to explain the discrepancy. Following the same example, and assuming that the 7800 FLH resulted because of rounding to the nearest 50, then the initial value would be minimum 7750. Now, 7750/8760=88% which is still higher than the availability of the PP.

Well spotted by @georgiasavvidou . The present FLH come straight from the 'Power and heat plant analysis' on ETDataset, where we do not check for consistency between these FLH and the availability. I did a quick check and found that the following converters have higher FLH in the present than allowed by their availability:

converter
FLH (present)
max. FLH based on availability
availability

energy_power_nuclear_gen2_uranium_oxide
7800
7621
0.87

energy_power_hydro_mountain
4492
2891
0.33

energy_power_ultra_supercritical_cofiring_coal
7900
7709
0.88

As these FLH are better researched than the availability, I propose to update the FLH. This will have fall-out for the outcome of the merit order calculation, as these three plants will be allowed to run a little more than they do now. What do you think, @AlexanderWirtz ?

In addition I found the following six converters to have 0.00 availability, even though they have FLH in the present year. I know these are heat producers so they do not participate in the merit order, but still it would be nice to update them, although I have no clue to what number. @AlexanderWirtz , what do you think?

converter
FLH (present)
max. FLH based on availability
availability

energy_heater_for_heat_network_coal
2190
0
0.00

energy_heater_for_heat_network_network_gas
2190
0
0.00

energy_heater_for_heat_network_lignite
2190
0
0.00

energy_heater_for_heat_network_wood_pellets
2190
0
0.00

energy_heater_for_heat_network_waste_mix
2190
0
0.00

energy_heater_for_heat_network_crude_oil
2190
0
0.00

I know these are heat producers so they do not participate in the merit order, but still it would be nice to update them, although I have no clue to what number. @AlexanderWirtz , what do you think?

How come they have 0.00 availability? Where have these been set? I suggest (guess) at least use the 2190 even though that seems on the low side as well (there is an old issue for this).

As these FLH are better researched than the availability, I propose to update the FLH. This will have fall-out for the outcome of the merit order calculation, as these three plants will be allowed to run a little more than they do now. What do you think, @AlexanderWirtz ?

I think the energy_power_hydro_mountain FLH are a bit high relative to the availability. That one (33%) does not seem so crazy to me. What country has them with such high FLH?
The coal and nuclear plant can probably have slightly higher availability. I assume that is what you mean @jorisberkhout? To update the availabilities instead of the FLH?

I assume that is what you mean @jorisberkhout? To update the availabilities instead of the FLH?

Correct, I updated my previous comment to reflect this.

What country has them with such high FLH? (for energy_power_hydro_mountain)

These FLH are for NL, which has no hydro mountain, so the FLH are irrelevant. Nevertheless, I think it would be nicer to update these FLH to match the availability.
Good point about the country specific FLH. So far, I have only checked the NL dataset, but I will check the other datasets as well and see if that gives any reason to change the availabilities or FLH.

How come they have 0.00 availability? Where have these been set?

These availabilities are set in the respective node files and have been 0.0 since the moment these are on GitHub. Let's update them and see if there is any fallout.

Let's update them and see if there is any fallout.
Good idea

Not critical for the deploy, milestone removed.

Closed by https://github.com/quintel/etsource/pull/1172/commits/b0222d292bb1ef936bf748c353fd3cdd5adb7278. Let's keep an eye out for any major changes to the model as a result of these changes. Pinging @AlexanderWirtz , @ChaelKruip and @TessColijn .


Make language selection not cause warnings

Allow a format for the language selection comment that does not itself cause a spelling warning.
This allows %!TeX spell_check = LANGUAGE_CODES to select the document language, since spellcheck as one word is deemed a spelling mistake by hunspell with en-US. (It still accepts the old version though to keep backwards compatibility)

TeX magic comments should not be checked by default since the scope comment.line.percentage.directive.texshop.tex is excluded. What language pack for LaTeX support are you using?

I use language-latex and my magic comments only have .comment.line.percentage.tex.

The pattern in language-latex requires the magic pattern to be all uppercase like %!TEX spellcheck = en-US.
As an aside, language-latex has not been maintained for over a year. I suggest using the fork language-tex which is being actively maintained. I just submitted a PR to fix the casing issue in the magic patterns at yudai-nkt/language-tex#12.

Thanks for the advice. I'll give it a try.

No problem. I'll leave the PR open until we see what happens with the language-tex PR.
Thanks again!

yudai-nkt/language-tex#12 just got merged so I am closing.

Alright, it works for me. However, one might still consider to incorporate this change, because most people that do not know better will probably install language-latex and experience the same odd behavior like me.
The only reason I would drop this, is if the magic spell check comment already was a well known one. Is it? Do other Programs parse it in the original format used by you?

I agree that the name of spellcheck is quite awful, but unfortunately this was established by TeXworks so it is probably a bit standardized. I probably would have chosen something like %!TeX languages = en-US.

I see, but that is a good reason to keep it as is.


Add Jenkinsfile

This adds the Jenkinsfile pipeline that will implement the PR builds to be run on gpuci.io's spawned cloud resources.

rerun tests

gpuci rerun

gpuCI-test-this


Adds inferred [Required] for non-null ref types

Follow up from #9194
This change adds the automatic inference of [Required] for non-nullable
properties and parameters. This means that if you opt into nullable
context in C#8, we'll start treating those types as-if you put
[Required] on them.
This provides a nice invariant to rely on, namely that MVC will honor
your declared nullability contract OR report a validation error. This
reinforces the guidance already published by the C# team for using
POCOs/DTOs with nullability. See
https://github.com/aspnet/specs/blob/master/notes/3_0/nullable.md for my
analysis on the topic.

One other idea (that I didn't do, and think we shouldn't do) would be to use the nullability information to create related objects. So for the following, we could auto-create Address even if the data was missing:
public class Person
{
    public string FirstName { get; set; } = default!;
    public Address Address { get; set; } = default!;
}

public class Address { }

I didn't do this, because IMO you have a better option if you want this behaviour.
public class Person
{
    public string FirstName { get; set; } = default!;
    public Address Address { get; } = new Address();
}

public class Address { }

U

@roji FYI

Will add some functional tests tomorrow to capture the E2E scenario. I'm confident that this is working, but we need tests in place that capture the whole workflow to make sure there aren't other blockers.

Some very similar nullability handling code going into ASP.NET and EF at the very same time (https://github.com/aspnet/EntityFrameworkCore/pull/15499)...

One other idea (that I didn't do, and think we shouldn't do) would be to use the nullability information to create related objects. So for the following, we could auto-create Address even if the data was missing:

I agree, the less magic going on, the better...

I agree, the less magic going on, the better...

The reason I thought about this at all....  I could see someone interpreting that rule in favor of this, but I think it would have serious unintended consequences. Model binding creates objects based on the presence of data in the request that matches the model. Doing this based on nullabitity contracts could lead to infinite recursion instead 😆

@jeremyskinner

Upated

Thinking about this some more and it feels a little odd that non-nullable reference types are now required, but non-nullable value types are not. Consider:
    public class Person
    {
        public string Name { get; set; } = default!;
        public int Age { get; set; }
    }

Name is required, Age is not.

[Required] means not-null.
When we look at the types of properties and parameters, we're only talking about the allowed state of the model. MVC has the ability to validate the state of the model using [Required]. This makes sense because the contract implied by nnrt is about the legal state of a property/parameter/variable. I think that this is the most natural way to think about nnrt by far.
Also note that we really have two meanings for required. Value types like int generate client validation messages that require you to specify the values in the form. When validation runs we don't validate the non-null-ness of your int property because it's always in a legal state already.

I see. I'm use to looking at required from a deserialization viewpoint. Often it requires the presence of the data, rather than caring about the value.
I thought Newtonsoft.Json use [Required] but it doesn't. There is a [JsonRequired] attribute that requires the data exist AND it is not null.
So would required on a non-nullable value type never do anything?
    public class Person
    {
        [Required]
        public int Age { get; set; }
    }

https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.dataannotations.requiredattribute?view=netframework-4.8#remarks

The RequiredAttribute attribute specifies that when a field on a form is validated, the field must contain a value. A validation exception is raised if the property is null, contains an empty string (""), or contains only white-space characters.

The added required attribute should set AllowEmptyStrings to true. And add unit tests for empty strings.

The added required attribute should set AllowEmptyStrings to true. And add unit tests for empty and white-space only strings

I'll do it for the sake of #Pedantry. In practice it only will matter if you do something wierd. MVC already handles this case for you be treating whitespace/empty strings as null (ConvertEmptyStringToNull
defaults to true) https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.Core/src/ModelBinding/Binders/SimpleTypeModelBinder.cs#L71

Ah ok, I wasn't sure if that flag was being used by the validation logic. No point setting it then 😬
A comment and test would be nice tho for clarity

I'm making the change, it's a little more correct so we might as well.

@rynowak One question on this...will it behave in the same way as the current handling for non-nullable value types? (ie if no required rule is explicitly run, or the DataAnnotations provider is disabled, then the default "A value is required" message will be added instead?)

@rynowak One question on this...will it behave in the same way as the current handling for non-nullable value types? (ie if no required rule is explicitly run, or the DataAnnotations provider is disabled, then the default "A value is required" message will be added instead?)

This is a super set.
ModelMetadata.IsRequired is the thing that adds client side validation messages using jQuery validation. This does ModelMetadata.IsRequired and adds an implicit [Required]. Is there a specific case or scenario you are worried about?

Is there a specific case or scenario you are worried about?

No, was just curious - should all work fine for me. Thanks!

/azp run AspNetCore-ci


instruction for installation in documentation 😔❌

it needs instructions for installation in documentation, with npm and pnpm, and also the fact that I should no longer install @react-three/gltfjsx in npm because it has not been updated for 3 years.

it's on the frontpage though
npx gltfjsx [Model.glb] [options]

Is there any change that the documentation is outdated? If I try to use gltfjsx like in the example, I get prompted to install<EMAIL_ADDRESS>I'm pretty sure that it worked without installing the last time I tried.


The term Battery storage exists in two places in the OEO

Description of the issue
The term "battery storage" exists under the following path:
continuant | independent continuant | material entity | object | Artificial Object | EnergyStorage | Battery Storage
which makes sense to me.
The specific term "Li-IonBattery" was however sorted under
continuant | independent continuant | material entity | object | Artificial Object | EnergyStorage | Thermal | Battery
, which I cannot follow exactly, because I would not have expected this term in the thermal Storage category. Please check, if this was done on purpose.
Ideas of solution
I would suggest to transfer the term "Li-IonBattery" to
continuant | independent continuant | material entity | object | Artificial Object | EnergyStorage | Battery Storage | Li-IonBattery.
Workflow checklist

[x] I discussed the issue with someone else than me before working on a solution
[x] I already read the latest version of the workflow for this repository
[ ] I added this issue to the Project 'Issues'. If suitable, I add it to further Projects.
[x] The goal of this ontology is clear to me

I am aware that

[x] every entry in the ontology should have an annotation
[x] classes should arise from concepts rather than from words
[x] class or property names should follow the UpperCamelCase

yes this should be restructured. It's related to #209 which works on restructuring the whole EnergyStorage hierarchy.


Retrolambda "NoSuchMethod"

There are a problem with the plugin gradle-retrolambda. It do not compile correctly the lambda. The result is "NoSuchMethod" Exception with the last binary. I try to compile myself, it do not change the result, even if I update retrolambda to 3.7.0. In Android Studio 2.3, jack is available but do not work with library. Only solution seems to be Android Studio 3.0, but it is in preview.
I would be good to recompile the project, because now the library is unusable.

Can you share the full stacktrace?

The config in gradle
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.github.esafirm.android-image-picker:imagepicker:1.7.4@aar'

The intent I create and send with a intent chooser in the extra Intent.EXTRA_INITIAL_INTENTS.
ImagePicker customGallery = ImagePicker.create(getActivity())
    .returnAfterFirst(false) // set whether pick or camera action should return immediate result or not. For pick image only work on single mode
    .folderMode(false) // folder mode (false by default)
    .imageTitle("Tap to select") // image selection title
//    .limit(10) // max images can be selected (99 by default)
    .showCamera(true) // show camera or not (true by default)
//    .imageDirectory("Camera") // directory name for captured image  ("Camera" folder by default)
    .enableLog(false); // disabling log

if (multiple) {
    customGallery.single(); // single mode
} else {
    customGallery.multi(); // multi mode (default mode)
}

Intent customGalleryIntent = customGallery.getIntent(getActivity());
customGalleryIntent.putExtra(IntentUtils.EXTRA_CHOOSER_RESOLVE, false);
intents.add(customGalleryIntent);

The full stacktrace.
07-27 15:29:15.884 12639-12639/com.neofly.*** E/AndroidRuntime: FATAL EXCEPTION: main
                                                                            Process: com.neofly.***, PID: 12639
                                                                            java.lang.NoSuchMethodError: No static method com_esafirm_imagepicker_features_ImagePickerPresenter$1$$Lambda$1_lambda$onImageLoaded$11(Lcom/esafirm/imagepicker/features/ImagePickerPresenter$1;Ljava/util/List;Ljava/util/List;)V in class Lcom/esafirm/imagepicker/features/ImagePickerPresenter$1; or its super classes (declaration of 'com.esafirm.imagepicker.features.ImagePickerPresenter$1' appears in /data/app/com.neofly.***/base.apk)
                                                                                at com.esafirm.imagepicker.features.ImagePickerPresenter$1$$Lambda$1.run(Unknown Source)
                                                                                at android.os.Handler.handleCallback(Handler.java:739)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                at android.os.Looper.loop(Looper.java:158)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

@neofly it seems that i can't reproduce this. I think this is related to Multidex behaviour. Did you use Multidex? If you use it, did you already configure it well?

I didn't use Multidex. I try with Multidex but I have the same result.
I use jack in my project for lambda. Maybe it's the problem.

Please find you didn't added a dependency which is conflicting with it. In my case PhotoPickView library's dependency and configuration's causes the dex problem, by removing its configuration, code snippet was working fine.

@neofly That could be it. Any update on this? I didn't have time to test it with jack. Now jack is officially deprecated, maybe you should move to AS 3.0 desugar or retrolambda 😄

Will closing this due inactivity. Please reopen if the problem still occurs or anyone have a solution.


Suggestion to change the scrap count on different dungeons

So there is a scrapcount value in moon config, but not in the dungeon config. I think it may be cool. What make me think like this is that some modded dungeons spawning to little amount of scrap.

This is something that I sort of want to implement, but there are several issues with doing so:

Other mods that change the scrap count would not work, since LethalQuantities would be overwriting their values
What if the global dungeon config and moon scrap config both have different values? Which one should be used?

I think both the global dungeon config and moon scrap config should count. Like, the final counter should be the global dungeon config value times moon scrap config value.
And i think on default global dungeon can be just 1. And when going to the moon and just after dungeon is choosed, scrap count can be multiplied by the dungeon counter. I don't really know how the game works, that's just the first thing I thought of.

Currently the moon scrap config overwrites the global scrap config if set, so there is no combining going on. It would be a little difficult to introduce the change especially when it's already been used for so long. As for actually making it work if I were to implement the change, I'd have to create a proper method to make it work. I'll add it to my TODO list, but I probably won't have any results anytime soon.

Even if it doesn't end up being added, thank you for your replies. Great mod by the way!

What if X Moon's scrap generation could be changed from Int32 to a string of scrap weights correlating in order to the list of interiors capable of spawning on X moon. I know it's not a perfect representation, but I imagine it could look like something similar to how LC_Office handled shrimp weights.

The moons would be the interiors while the string would be weights in the interior's order. I have... no idea if this is possible or even remotely feasible though XD.

I think the concept of having different options per interior/weather is great, but using a string like that is not ideal. I'm currently planning out a JSON import/exportable format so that options can be edited easily though another tool, like a webpage.


Error talking to the bot: Error: 404 {"errors":{"detail":"Not Found"}}

Since yesterday I am suddenly getting this error on any request I try to send to melty.

They have changed the API and made it behind auth. I will not share the URL to get the key because it has not been released/documented anywhere yet. They should create documentation for this.

Can you share how to obtain a key?

Having similar error! I understand this part of the code is moved behind Auth. Tagging @cbh123 , @abhi12299  for visibility.


replace usage of e.printStackTrace() with Log.e(TAG, MESSAGE, e)

JockeyJS is mostly hosted as an external tool inside apps, and therefore, printing stacktrace is not recommended.
Instead, you should tag the exception (to signal that it originated from JockeyJS's library).
This is  also recommended in the official Android documentation: http://developer.android.com/reference/android/util/Log.html
BTW, Log.e prints the stacktrace for you.

Thanks @tomerlevi444.  I'll take a look, I think I might have just been lazy using eclipse's snippets.


remove jaxlib dependency

jaxlib should not be installed automatically because users have a choice between
cpu-only/gpu and different cuda versions.
Jax also doesn't include jaxlib as a dependency in setup.py

eh - I see this branch needs updated.


Horizontal bar stroke doesn't get dynamic color

I'm trying to style a bunch of bar charts to have opaque edges and translucent interiors:
.c3-bar {
  stroke-width: 2px;
  stroke-opacity: 1;
  fill-opacity: 0.8;
}

The color of the bars in these charts is determined via a data.color function that's different for each chart.
For vertical bar charts this works great, because the same color (determined via function) gets applied to the bar's fill and its stroke. But for horizontal bar charts, with flipped axes, the color determined by the function only gets applied to the bar's fill, not to its stroke. So the stroke color defaults to black.
Because the color of each bar is being dynamically determined by function, it's not practical to override the colors from a CSS file.

I think I see what's going on. In c3/shape.bar.js, updateBar() updates both:
        .style("stroke", color)
        .style("fill", color);

While redrawBar() does not:
            .style("fill", this.color)

Horizontal bar graphs must be doing a redrawBar(). I tested making redrawBar() consistent with updateBar(), and it would indeed solve the problem.
I'll try to put together a PR.

Thanks for reporting!
Confirmed as a bug. Thanks!
https://jsfiddle.net/kt3k/p2ncr8xs/4/


[test_alerts] Get prom_url and token before running test

Depends-On: https://github.com/infrawatch/feature-verification-tests/pull/177

recheck


Double LMDB map_size on MapFullError

Closes #206.
Changed

Don't set the initial map_size to 1TB like before

It seems to start with 10MB by default

When LMDB throws a MapFullError, double the map size

Big thanks to @dw for https://github.com/dw/py-lmdb/commit/442096e1551e204894154436877080a5b2571813

TODO before merge

[x] Add this change to digits/dataset/images/generic/test_lmdb_creator.py as well
[x] Write some tests
[x] Update requirements.txt to require newest version of LMDB

Ok, I've checked off all the TODOs. @crohkohl, could you run the test suite on Windows when you get a chance?

This looks good to me.

@lukeyeager Windows tests finally pass, see https://github.com/NVIDIA/DIGITS/pull/199#issuecomment-130214042

Squashed to a single commit and rebased to include TravisCI fix in #214.

@gheinrich and @crohkohl, thanks for the review help.


fix: make lookup_path and lookup_label comply with Interface Spec

I've added some more tests. Several of them fail before this PR.


[WIP] Rlp compatability

Addresses sidechain RLP compatibility issues.
Putting a PR up to get initial feedback.
TODOs:

implement for toRLPBytes() @hamdiallam
refactor checkSigs test so we can replace checkSigs with checkSigs2, which takes in bytes arrays of sigs/confirmSigs instead of their concatenated form.

Pull Request Test Coverage Report for Build 402

56 of 56 (100.0%)  changed or added relevant lines in 2 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.6%) to 91.689%

Files with Coverage Reduction
New Missed Lines
%

contracts/libraries/Validator.sol
1
91.84%

contracts/rootchain/RootChain.sol
6
89.73%

Totals

Change from base Build 397:
-0.6%

Covered Lines:
248

Relevant Lines:
259

💛  - Coveralls


TabList: scrolling active tabs into view breaks selection

Additional context: https://github.com/WordPress/gutenberg/pull/64371#issuecomment-2378893792 (see second part of the comment).
Current behavior
When TabList overflows, we scroll the active tab into view initially and on change. When clicking on a non-active tab somewhere near the edge of the TabList, it scrolls as expected but the tab is not correctly selected.
Steps to reproduce the bug

Open https://stackblitz.com/edit/ariakit-aujrfc?file=src%2FApp.tsx
Try the behavior described above.

https://github.com/user-attachments/assets/9750157a-ba5c-4ecc-9ca4-6b42eab14142
Expected behavior
The clicked tab gets selected.
Workaround
We've realized that setting a significant delay (e.g. 500 milliseconds) before scrolling prevents this from happening. However, it is noticeable enough to not be a proper workaround for our use case.
Possible solutions
We've investigated a little and it seems like activeId is being properly updated on click, but selectedId does not update.

activeId is updated on focus (triggered by mousedown). The tab is selected (selectedId is updated) on a full click.
When you move the element away from the pointer on focus, the mouseup and click events aren't dispatched. You can confirm this by adding onClick={console.log} to the tab.
You can fix this by listening to selectedId instead of activeId in useEffect or by using the setSelectedId callback.


NEXT-24962 - Add IPv6 CIDR suggestions to maintenance configuration

1. Why is this change necessary?
IPv6 exists.
2. What does this change do, exactly?
Allow CIDR configuration in the administration. The IPUtils from Symfony already support CIDR.
So now you can just enter IPv6 and IPv4 CIDR and you get suggestions for common IPv6 CIDRs based on your IPv6 address so you can easily get all of your mates aboard. Arrrr!
Previously:

With this PR:

3. Describe each step to reproduce the issue or behaviour.

Surf the shop with IPv6 but be used to IPv4
Start maintenance mode
Select "You" in the configuation suggestion
Share the knowledge, that "we are now excluded from maintenance mode"
Everybody response "I still get maintenance mode"

4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-24962
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

🤖 Generated by Copilot at 418ebb8
This pull request adds support for IPv6 addresses and CIDR masks to the trusted proxies configuration in the Administration module. It updates the KnownIpsCollector class, the sw-multi-tag-ip-select component, the string utils and the translation files. It also adds a new changelog entry and validation logic for the maintenance IP configuration.

🤖 Generated by Copilot at 418ebb8

Add support for IPv6 CIDR masks to the known IP addresses configuration (link)
Update the KnownIpsCollector class to return IPv6 CIDR masks based on the client IP (link, link)
Add a new prop errorCode to the sw-multi-tag-ip-select component to customize the error message (link)
Modify the sw-multi-tag-ip-select component to validate both IP addresses and CIDR masks using the validate method (link)
Add a new snippet SHOPWARE_INVALID_IP_CIDR to the German and English translation files for the error message (link, link)
Add new snippets youIPv6Block56 and youIPv6Block64 to the German and English translation files for the suggested IPv6 CIDR masks (link, link)
Expose the isValidCidr function from the string.utils.ts file to the util.service.ts file (link, link)
Implement the isValidCidr function in the string.utils.ts file using a regular expression (link)
Add the validateMaintenanceIpCidr method to the sw-sales-channel-detail-base component to validate the maintenance IP configuration (link)
Add the validate and error-code attributes to the sw-multi-tag-ip-select component in the sw-sales-channel-detail-base template (link)

I rebased and added a test but I am not sure where to spot the phpstan error

I rebased and amend regarding the comments :)

I rebased, changed code regarding comments and added tests :)

thanks for your contribution @JoshuaBehrens 👍🎉💙


cPickle option?

Getting along very well with Thespian, thanks again for a great project.
One possible enhancement that would make a significant performance difference to our use case is the ability to opt for cPickle for the UDP and TCP transports. It seems this would be entirely compatible with the way the transports are serializing messages, and shouldn't break anything?

I'm glad Thespian is working out well for you.  Using cPickle for Python versions prior to 3.1 is great idea, thank you.  I will try to get this implemented soon.

This has been added in the 3.6.2 release: https://github.com/godaddy/Thespian/releases/tag/thespian-3.6.2.


Far manipulation should allow constraining depth/z movement

Describe the problem
For (at least Bounding Box) far manipulation, when you move your hand up & down, the object you're manipulating gets moved also closer & farther away from you. On some objects, it doesn't feel intuitive anymore. I was expecting moving my hand directly down would simply move the object directly down, not further away from me.
It feels like the assumption with this current far manipulation approach is that users really care about moving objects closer or farther away and that moving one's hand up/down is a good way to do it. But this assumption might not be true all the time.
I've tested this both in the Unity Editor as well as on HoloLens 1. It's more noticeable at farther distances (and thus with bigger objects), see the gifs below.
Describe the solution you'd like
It would be great to have a "Constraints on Movement" option to disable this (or enable it, depending on what everyone thinks the default should be). Perhaps it could be called something like NoForwardsBackwardMovement (or inversely, something like AllowForwardsBackwardsMovement). I don't think the proposed additional constraints in https://github.com/microsoft/MixedRealityToolkit-Unity/issues/4154 includes this. I'm guessing the TwoHandMoveLogic code would need updating to support this https://github.com/microsoft/MixedRealityToolkit-Unity/blob/mrtk_release/Assets/MixedRealityToolkit/Utilities/Physics/TwoHandMoveLogic.cs#L51.
Describe alternatives you've considered
A guess a step further would be enabling configuration of additional "helper" manipulation movement. It feels like the current far manipulation behavior is trying to "help" the user be able to move objects closer/farther away intentionally, so perhaps there's other "helper" behaviors that no one's thought about here.
Additional context
You'll notice from this side view that the hand in the Unity Editor is only moving up & down, but the object moves also backwards & forwards.
Closer to object:

Further from object:

We recently had 7 people try out this MRTK interface compared to one that directly followed one's hand movement (i.e., when you move up, the object moves up and not forward/backwards, etc.). All 7 people said the MRTK up/down movement was strange.

So the issue is that we're currently using hand distance from the head to scale the object's distance from the hand.
A simple fix for this would be to only use xz distance (ignore y) to emulate hand distance from the body. That way, moving your hand down, wouldn't be moving it further away, and so the object too wouldn't move away.
@thalbern @julenka what do you think about this as a solution?

A simple fix for this would be to only use xz distance (ignore y) to emulate hand distance from the body. That way, moving your hand down, wouldn't be moving it further away, and so the object too wouldn't move away.
@thalbern @julenka what do you think about this as a solution?

Ah great idea! Let's try it, I'm happy to test and give feedback. I'm guessing @nuernber would be happy to give feedback as well on the PR to see if it feels expected.


Issue/2412 pip install error produces very confusing output iso4

Description
Improve readability in error message.
closes #2412
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
- [ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

I couldn't connect this PR to the issue because it was closed by InmantaCI. Is it safe to reopen it manually to be able to connect this PR to it ?

I couldn't connect this PR to the issue because it was closed by InmantaCI. Is it safe to reopen it manually to be able to connect this PR to it ?

yes

Processing this pull request

Merged into branches iso4 in 49841430ca5fae9bb71530758d340d38b092f3e9


fix to the readme examples

the : and @ are swapped. This tripped me up for a bit.

Hey, well spotted, @mitchellparsons!. Thank you.


Installing tensorflow on Anaconda

I have a linux machine to which i installed Anaconda. I am following:
https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html
pip instaltion part.
To be more specific:
which python
gives
/home/user/anaconda2/bin/python
After which i entered:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
And after:
sudo pip install --upgrade $TF_BINARY_URL
However, while trying:
python -c "import tensorflow"
I get an import error:
ImportError: No module named tensorflow

I have a linux machine to which i installed Anaconda. I am following:
https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html
pip instaltion part.
To be more specific:
which python
gives
/home/user/anaconda2/bin/python
After which i entered:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
And after:
sudo pip install --upgrade $TF_BINARY_URL
However, while trying:
python -c "import tensorflow"
I get an import error:
ImportError: No module named tensorflow

The 'sudo' makes pip install tensorflow outside the env. Try:
pip install --upgrade $TF_BINARY_URL
Just tested this on Ubuntu 14.04 w/ conda env, was able to reproduce (with sudo) and resolve issue (without sudo).
You can also check the "Using Conda" instructions section vs just pip install of tensorflow.org. They list the below:
Python 2
(tensorflow)$ pip install --ignore-installed --upgrade $TF_BINARY_URL
Python 3
(tensorflow)$ pip3 install --ignore-installed --upgrade $TF_BINARY_URL


Now src() and watch() both accept an array

Also added a test for usage of src() with an array.

Amazing! Thanks!


nk3 C nfc doesn't support pin (?)

With systemd-cryptenroll I get the following:
Requested to lock with PIN, but FIDO2 device /dev/hidraw0 does not support it, disabling.

the A versions of my other keys just work fine afaict and I can enroll with pin - also, the nk3 C nfc is configured the same (same admin/user pin too).

oddly enough, the first time it didn't ask for the pin on boot, the second time after re-enrolling with the same warning it's now asking the pin :man_shrugging:

it's some sort of timing/race issue I think - today I've rebooted my laptop and it just didn't ask for the pin - just waited to touch the key and it unlocked, any idea?

I can confirm that 1.5.0 on a brand new nitrokey 3 NFC C has the issue - randomly either asks the pin or it doesn't and it just requires the touch :shrug: anything I can help with? I'm on Fedora 38

Generally, in FIDO2 the platform (in this case systemd) can determine whether a PIN is required for an operation, not the authenticator (the Nitrokey 3).  If you want to enforce that a credential can only be used with the PIN, you can use the credProtect extension when creating the credential.  To me this looks like systemd-cryptenroll does not use the credProtect extension, and for some reason does not always require a PIN when accessing the credential.
So if the PIN is not queried during boot, it should be investigated what triggeres the PIN query in systemd.


docs: Refactor the repo structure

Our DevOps topic are growing, so it would be better to keep them in separate folder instead of putting them all to the root directory
We need help on below task:
Task:

[x] #114
[x] #118
[x] #127
[x] #116
[x] #117
[x] #119
[x] #120
[x] #121
[x] #122
[x] #123
[x] #124
[x] #126

Done via subtasks. All commits merged to main

https://github.com/tungbq/devops-basic/commits?author=tungbq&since=2023-08-08&until=2023-08-09


Allow disabling Placement and Actors in Helm chart

Fixes #6173
Adds option global.actors.enabled to Helm chart (defaults to true).
When false, the Dapr Placement service is not deployed, and the injector sets an empty --placement-host-address CLI flag in injected daprd containers. However, if Deployments are created with an explicit annotation dapr.io/placement-host-address, that still has priority.

Just a clarification, placement service if disabled won't it affect workflow APIs also?

Just a clarification, placement service if disabled won't it affect workflow APIs also?

Correct. At least for the internal workflow engine.

@mukundansundar

does a later requirement of placement service in the cluster, need a full re-install of dapr or can the placement stateful set be installed separately in an already existing cluster. Do we have a documentation for that? And how will that interact with the existing dapr installation?

Because this is set as an option in the Helm chart, the simplest thing is to re-run "helm upgrade" with the changed flag.
We use an injector and not a reconciler, so when you enable Placement if it was previously-disabled, pods will not get the connection to placement. Pods will have to be recreated. Likewise, if the placement becomes disabled, pods that had the --placement-host flag will attempt to connect anyways (but this is not the end of the world - it won't cause production issues (unless we have bugs like #6130  ))
A user is always welcome to manually deploy Placement. in this case they can use the dapr.io/placement-host-address annotation to have sidecars connect to Placement even if it was disabled in Helm.

Because this is set as an option in the Helm chart, the simplest thing is to re-run "helm upgrade" with the changed flag.
In this case I assume even dapr upgrade with required set flags will work?

In this case I assume even dapr upgrade with required set flags will work?

What do you mean?

In this case I assume even dapr upgrade with required set flags will work?

What do you mean?

Will the dapr upgrade command with set parameters work or should it only be helm upgrade?

Will the dapr upgrade command with set parameters work or should it only be helm upgrade?

I am not familiar with how "dapr upgrade" works :( I know this is "normal" Helm.

dapr upgrade uses helm upgrade behind the scene, so IMO it should work.

If the placement service was disabled and some performs dapr upgrade it should enable the placement service as well as the default value is true for global.actors.enabled
For disabling it while installing or on a existing cluster, we might need to provide another flag in cli which can be consumed by helm.