Shipyard IDE

This is the first step in moving towards Shipyard.
Practically everything that made the editor work in JavaScript has been moved in the Shipyard architecture. The File classes are now Shipyard Models, which means they will eventually use ServerSync (pending on the api branch), and have data binding available.
Some files have been deleted that didn't make sense anymore, and other had not been used in a year.
Every part of the new ide app that doesn't still rely on MooTools has tests written. Being on production also requires these files to be minified, which is a plus over the current situation (nothing is minified).
After jingo lands, I'd like to add a shipyard helper that will replace the current script tags in the templates.
For development, you simply need to git submodule update --init, since Shipyard is a submodule. To run the tests, you would need to have nodejs and npm installed. Once they are, you would cd media/lib/shipyard and then npm link. Then, from the ide folder, you can run shipyard test to watch the tests pass.

@clouserw: The way I expect most developers to use Shipyard is to npm link it, making the shipyard bin globally available. However, @oremj tells me we can't use npm directly, so how would I accomplish what I need on the admin box?
npm link would also download uglify-js, dryice, and commander.js.
commander is used in the shipyard bin, but shipyard build ends up calling script/build.js with some arguments, so I could probably just have the script called on it's own, removing the need for commander. However, the build.js still needs to be able to require('uglify-js') and require('dryice').

Probably some combination of our migrations/ stuff and our vendor lib.  I don't have much experience with npm or the alternatives that IT wants us to use, /cc @oremj to give us answers.  We might need to huddle up on irc!

Hey, there are two options:

I can just make an rpm for whatever node lib you need to use.
node has a vendor type of thing already built in. If you put your dependencies in PROJECT_ROOT/node_modules/{DEP1,DEP2,DEP3}/node_modules/DEP1_DEP1.... it will just work.

Yes, I know about node_modules. Should I just npm link the files
locally, and commit them to the repo?

That's fine with me. I'm also fine with making an rpm. Up to you.


[Pro Tip] xcode-select --switch /Applications/Xcode.app

If you are on a new macOS installation as I am and wonder why the build is failing, you might need to set the correct path for the command line tools:
xcode-select --switch /Applications/Xcode.app

Thanks for the tip!  I added this to the README.


Add missing characters to Full set

We are missing about 110k characters. Documentation on what's missing is unclear.
Update the Rake task to pull the entire thing.

The remaining characters may not actually have names. Needs more research.

The remaining characters indeed do not have names given by Unicode. should i bother supporting this feature?


Fixed #76.

Removed endpoint's copy and move constructor and assign operator. They are invalidly enabled and some of codes depended on that. It was quite misleading.
Applied weak_ptr guard to timers in endpoint to avoid dungling access.

Codecov Report

Merging #78 (dfc790a) into main (bc11c88) will increase coverage by 0.02%.
The diff coverage is 72.81%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #78      +/-   ##
==========================================
+ Coverage   89.70%   89.73%   +0.02%
==========================================
  Files          92       92
  Lines        9960     9981      +21
==========================================
+ Hits         8935     8956      +21
  Misses       1025     1025

Files Changed
Coverage Δ

include/async_mqtt/broker/session_state.hpp
87.85% <ø> (ø)

include/async_mqtt/endpoint.hpp
87.85% <61.64%> (-0.12%)
:arrow_down:

include/async_mqtt/broker/endpoint_variant.hpp
98.37% <100.00%> (+1.20%)
:arrow_up:

... and 1 file with indirect coverage changes


plan: Added SHOW TABLES query

Current coverage is 53.69% (diff: 57.14%)

Merging #64 into master will increase coverage by 0.12%

@@             master        #64   diff @@
==========================================
  Files            30         32     +2
  Lines          1161       1203    +42
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            622        646    +24
- Misses          489        506    +17
- Partials         50         51     +1

Powered by Codecov. Last update 4744a84...f5294d5


Speed up explicit queries (prompt change)

Adjust explicit agent prompt so it does not use agents unless absolutely necessary. Also reduce query pause time.
TODO (perhaps future PR): Inform user that a query will take a long time // has multiple steps
(EXAMPLE, not the only query tested)
The following query would previously defer to agents + search, thus taking a long time:
"Hey Mira, how much wood could a woodchuck chuck if a woodchuck could chuck wood?"
Now:
https://github.com/TeamOpenSmartGlasses/Convoscope/assets/27019702/55a50fd5-a1e7-4c77-94e6-3da4c7886f63

Not the change we need. Redone in other PR


underscore's throttle and debounce as options when declaring view events?

I love underscore's throttle and debounce capabilities. I would also love to be able to automatically hook up the behaviors when declaring events in my Backbone views, rather than manually handling the plumbing for these events in my initialize function.
I'm not sure exactly how the synax would look, maybe something like this:
events: {
'resize window throttle 300': 'window_resize_func'
'keydown #mytext debounce 500': 'reposition_elements_func'
.
.
}
Maybe there is a more elegant syntax to express this in, open for suggestions. I could see this being very handy for just about anyone that handles voluminous event types like mouse move, window resize, etc.
I'm not sure if this has already been discussed so if I'm exhuming an old conversation my apologies.

Interesting thought, I could be mistaken but the values of the has can be functions so there is no reason you couldn't...
events  : {
     'scroll .child' : _.throttle(this.updatePosition, 300)
}

Adding additional functionality to the key parsing seems overkill in my opinion.

Cute, but I think we're going to stay away from String Programming in general. Just define your function as throttled or debounced...

From the backbonejs.org front page:

book.on("change:title change:author", ...);

Also:

Events are written in the format {"event selector": "callback"}.
The callback may be either the name of a method on the view, or a direct function body.

Aren't these instances of "string programming" that are already exist in Backbone? I'm merely proposing the possibility that maybe this could be helpful, along the lines of {"event selector modifier": "callback"}


Use install instead of localinstall for yum

The localinstall yum command has been replaced with install. Resolves https://github.com/Docmosis/tornado-docker/issues/16

Resolved by https://github.com/Docmosis/tornado-docker/commit/98ad3cb17dfe326e894dae4d85c2af8124808301


ECNIM-728

Type

[ ] Bugfix 🐛
[x] New feature 🌈
[x] Change request 🤓
[ ] Documentation 📚
[ ] Tech debt 👩💻

Changes proposed ✔
<EMAIL_ADDRESS>🎉 New features

Added @nimbus-ds/app-shell to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/callout-card to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/data-list to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/data-table to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/empty-message to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/formfield to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/interactive-list to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/layout to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/menu to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/menubutton to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/nav-tabs to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/page to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/productupdates to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/sidemodal to pattern pack. (#33 by @juniorconquista)
Added @nimbus-ds/thumbnail-with-action to pattern pack. (#33 by @juniorconquista)

📚 3rd party library updates

Added<EMAIL_ADDRESS>(#33 by @juniorconquista)
Added<EMAIL_ADDRESS>(#33 by @juniorconquista)

Codecov Report
Patch coverage: 97.14% and project coverage change: +0.14 :tada:

Comparison is base (ee467cb) 95.66% compared to head (41dbb46) 95.80%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   95.66%   95.80%   +0.14%
==========================================
  Files          77       78       +1
  Lines         461      477      +16
  Branches       59       68       +9
==========================================
+ Hits          441      457      +16
  Misses         20       20

Impacted Files
Coverage Δ

...ges/react/src/components/AppShell/src/AppShell.tsx
90.90% <ø> (ø)

...l/src/components/AppShellHeader/AppShellHeader.tsx
100.00% <ø> (ø)

...ts/AppShell/src/components/AppShellHeader/index.ts
100.00% <ø> (ø)

...ct/src/components/AppShell/src/components/index.ts
100.00% <ø> (ø)

...act/src/components/CalloutCard/src/CalloutCard.tsx
100.00% <ø> (ø)

...ponents/CalloutCard/src/calloutCard.definitions.ts
100.00% <ø> (ø)

...ataList/src/components/DataListRow/DataListRow.tsx
100.00% <ø> (ø)

.../components/DataListRow/dataListRow.definitions.ts
100.00% <ø> (ø)

...nents/DataList/src/components/DataListRow/index.ts
100.00% <ø> (ø)

...ct/src/components/DataList/src/components/index.ts
100.00% <ø> (ø)

... and 68 more

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Jquery is outdated 1.7.1

As per the title jquery is outdated and has a few CVE listed under it anyone who can join to fix the issue?
version used in BB: 1.7.1
Current version 3.5.1

duplicate of #796.


Sonarr Invalid Status Code Error

I have Unpackerr setup and functioning fine for Radarr, but watching the logs I see constant errors for Sonarr.  The whole setup is built on a Win10 VM machine. The errors read
"[ERROR] Sonarr (http://<IP_ADDRESS>:8989/): api.get(v3/queue): invalid status code, 404 >= 300, NotFound"
I'm a little perplexed because the only difference between Sonarr and Radarr is the port and it seems to be running just fine. I've confirmed everything is up to date and the Sonarr API key is correct. Also shutdown and completely restarted both the service, VM and the entire server.

Are you still running sonarr v2 which is EOL?

Sigh....
Yes.  I incorrectly assumed the "update" would have me on the latest version.
Thank you for pointing it out!


Fix bulb not showing up in selections even if code action exist

Send Code Action request only if the Region didn't changed for 800ms.
Previously we only checked if the .begin() of the region didn't changed for 800ms.
But in that case we might end up in situation when making a selection,
where we had code actions but didn't show a bulb, because the begin in selections didn't change.
https://github.com/tomv564/LSP/blob/f9c68aa98266e23f61b1254c3f41ee0af8c00f64/plugin/code_actions.py#L136
The bug:

After this PR gets merged:

Coverage decreased (-0.05%) to 35.554% when pulling c6f8b914b49d771e34e9a6d91cf2ec7e97c8399b on predragnikolic:fix/bulb-not-showing-up-even-if-code-action-exist into f9c68aa98266e23f61b1254c3f41ee0af8c00f64 on tomv564:master.

The bug to me is the bulb state changing at all when the selection begin() didn't change? I still see that the selection change doesn't effect the position sent to request code actions.

I still see that the selection change doesn't effect the position sent to request code actions.

It does affect the code actions get from the server.
https://github.com/tomv564/LSP/blob/1fb0957075294e193e5644dc663ebf714bf2f355/plugin/code_actions.py#L139
This point(current_region.begin()) is later used to get the sessions in view for that point.
def request_code_actions_with_diagnostics(...):
    for session in sessions_for_view(view, point):

Based on that point we extract point_diagnostics
if we have a point_diagnostics
we will send point_diagnostics[0].range
else we will send the whole selected region.
else region_to_range(view, view.sel()[0])

Here is the place where the Code action request is send
def request_code_actions_with_diagnostics(view: sublime.View, diagnostics_by_config: 'Dict[str, List[Diagnostic]]',
                                          point: int, actions_handler: 'Callable[[CodeActionsByConfigName], None]'
                                          ) -> 'CodeActionsAtLocation':

    actions_at_location = CodeActionsAtLocation(actions_handler)

    for session in sessions_for_view(view, point):

        if session.has_capability('codeActionProvider'):
            if session.config.name in diagnostics_by_config:
                point_diagnostics = diagnostics_by_config[session.config.name]
                file_name = view.file_name()
                relevant_range = point_diagnostics[0].range if point_diagnostics else region_to_range(
                    view,
                    view.sel()[0])
                if file_name:
                    params = {
                        "textDocument": {
                            "uri": filename_to_uri(file_name)
                        },
                        "range": relevant_range.to_lsp(),
                        "context": {
                            "diagnostics": list(diagnostic.to_lsp() for diagnostic in point_diagnostics)
                        }
                    }
                    if session.client:
                        session.client.send_request(
                            Request.codeAction(params),
                            actions_at_location.collect(session.config.name))
    return actions_at_location

I don't know if this is good behaviour or not :)

Ah yes you are right, the user could “select” more diagnostics! I had a hard time imagining if any users would intentionally do this.
What if we just send the range of the whole line? And only hide the bulb when the row has changed?

we should send the whole region, and we should send all diagnostics between that region :)
Here is how vs code does it.
we have a diagnostics at the variable d

we have a diagnostics at the variable d and c so both diagnostics are send,

we have a diagnostics at the variable d, c and b.

we have a diagnostics at the variable d, c, b, a and x.

I tried implementing this, but I hadn't had success.
But still I will push those commits so you could see what I tried.

But this is great research (and a really useful example!) So what is preventing us from matching VS Code in this case?

So what is preventing us from matching VS Code in this case?

Although I am pretty sure I sent the selected Sublime region, and all the diagnostics in between that region. The server seems like it only sends a response of the code actions underneath the cursor... maybe that is the way that the theia typescript-language-server implemented code actions. Im not sure.
I will need a little more time to figure this out 🙂

I merged this, but really hope for some follow up work to fix the real issues:

We currently filter diagnostics by point (instead of any diagnostic that overlaps the selection)
We send the first diagnostic's range as range, instead of the selection.

Would be awesome if we can find some of VS Code's reasoning about their implementation.


about ColBERT(BertPreTrainedModel)

Hello, I am reading your code to replicate the experiment. There are some questions about the model in "model.py".

in the query() function, "queries" are word lists. So, it can not be input into the self.tokenizer.encode() function. The standard input for tokenizer.encode() should be text.
in the doc() function,

docs = [["[unused1]"] + self._tokenize(d)[:self.doc_maxlen-3] for d in docs]

the result of "self._tokenize()" is a word list, not a word-piece list, so it is improper to be cut by the doc_maxlen which limits the number of word-piece tokens.
3. although in the paper it is said that "Unlike queries, we do not append [mask] tokens to documents.", in the code the encoding function is "_encode()" for both queries and docs with the same [mask] padding.

Thanks for reaching out! First off, it looks like you're using v0.1 but you might find the v0.2 branch a lot richer in features and more systematic.
For #1, queries (input to self.query(queries)) and docs (input to self.doc(docs)) are not lists of words. They are batches (lists) of strings, and are then tokenized into word-piece. Also notice that our v0.1 branch uses HuggingFace Transformers version 2.
For #3, this is an implementation trick for concise code; the statement in the paper is correct. The reason for this is that the tokens appended to the document are masked twice: (a) their attention_mask is set to zero (this applies in general) and (b) in self.doc lines 51--55 their output embeddings are also masked. Subsequently, during indexing, these embeddings are dropped entirely. This is applied to the document but not to the query. Thus, in fact, "Unlike queries, we do not append [mask] tokens to documents."
Let me know if you have any further questions!

Thanks for reaching out! First off, it looks like you're using v0.1 but you might find the v0.2 branch a lot richer in features and more systematic.
For #1, queries (input to self.query(queries)) and docs (input to self.doc(docs)) are not lists of words. They are batches (lists) of strings, and are then tokenized into word-piece. Also notice that our v0.1 branch uses HuggingFace Transformers version 2.
For #3, this is an implementation trick for concise code; the statement in the paper is correct. The reason for this is that the tokens appended to the document are masked twice: (a) their attention_mask is set to zero (this applies in general) and (b) in self.doc lines 51--55 their output embeddings are also masked. Subsequently, during indexing, these embeddings are dropped entirely. This is applied to the document but not to the query. Thus, in fact, "Unlike queries, we do not append [mask] tokens to documents."
Let me know if you have any further questions!

Thanks a lot for such a quick reply!!!!!!!
For Q1 and Q3, sorry, I do not notice the "Transformers" version. I will read the v0.2 branch right now.
For Q3, I understand your meaning but I still think the expression "Unlike queries, we do not append [mask] tokens to documents." is misleading. Actually, you append [mask] tokens, while they are masked like punctuation in the skip list.

Thanks a lot for such a quick reply!!!!!!!
For Q1 and Q3, sorry, I do not notice the "Transformers" version. I will read the v0.2 branch right now.
For Q3, I understand your meaning but I still think the expression "Unlike queries, we do not append [mask] tokens to documents." is misleading. Actually, you append [mask] tokens, while they are masked like punctuation in the skip list.

Not really, the query encoder is augmented with [MASK]s whereas the document encoder is not.
The document encoder never "sees" the [mask] tokens: they're masked in input, attention, and output, just like padding. This particular branch just saves a few "if" statements by clever use of attention and MaxSim masks, which could be confusing though.

Not really, the query encoder is augmented with [MASK]s whereas the document encoder is not.
The document encoder never "sees" the [mask] tokens: they're masked in input, attention, and output, just like padding. This particular branch just saves a few "if" statements by clever use of attention and MaxSim masks, which could be confusing though.

Hello, I've read the v0.2 code and found you have fixed the issue.
Another question is, Why do you sort the samples with 'maxlen' in a batch?

Hello, I've read the v0.2 code and found you have fixed the issue.
Another question is, Why do you sort the samples with 'maxlen' in a batch?

Indeed, v0.2 uses a more straightforward implementation for this so it's clearer. However, the behavior is identical to v0.1 as there was no 'issue' to fix.
The sorting by maxlen is just for efficiency during training, in case you use --accum N where N > 1. It helps reduce the amount of padding used for document representations. (This padding is what is masked and dropped, in the responses above. It's need to allow batch processing of variable-length documents.)

Indeed, v0.2 uses a more straightforward implementation for this so it's clearer. However, the behavior is identical to v0.1 as there was no 'issue' to fix.
The sorting by maxlen is just for efficiency during training, in case you use --accum N where N > 1. It helps reduce the amount of padding used for document representations. (This padding is what is masked and dropped, in the responses above. It's need to allow batch processing of variable-length documents.)

WOW,  it is such a precise pruning! Thank you for your reply. I learn a lot through reading!!!! I just roughly randomize samples before feeding them into the trainer.

WOW,  it is such a precise pruning! Thank you for your reply. I learn a lot through reading!!!! I just roughly randomize samples before feeding them into the trainer.

Hello, in "lazy_batcher.py", the function "_load_collection" is defined as follows.
def _load_collection(self, path):
    print_message("#> Loading collection...")

    collection = []

    with open(path) as f:
        for line_idx, line in enumerate(f):
            pid, passage, title, *_ = line.strip().split('\t')
            assert pid == 'id' or int(pid) == line_idx

            passage = title + ' | ' + passage
            collection.append(passage)

however, it seems there is no 'title' in "collection.tsv" file.

check again? :) https://github.com/microsoft/MSMARCO-Passage-Ranking

Hello, in "lazy_batcher.py", the function "_load_collection" is defined as follows.
def _load_collection(self, path):
    print_message("#> Loading collection...")

    collection = []

    with open(path) as f:
        for line_idx, line in enumerate(f):
            pid, passage, title, *_ = line.strip().split('\t')
            assert pid == 'id' or int(pid) == line_idx

            passage = title + ' | ' + passage
            collection.append(passage)

however, it seems there is no 'title' in "collection.tsv" file.

check again? :) https://github.com/microsoft/MSMARCO-Passage-Ranking

That's right, MS MARCO doesn't have titles. But lazy_batcher isn't used with the official MS MARCO data. You can see that training.py automatically selects eager_batcher instead for this type of dataset.

That's right, MS MARCO doesn't have titles. But lazy_batcher isn't used with the official MS MARCO data. You can see that training.py automatically selects eager_batcher instead for this type of dataset.

Hi @okhat ,
if my dataset has title and i want to use EagerBatcher instead LazyBatcher (LazyBatcher seems more complicated than than EagerBatcher), is oke if my collection is already in (title + ' | ' + passage) format ?
Can you explain more detail about when we should use LazyBatcher ?


Added support for PUT and DELETE actions

Hi there @OneOfOne! I've been looking for a solution for generating dynamic route to express.js and came across your solution. However, to meet the requirements of my implementation I needed your solution to support all the REST methods so I decided to open this pull request with the addition of support PUT and DELETE methods to your source code. I have tested this implementation throw my source and its seems OK. Hope you can add this to a new version of your solution soon. Greetings!

Looks good, thanks for the patch!


Incomplete XML Escaping

I have a stack track that will cause non-escaped XML to be produced...
Here is the message I think is causing the problem:
javax.ejb.EJBTransactionRolledbackException: The transaction has been marked rollback only because the bean encountered a non-application exception :javax.persistence.PersistenceException : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 22,939 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
Error Code: 0
Call: SELECT id, last_updated, object_class, object_salesforce_id, object_id FROM mappings WHERE ((object_class = ?) AND (object_salesforce_id = ?))
    bind => [2 parameters bound]
Query: ReadAllQuery(name="findMapping" referenceClass=Mapping sql="SELECT id, last_updated, object_class, object_salesforce_id, object_id FROM mappings WHERE ((object_class = ?) AND (object_salesforce_id = ?))")

I'm going to fix this by using commons-lang3 and their [[escapeXml|http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#escapeXml(java.lang.String)]] method.

Should be fixed in https://github.com/airbrake/javabrake


Support skinny selection session

#2629
Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[x] tests are included
[x] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
This PR is to support using new search UI in Skinny Selection Session.
Changes can be basically categorised in three parts:

EBP  changes to improve UI; and
Typescript side changes to make new search UI work properly in Skinny; and
Jest tests for above changes.

Here are two videos: Moodle and Brightspace

I notice on the brightspace video there is a big delay between clicking the chosen attachment and anything happening (think it was > 5 seconds). I'd be keen to see what the old UI did for this, as it feels like we need some kind of spinner type indicator.
Could you please have a look at the old and see how it compares?

We have found another issue in Selection Session - the implementation of 'updateTemplate' is a nop so there is no actual error handling happening when errors occur. Perhaps we create another bug ticket and do that in another PR ?

I notice on the brightspace video there is a big delay between clicking the chosen attachment and anything happening (think it was > 5 seconds). I'd be keen to see what the old UI did for this, as it feels like we need some kind of spinner type indicator.
Could you please have a look at the old and see how it compares?

I have confirmed that there is nothing indicating a selection is in progress in old UI, too.

We have found another issue in Selection Session - the implementation of 'updateTemplate' is a nop so there is no actual error handling happening when errors occur. Perhaps we create another bug ticket and do that in another PR ?

Good plan. :+1: Please do and reference to this PR.

Here is the ticket about error handling #2725 .


Automation step fix

Signed-off-by: randybrunopiverger<EMAIL_ADDRESS>regarding: https://github.com/open-cluster-management/backlog/issues/15204

/cc @jeswanke @KevinFCormier

/lgtm


when do we use domain update function

after  some investigation i found out that  this function:
https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/libvirt/resource_libvirt_domain.go#L536
is never "covered by testacc" even when it should.
The ForceNew attribute on resource is forcing new resource instead of updating it.
The open question is why do we have the update call if we don't use it ( still searching)
https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/libvirt/resource_libvirt_domain.go#L54

@dmacvicar  do you know why we have the domain update function at L536?
i did git blame and found out:
https://github.com/SUSE/spacewalk/issues/5485#issue-351253027
since we have default parameter that set ForceNew to true, we will never go to domainUpdate function
like https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/libvirt/resource_libvirt_domain.go#L67

ForceNew set to true in default parameters should not influence the calling of the Update hook. As I understand the model it is when an attribute marked as ForceNew CHANGES that the Update hook not called, but the whole resource destroyed.
In this example, as our Update hook does not implement switching the amount of memory after the resource is created (we could investigate if libvirt supports that), then if you change the value after the domain is created, the provider would then have to recreate the domain.
If this is not working, I would suspect that there is an attribute with ForceNew being marked as changed when nothing really _changed.


improve sqlcipher tests

I fixed windows error in sqlcipher tests and force to create temp dir to be created in operating systems temp directory with the help of tempfile module for each test method.

Thanks for the PR


Setup SSL/TLS connections on NEXT Demo environment

User Story Title
Setup SSL/TLS connections on Demo environment

User Story
Setup SSL/TLS connections on Demo environment

T-Shirt Size
S

Story Points
2

User Story
"As a Sawtooth NEXT consuming enterprise, I want my personally identifiable information to be protected in transit"

Description
Setting up SSL/TLS connections (use https versus http) on our demo environment will ensure data is being encrypted as it goes through the NEXT demo. One method we could go with is to implement an optional NGINX container, pass in an SSL certificate that listens on port 443 and redirects traffic to port 4201.

Business Need (the why):
SSL/TLS connections are needed to encrypt traffic within NEXT and prevent malicious actors from sniffing the traffic, helping us satisfy privacy laws.

Acceptance Criteria/Tests
The UI and REST API endpoints should be available at https://next.corporate.t-mobile.com

Applications or Systems impacted

Details
Explore the HL projects for self-signed certs in pre-prod environments, https://hyperledger.github.io/composer/v0.19/integrating/securing-the-rest-server

We don't think we need this for the demo - taking DEMO tag off

This is titled as a Task but it doesn't seem to be in support of any other story.  Also sounds like it may be a non-trivial bit of work.  Should it be a story instead?

chatbot apparently has issues... bumping the estimate and moving out of s12

needs to work for the following:
next.corporate.t-mobile.com
stage.next.corporate.t-mobile.com
dev.next.corporate.t-mobile.com


[feature request] Read receipts in chat list

if the most recent message was sent by the user, then display the read status in the chat preview (probably a toggle lmao

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @scarlett in #feedback.

Done


Fixed recursive steiner-gauss bug

I also added some documentation and made a few refactors to make the code more legible/understandable.
The problem was that the recursive steiner tree building process required both sides of the edge in the graph to be "out of order" (aka in rec_nodes), but in reality, there will be at least 1 node in usable_nodes that is not in rec_nodes which is needed to combine the two subgraphs.
In addition to this, the vertices of the architecture are assumed to be in a post-order DFT labeling and the architecture still requires a reduce_order that has the order in which the vertices can be removed without disconnecting the graph (largest vertex first). I will write the algorithms to do this automatically later.

I also fixed that the architecture is automatically labeled according to the DFT post-ordered labeling that is assumed by the rec_steiner_gauss algorithm.
The algorithm also requires a spanning tree along which the qubits are removed one-by-one, which is stored in the reduce_order. But now, the Architecture class doesn't require that parameter any more nor a "properly labeled" graph


Add provide and refuse feedback links in the support UI

Context
As developers (and probably others!) we would like to be able easily and intuitively access the RefereeInterface. This change does this in the simplest way possible by adding Provide feedback and Refuse feedback links to the summary headers in the ReferenceWithFeedbackComponent. This component is rendered on the application show page.
These links only show on test environments and for references in the feedback_requested state.
Changes proposed in this pull request

Add links to the summary header for references in the feedback_requested state in the Support UI

Before
After

Guidance to review
Does this approach seem reasonable? My approach for this is to do the bare minimum to get it working. There might be a need later to build in a reference section/tab in the Support UI, but it seems a bit overkill for now. I can't really see the need for it tbh and we can always iterate later if needed.
Is the design okay? Should it be clearer that these only show on test envs?
Are the links only showing when they should be?
They def shouldn't be showing on prod & it seems to be they should only show for references that are awaiting feedback.
Link to Trello card
https://trello.com/c/9XYQ3CEk/2624-dev-allow-signing-in-as-a-referee-from-support-not-in-production-though
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

@davidgisbey There are quite a number of features in support that can only be seen on test environments. If we think it’s important that this be highlighted, we can look at that in a separate issue (I began to have some thoughts, but it needs a more holistic approach)
Meanwhile, how about we do this: show the ‘Reference’ row if no reference has been given, and show the links there instead:


linter: Remove diff checker for legacy and new codec sources

Commit Message:
Remove diff checker for legacy and new codec sources. Any functional changes to codecs should have corresponding unit tests, and since the same unit test tests both implementations, any functional differences should be detected by the test.
Risk Level: Low
Testing: Run check_format
Docs Changes: N/A
Release Notes: N/A
Signed-off-by: Yan Avlasov<EMAIL_ADDRESS>

Obsoleted by PR #12149


Use hir formatter for hover text

Fix #2765 , (should) fix #4665

Hm, I am debating whether this is the right approach at this stage... The problem is, most of the code shouldn't even touch the AST,  as, long term, not all the things will have AST (see https://github.com/rust-analyzer/rust-analyzer/pull/7900#issuecomment-796654409).

What would it take to move hover from AST to hir?

@matklad

What would it take to move hover from AST to hir?

add_function_impl actually takes a hir::Function parameter. It should not be complicated. And we already has HirDisplay.
There are many changes after the last time I step into the code related. I'll look into it later.

It seems hir::Function doesn't save enough data for the signature. Like the extern ABI, form or self parameter and parameter names/pats are all missing. There is also no generic arguments or where predicates in FunctionData but I believe they should be somewhere else I missed.
https://github.com/rust-analyzer/rust-analyzer/blob/b885e6bdeeb1023df53b3f292cfe301448eeaeef/crates/hir_def/src/data.rs#L20-L33
Also, HirDisplay is currently defined in hir_ty, as dependency of hir. I don't think that's the correct place for the trait.

form or self parameter and parameter names/pats are all missing.

Yeah, this is tricky. We have hir::Param and hir::SelfParam, and those should grow additional methods to get that info. Note that, while getting the type of param could not fail, getting the patter should return an optional ast. Parameter patterns are not a part of function ABI, so hover code should be prepared to handle the cases where they are not there.
So, something like this:
impl hir::Param {
    fn patteren_source(&self, db) -> Option<ast::Pattern> {
        let fn_source = self.func.source(db)?;
    }
}

Generics you can get as let generics = hir::GenericDef::Function(fun).params(ctx.sema.db);. Again, a particular form of where clauses is not something we are guaranteed to know.
The extern ABI I think is currently missing altogether. It should be added to  item_tree::Function, FunctionData and hir::Function

It almost works now.
Note that due to the de-sugar, generic predicates are split-ed and all go to where part.
It may not exactly the same as the original syntax, but should has equal semantic.

Yeah, this is good, thanks for working of this @oxalica, that's an important building block for many things!

changelog feature add HIR formatter infra and use it for hover text:

bors r+


All player vars

Could we get a list of all the possible player vars?

https://developers.google.com/youtube/player_parameters

Up, player vars "showinfo" : "0" and "modestbranding" : "1" seems to be self exclusive, both parameters work when alone but when putting them together, modestbranding is ignored, any solution? I don't want to be able to tap a link inside the player.

I'm going to close this since it doesn't seem to be an issue with the library itself. Thanks!


Validating image with identify. Fix #1225

I did that - https://github.com/resolve/refinerycms/issues/1225#issuecomment-3553946

Thanks!

This actually prevents the links to the images putting the file extension on them. cc @markevans how do we get the file extensions to apply based on what identify says it is?

Hi - when trust_file_extensions is false, a url format of
 /something/:basename.:format

will not use the file extension for the format, so either add a 'magic_attribute' column for format, so that identify is called on upload and stored in a column, which can be used for the url, OR just change the format to something like
/something/:name

(which is equivalent to /something/:basename.:ext)
The only thing about the latter is that if you encode it to a different format as part of the job, the 'ext' won't change.
So which way you choose depends on what you want to do.
Hope that makes sense.

Awesome thanks @markevans!


bots: Fix muting of cross realm bots.

Previously, we weren't able to mute the system bots. This was because, for muting the users, we mute only those profiles which are in realm, excluding the cross realm profiles.
This is fixed by replacing the access_user_by_id method in the muted_users file with a new method access_user_by_id_including_cross_realm to include cross_realm as well.
Fixes: #27823

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

I made the change suggested above, which amount to something of a rewrite of this project, and pushed back here in order to merge this change. I hope the comments help you in your next PRs to think about the types of carefulness issues brought up here -- copy-pasting comments to a place where they are no longer accurate is a really common error for new developers, and it's very important, because reading code with inaccurate/confusing copy/pasted comments very quickly becomes unpleasant. It's a lot less total work for the project over time to avoid making mistakes like that the first place.


Is it possible to set a max-width on each carousel item?

The items are fine when they're not that wide:

But once text in them gets too long, it just clips off the edges:

And setting a max-width on flipster__item causes the item to move to the left and down and breaks navigation:

Are you adding the max-width in your CSS or with dev tools? If you edit it on the fly in dev tools, you'll need to trigger a resize event. Simply changing your browser window size should do it.

That was it exactly. Works fine after dragging the window. Thank you!

Glad that helped! I was hoping that was all it was, since max-width has never posted a problem before :-)


RFC: Expose schema name in TadaDocumentNode

Summary
When using multiple schemas it would be useful to know what schema a TadaDocumentNode belongs to. Having this information available simplifies the need to remember and track which query-to-client combinations are required. Since we already provide a name for each schema we would just need to pass that to the TadaDocumentNode.
const MyPokemonQuery = pokemon(`
  query PokemonsList($limit: Int = 10) {
      pokemons(limit: $limit) {
        id
        name
      }
  }
`);

const {data} = useQuery(MyPokemonQuery, {
  client: MyPokemonQuery.name,
});

if(MyPokemonQuery.name === "pokemon"){
  // Do something
}

Proposed Solution
Provide a way of extracting the name of a schema from a TadaDocumentNode.

Hiya :wave: this is something we won't do and can't do for several reasons, let me explain ❤
First of all — this is explained in some discussions related to enums — we don't and won't utilise codegen that generates runtime values. Hence, we have no place to put a runtime value, such as the schema.name config value. In other words, all code that gets run at runtime is user-determined, and gql.tada itself has no runtime code that is specific to a schema. This is a really important distinction, which avoids re-generation and compatibility problems, when we're talking about type-gen/code-gen, and incompatibility in your schema versions, but it also means that we won't have a place to put other values.
Second, this doesn't stop you from having user-land solutions for this. You can still emulate this by placing custom directives on your queries, or modify the graphql function to do this for you, since you'll have to create one per schema.
Third, we have to be rather strict about what the output of the graphql function is, as we're trying to align with other tools for compatibility reasons. There are many tools that remap/process GraphQL documents, and a lot may assume that they're getting a standard AST. Hence, if they copy/clone the AST, they may drop properties they don't know about, so if we added a name property, we can't guaranteee that it won't be gone if you receive an AST in other parts of your code. It would also not be typed there, since some APIs may simply type them as DocumentNode.
Lastly, multi-schema support is not meant for you to contact multiple GraphQL schemas on the client-side. In general, that's not what GraphQL is good at and doesn't play into GraphQL's strengths. You'll see in the devlog post that we carefully avoided specific phrasing to not hint at using multiple client-side schemas.
That's because GraphQL quickly loses its benefits when you don't build your schemas to be client-specific, i.e. client-specified.
While we acknowledge that it's sometimes beneficial (e.g. a colocated admin dashboard with an admin schema and API), that doesn't mean that this is something we'd actively support.
So, tl;dr, I can't really see the minimum crtieria here that we'd need to accept this RFC, meaning. You're not going into detail with a use-case here or something you can't do, but I think the workaround would be sufficient, if you really want to go down that route.
My recommendation hence here is to wrap the graphql function and to provide your own name property per schema. Further, if you're using multiple third-party schemas on your client-side, this isn't a supported use-case, and isn't accounted for in a lot of the GraphQL ecosystem by design.
Hope that makes sense ❤
Happy to help further if you have more questions :v:


Filter out internal kafka logs

These are somewhat useless and take up a lot of space in the logs. Delete.
Heartbeat failed for group eth because it is rebalancing

This could be a way to do it in app/__init__.py:init_logger
https://stackoverflow.com/a/879937/4249857