Provide a changelog tab when this file is bundled in the package

Hi @XVincentX, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Coverage remained the same at 61.094% when pulling e38c8732cef99454028017b5309ba5e440a227fb on XVincentX:master into fc54f4b15d752c18311255c12ab186361406afb7 on Microsoft:master.

Dude, that was FAST! I'll review it asap.

Coverage increased (+0.04%) to 61.129% when pulling 23815a07bf545a42b2ecd039601efe062ea91e2f on XVincentX:master into fc54f4b15d752c18311255c12ab186361406afb7 on Microsoft:master.

Coverage increased (+0.04%) to 61.129% when pulling e0f529fb8157366c32c590c0380d7b0bd693e3e7 on XVincentX:master into fc54f4b15d752c18311255c12ab186361406afb7 on Microsoft:master.

Coverage decreased (-0.01%) to 61.117% when pulling b98c3f7d79bbd8f9c0ea05b73f273a5d2010cb27 on XVincentX:master into 91115aa714f7f0aab97cdda37e63db97db8ea884 on Microsoft:master.

@joaomoreno Thanks!
What's going to happen about remote file extension in the gallery? Can I do something about that?

Sure, I've updated the first comment in #11940 with the next steps.


 (That works with multi-guilds)

Giveaway delete command ✅
Giveaway delete command ✅

Finished!


unable to valid switch

Problem description

Problem location

I saw a problem on the following URL:

I couldn't find the information I wanted. I expected to find it near the following URL:

Other:

Project version(s) affected

Suggestions for a fix

Closing empty ticket


[WIP] Message Passing based on torch_sparse.SparseTensor

Codecov Report

Merging #1015 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1015   +/-   ##
=======================================
  Coverage   96.48%   96.48%
=======================================
  Files         151      151
  Lines        4974     4974
=======================================
  Hits         4799     4799
  Misses        175      175

Impacted Files
Coverage Δ

torch_geometric/nn/conv/message_passing.py
97.91% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


how can I make text selectable?

how can I make text selectable? i try with:
$('.swiper-slide select').on('MSPointerDown pointerdown MSPointerMove pointermove MSPointerUp pointerup', function(e){
e.stopPropagation();
})
but nothing...

$('.swiper-slide select').on('touchstart mousedown MSPointerDown pointerdown', function(e){
  e.stopPropagation();
})

I tried but it does not work, if possbile I must find a way to be able to select text while the function of swipe...


Abnormally high CPU usage when editing files quickly

Version of Marp Tool
Marp for VS Code v2.8.0
Operating System
Windows
Environment

OS version: Windows 11
VS Code version (Marp for VS Code): VS Code 1.85.0, 1.85.1

How to reproduce

Repeat the code change quickly. (e.g. alt+arrow keys in succession)
Temporary increase in CPU usage
VS Code runs slower

This is especially noticeable when markdown.marp.enableHtml is true.
Expected behavior
CPU utilization is within the sensible range.
Actual behavior
On notebooks and other less powerful computers, CPU utilization rises to about 50%.
Additional information
I assume that even after the code change, the conversion from the previous change has not been canceled.

The more external URLs you register in markdown.marp.themes, the slower it will run.

Since Marp uses the Markdown preview mechanism provided by VS Code, we are skeptical whether this issue is specific to Marp. Please verify if the CPU usage problem is indeed caused by the Marp for VS Code extension.
For instance, there might be other extensions or non-extension processes in VS Code that could be consuming CPU resources. If you disable all extensions except Marp, does the issue still occur?
Furthermore, please check if the CPU usage increases in the default Markdown preview of VS Code.
If it is surely confirmed that the Marp extension is the cause, please share the CPU profiles during the moments when the CPU usage is high.
https://github.com/microsoft/vscode/wiki/Performance-Issues#profiling-the-shared-process

I am unable to save a Performance Profile due to a bug in Chromium.
https://github.com/electron/electron/issues/39818
https://github.com/microsoft/vscode/issues/200668

This is a screenshot of the Performance Profile.

After disabling each of the extensions, we found that it occurs when Markdown All in One and Marp are enabled at the same time.
CPU usage did not increase when editing non-Marp Markdown files with Markdown All in One enabled.

The documentation of Markdown All in One extension seems to have mentioned about the incompatibility with Marp for VS Code.
https://markdown-all-in-one.github.io/docs/guide/compatibility.html#incompatibility
According to the documentation, that is especially concerned about the outline extension by Marp (microsoft/vscode#132741). You might mitigate compatibillity problem to disable Marp's outline extension markdown.marp.outlineExtension.

FYI I have been using the two extensions at the same time for a long time, and I have not experienced any clear problems about compatibillity.

Thank you for your research. Disabling the markdown.marp.outlineExtension did not change the problem, it only occurs when I write HTML tags, so I will disabling Markdown All in One when I write HTML to create slides.


Removed modernisation-platform/terraform/modules/bastion_linux

Removed modernisation-platform/terraform/modules/bastion_linux and copied the relevant files over to a separate repository modernisation-platform-terraform-bastion-linux

Before merging this one in there is infrastructure using this module still in the environments repo - https://github.com/ministryofjustice/modernisation-platform-environments/search?q=bastion_linux
It would be good to switch them over to the new module first and test before removing this code. 👍

Before merging this one in there is infrastructure using this module still in the environments repo - https://github.com/ministryofjustice/modernisation-platform-environments/search?q=bastion_linux
It would be good to switch them over to the new module first and test before removing this code. 👍

Thanks for pointing this out @davidkelliott We have now merged the PR https://github.com/ministryofjustice/modernisation-platform-environments/pull/92 as nomis deployment and terraform plan worked without issues and the rest of the errors seemed irrelevant to the changes. Therefore, now that the environments are pointing to the new versioned module, I am merging this PR to remove the files that are no longer used.


[DOC] -  Incorrect package/import paths in motion guides

1. Read the FAQs 👇
2. Describe the bug
On the page/anchor https://motion.dev/docs/react-lazy-motion#features
import * as m from "motion/m" should be import * as m from "motion/react"
On the anchor https://motion.dev/docs/react-lazy-motion#async-loading
import { domAnimations } from "framer-motion" should be import { domAnimation } from "motion/react"
3. IMPORTANT: Provide a CodeSandbox reproduction of the bug
¯_(ツ)_/¯

Thank you for posting this issue! One addition:
import * as m from "motion/m" should be import { m } from "motion/react"
m is a named export and doesn't require importing the entire package using * as m. Took me awhile to figure this out. The docs are incorrect.

Thanks for the report- just publishing these changes now.
import * as m from "motion/react-m" and  import { m } from "motion/react" are technically the same, we only document the first though as its guaranteed to work with React Server Components.


Missing docs?

Several previous issues like #303 reference docs like https://developer.twitter.com/en/docs/developer-utilities/twitter-text which seems to no longer exist.
Searching the twitter developer docs for "twitter-text" yields no results and the list of official twitter libraries no longer mentions twitter-text.
Which leads me to a few questions:

Where can we go to view basic documentation for these packages aside from reading through the source code? I'm specifically interested in the JS library.
Is this library still actively maintained by Twitter?
If I have a tweet object from the Twitter API, what's the best way in JS to manage it with convenience methods?

Thanks!

Thanks for raising this. As part of resolving issue #303, we took down the page on the developer website, as the content was being duplicated between that page, the README for the library, and the Counting Characters page (which now is in much better shape in terms of describing the way this library handles counting).
You're right that twitter-text therefore lost its prominence on the developer site, and we need to work on fixing that. The Counting Characters page does point at this repository, but I think that may be the only reference to it.
Answers for you:

Each of the relevant packages should be published to their respective package managers (npmjs in the case of the JS code) and documented there and in the local readmes here on GitHub.

Yes, this library is maintained, and we do our best to keep any internal changes in sync with GitHub. Sometimes there are some delays, related to using slightly different review and CI tooling etc internally.

"It depends" - on what you want to do.

For example, I have a Gist here that takes a Tweet's text and then validates and tokenizes it using the JS library.
Note that twitter-text is all about tokenizing the text content of a Tweet - it does nothing special with anything else you'll find in a Tweet JSON object.


nextToken Pagination does not work for Iot list_job_executions_for_thing

Issue
The nextToken param does not work for the function list_job_executions_for_thing in the iot service.
The Bug
This boolean condition will always return True since the same variable job_executions is being overwritten in the line above. Hence the pagination will never work.
Solution
Change the var job_executions to something like job_executions_filtered for the return value
        token = next_token
        if token is None:
            job_executions_filtered = job_executions[0:max_results]
            next_token = str(max_results) if len(job_executions) > max_results else None
        else:
            token = int(token)
            job_executions_filtered = job_executions[token : token + max_results]
            next_token = (
                str(token + max_results)
                if len(job_executions) > token + max_results
                else None
            )

        return job_executions_filtered, next_token

Thanks for raising this, and for providing a fix, @rohit-dua!
We should pick this up after #3752 is merged, and we can refactor this to use the decorator, instead of messing around with the next_token manually.


On imports, make analyser complain about wrong capitalization.

Windows, IntelliJ
Dart SDK: 1.24.2
This is the second or third time I've been dumbfounded by really strange issues, like is statements not working for certain types. Only to discover that some import path in some file was wrongly capitalized. Could you please make the analyzer catch this? It behaves as if imports are case insensitive.

This is likely a symptom of running on Windows. If you miscapitalize a file name, you get distinct URIs that both load the same file (because the Windows file system is case insensitive).
If the analyzer doesn't treat those as separate libraries, it is doing it wrong.


Simplify Dependencies

I couldn’t get it to run locally yet, but I can already see we can probably simplify a lot of dependencies:

[ ] Get rid of the ruby dependency by switching sass and compass to node-sass
[ ] Get rid of the bower dependency by installing all necessary packages via npm

Unfortunately, I cannot code & test it, since nothing works for me yet, otherwise, I’d have made a PR ;).

I assign myself to it.
To @pietercolpaert I got almost a pr ready for this one.

@Tjoosten great!

@Tjoosten Sounds great! You're working on making hyperRail work with gulp instead of grunt, right?

@pietercolpaert Yes slowly I will demolish grunt and replace it wilt Laravel Elixir that is based on the GulpJs systems

@Tjoosten if you need a good example to start with, check out the gulp workflow here: https://github.com/getchopstick/chopstick-boilerplate/blob/master/gulpfile.js or here: https://github.com/mono-company/bedrock/blob/master/gulpfile.js. Not 100% relevant but architecturally a good example.

@xavez i'm using the default laravel-elixir system for this.
@pietercolpaert can u describe the asset files. What is included in what asset file. Because it's a horrible experience for me reading these grunt files.

@Tjoosten Sorry, I cannot help here. Maybe @bramdevries can?

@Tjoosten Any update? Are you going to be able to PR this or should someone else do this?

Maybe open a PR with the work already done so there can be collaboration? There are quite a bit of dependencies right now.

Will do it later in the night if you don't mind

Sure, I don't mind

I wanted to tackle this (together with updating to a newer angular version and maybe look into other optimizations) but I couldn't get the server running, I have php but the composer thing just didn't work. Is there maybe a possibility to either help me or  change that to make it easier to get started?

What server are you trying to get running?
Setting this project up is a pain, from the top of my head you need npm, compass, grunt and bower installed. I'll see if I can reduce the dependencies a bit next week if I have the time, wasn't aware of this issue.

I just tried to run it from scratch. You do not really need to bower and grunt. These were the steps taken:
(mind that you also now need php-intl, composer and npm installed):
git clone git@github.com:iRail/hyperRail.git
cd hyperRail/
cp .env.example .env
composer install
php artisan key:generate
chmod -R 777 storage/
npm install
php -S localhost:8081 -t public/

And your development version of the hyperRail app should be running at http://localhost:8081
I agree that this workflow is way too complex for a simple application like iRail.be and we should work on a better one. All suggestions to move towards that goal are welcome!

I didn't do the env copy so maybe that was it :P, let me try again next week. I might do a pr to the readme first to make the install step clearer 😊

@pietercolpaert Don't forget what's installed globally on your computer already ;) Had to install some tools like compass which weren't installed globally for me yet.

@AdriVanHoudt Thanks! Looking forward!
@Bertware the client-side script builds are included in the repository, so it’s optional to get that up and running... Yet indeed, documentation can be better


Returning a date object throws?

This was a surprise to me:
        //The Ion specification allows year only precision, Javascript's Date does not, Ion has infinite precision decimal seconds whereas Javascript's Date rounds to milliseconds.
        //We have opted to allow users to generate Date objects within try catch statements so they can handle the specification differences as they see fit.
        //This is a one way lossy translation for user utility, do not use a Date to roundtrip data or expect any support for lossiness within the Date class and its APIs.
        if(this.precision === Precision.YEAR || this.precision === Precision.SECONDS) {
            let error =  new Error(this.precision === Precision.YEAR ? "Year" : "Seconds");
            error['date'] = date;
            throw error;
        }

First, relying on try/catch to control flow is a definite anti-pattern.
Secondly, if I want to shoot myself in the foot, I'd like to be able to without a try/catch, currently I am doing Date.parse(reader.value().stringValue());, which seems worse.

Agreed, this is an anti-pattern.

Resolved by #361 -- Timestamp.getDate() no longer throws a return value.
Also note that Timestamp.stringValue() is now Timestamp.toString().


Mypy ignore_missing_imports improvements

Only allow missing imports for specific modules that we know
don't have types.
Also run mypy against installed broadbean
See matching pr in qcodes https://github.com/QCoDeS/Qcodes/pull/4484 and https://github.com/QCoDeS/Qcodes/pull/4484

Codecov Report

Merging #213 (da4dfde) into main (953384f) will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #213      +/-   ##
==========================================
+ Coverage   79.10%   79.18%   +0.08%
==========================================
  Files          16       16
  Lines        2407     2407
==========================================
+ Hits         1904     1906       +2
+ Misses        503      501       -2

Impacted Files
Coverage Δ

broadbean/sequence.py
70.15% <0.00%> (+0.19%)
:arrow_up:

broadbean/tests/test_awgfilegeneration.py
97.14% <0.00%> (+1.42%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Send proper Content-Types for assets

Currently the server sends no Content-Type at all for js/css/fonts/svgs that are served up, causing confusion in some browsers.

MS Edge has a much more consistent problem with this and won't show our fonts if hosted by Cattle.

Does this help? it has errors CSS3120, CSS3111

@RobertKozak We know that the problem is that Cattle serves up the font with the wrong headers, it just hasn't been fixed yet.


Update first_app.md

Removed references to console.json, which gets automatically deleted by the CLI upon application boostrapping.

BTW I noticed a strange behavior where console.json gets generated and then deleted when running aio login / aio logout .. Not sure if I can reproduce again though


Provide binaries for releases

Hi,
I'm currently trying to install nostr-rs-relay. However i'm having a hard time with both options described in the README, be it with or without Docker.
I don't fear too much as i'm used to handle such difficulties so i'll get through it.
However i am a bit surprised that no binaries are provided for the releases to allow people to just download an go with the service, which helps people with few rust knowledge to avoid headaches regarding compilation.
Could it be a possible option to provide some binaries when shipping releases ? This is what i did for nostrss. You can find the Github actions to ship the binaries as assets on release on this Github action file
Many thanks

Good idea, but this is going to be a little bit more difficult than just pulling in your excellent example, I think.  It did not seem like the cross docker images had a recent enough version of protobuf-compiler for our setup here.  I will keep playing with it, but it seems like we either need a new base image, or to not use cross and limit the release to a single platform.

Builds are available from sourcehut; example: https://builds.sr.ht/~gheartsfield/job/1105920
Still planning on producing binaries for releases, I'll try to do that for the next one.  Not 100% sure where to host it yet.  The sourcehut binaries are pruned after 90 days, so that won't work; but perhaps I can attach to the tagged release over there.


Add large timeout for config commit - junos

If a config to be pushed is incredibly large (a few thousand lines),
commit operation may take unusual amount of time. Setting a large
timeout to avoid channel timeout.

Hey Nitin!
Could you test out simply setting the timeout ops value on the "core" driver to see if that also sorts this issue (it should I think). Like here:
	d, err := core.NewCoreDriver(
		"hostname",
		"juniper_junos",
		base.WithPort(22),
		base.WithAuthUsername("root"),
		base.WithAuthPassword("password"),
                base.WithTimeoutOps(300 * time.Second),
	)

I'm not super in love with adding a timeout hardcoded in the commit config method. If the above works and you dont feel like its a good path to set the timeout on the "base" connection then I think a better fix would be to add a timeout option to the supported cfg options... obviously that would be a bit more work but I think would be a better solution overall. Hopefully that makes sense!?
Carl

Hey Nitin!
Could you test out simply setting the timeout ops value on the "core" driver to see if that also sorts this issue (it should I think). Like here:
	d, err := core.NewCoreDriver(
		"hostname",
		"juniper_junos",
		base.WithPort(22),
		base.WithAuthUsername("root"),
		base.WithAuthPassword("password"),
                base.WithTimeoutOps(300 * time.Second),
	)

I'm not super in love with adding a timeout hardcoded in the commit config method. If the above works and you dont feel like its a good path to set the timeout on the "base" connection then I think a better fix would be to add a timeout option to the supported cfg options... obviously that would be a bit more work but I think would be a better solution overall. Hopefully that makes sense!?
Carl

Hey Carl, thank you for a quick reply. You are right. What you suggested works perfectly well so we can discard this PR :). I will pass this parameter instead. I did try setting the timeouts at NewCoreDriver but looks like I was setting the wrong one (Socket Timeout) hence it didn't work.

Awesome glad to hear its working 🔥 !


Delegation edit bugs

[ ] In participant edit view and the edit dialogue in the participant list, the participant search selectors for the delegations don't show the currently selected names
[ ] Changing the delegations in the participant edit view may not be recognized, causing the "save" button not to be enabled.
[x] #2304

Set a delegation between two users A and B in the edit dialogue
Open detail view of one of the two users and delete the delegation there
Return to the list: One of them will still show the delegation, even though it is gone.
Reloading the page fixes it

This happens as well when other users receive the update, this can cause the polls to show delegation voting options that shouldn't exist

The first bug is somehow happens if the selected user is very far down a long list of options, and it will show once one has scrolled down all the way to it.
I have no idea why it happens, though.
Also I can't seem to replicate the second bug


Differences between generated and manual DB schema

We have observed long query times when accessing job tables which prompted a look at the DB schema. For the job issue, we noticed a missing index that was previously present with the custom DDL script. Adding that significantly reduced our query times and just job scheduling. For that, I will create a PR. However, I also found other differences. This issue is mostly there to document them. Many probably will not lead to performance issues. However, there are many foreign keys missing previously with the ON DELETE CASCADE options. There may therefore be records in tables that are no longer relevant. Additionally, some tables no longer have primary keys (others never had them to begin with).
Other things we noticed:

oc_oaipmh_harvesting was never dropped in a migration although no longer used in the code
oc_user_settings is probably never generated as the service behind it is never used by the frontend. We may want to drop this feature altogether. In any case, the schema has an error in the unique constraint that will prevent users from storing more than one setting.

I tried to represent the differences in a diff like manner in SQL syntax:
CREATE TABLE oc_organization_node (
-  PRIMARY KEY (organization, port, name),
)

CREATE TABLE oc_organization_property (
-  PRIMARY KEY (organization, name),
-  CONSTRAINT FK_oc_organization_property_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

- CREATE INDEX IX_oc_organization_property_pk ON oc_organization_property (organization);

CREATE TABLE oc_capture_agent_role (
-  PRIMARY KEY (id, organization, role),
-  CONSTRAINT FK_oc_capture_agent_role_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
+  UNIQUE INDEX unq_capture_agent_role_id_org_role (id ASC, organization ASC, "role" ASC)
+  CONSTRAINT FK_oc_capture_agent_role_organization FOREIGN KEY (organization, id) REFERENCES oc_capture_agent_state(organization, id),
)

CREATE TABLE oc_capture_agent_state (
-  CONSTRAINT FK_oc_capture_agent_state_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

CREATE TABLE oc_job (
-  CONSTRAINT FK_oc_job_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

CREATE TABLE oc_job_argument (
# No PK
)

- CREATE INDEX IX_oc_job_argument_id ON oc_job_argument (id);

CREATE TABLE oc_incident (
-  CONSTRAINT FK_oc_incident_jobid FOREIGN KEY (jobid) REFERENCES oc_job (id) ON DELETE CASCADE
)

CREATE TABLE oc_scheduled_extended_event (
-  CONSTRAINT FK_oc_scheduled_extended_event_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

CREATE TABLE oc_series (
-  CONSTRAINT FK_oc_series_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

- CREATE INDEX IX_oc_oaipmh_modification_date ON oc_oaipmh (modification_date);

# Table is no longer used in the code, but there was no migration to drop it
- CREATE TABLE oc_oaipmh_harvesting (
-   url VARCHAR(255) NOT NULL,
-   last_harvested datetime,
-   PRIMARY KEY (url)
- )

CREATE TABLE oc_assets_snapshot (
-  CONSTRAINT FK_oc_assets_snapshot_organization FOREIGN KEY (organization_id) REFERENCES oc_organization (id),
)

CREATE TABLE oc_assets_asset (
-  INDEX IX_oc_assets_asset_snapshot_id (snapshot_id)
)

CREATE TABLE oc_group_member (
# No PK
+  CONSTRAINT fk_oc_group_member_group_id FOREIGN KEY (group_id) REFERENCES public.oc_group(id)
)

# This table is never created: /admin-ng/user-settings does not seem to be used by the Admin UI frontend
- CREATE TABLE oc_user_settings (
# ...
# This constraint does not make sense: a user can only have a single stored setting (setting_key should be part of the unique constraint)
# CONSTRAINT UNQ_oc_user_settings UNIQUE (username, organization)
- )
- CREATE INDEX IX_oc_user_setting_organization ON oc_user_settings (organization);

CREATE TABLE oc_series_elements (
-  PRIMARY KEY (series, organization, type)
+  CONSTRAINT fk_oc_series_elements_organization FOREIGN KEY (organization, series) REFERENCES public.oc_series(organization, id),
+  UNIQUE INDEX unq_series_elements (series ASC, organization ASC, type ASC)
)

CREATE TABLE oc_series_property (
-  PRIMARY KEY (organization, series, name),
+  UNIQUE INDEX unq_series_properties (series ASC, organization ASC, name ASC)
)

- CREATE INDEX IX_oc_series_property_pk ON oc_series_property (series);

CREATE TABLE oc_themes (
-  CONSTRAINT FK_oc_themes_organization FOREIGN KEY (organization) REFERENCES oc_organization (id) ON DELETE CASCADE
)

CREATE TABLE oc_transcription_service_job (
-  CONSTRAINT FK_oc_transcription_service_job_provider_id FOREIGN KEY (provider_id) REFERENCES oc_transcription_service_provider (id) ON DELETE CASCADE
)

If we remember, let's drop oc_oaipmh_harvesting the next time we have a database migration anyway. It doesn't cause any harm and there is no need to have people do a database migration for just this. Or we could put the removal into the initialization of the database module and have Opencast do that automatically?
I vaguely remember that oc_user_settings, or rather the service behind that, never worked in the first place. That is why it was kicked out of the admin interface. But people wanted to keep it for the usual, „but what if someone then wants to have it at some point“? I don't mind dropping it entirely.

+1 for dropping both. Maybe this is something that should go into develop/13? It's not like either is being used...


Disable autoloading of Interactive Window

Issue #443
Bug
By default, VS does not autoload packages at startup to reduce memory/perf. We, however, decided to be special.
Fix
Disable autoloading on InteractiveWindow package. This is in Common codebase, but a reasonable default for anyone taking a dependency on the IW code. PTVS no longer takes a dependency on IW logic, so we shouldn't have to worry about this for now.
This was far easier than I anticipated (I expected to encounter some scenarios where we would need to fiddle around w/ UI context activation, but have yet to come across an instance where that's the case.)
Testing

Verified that Microsoft.NodejsTools.InteractiveWindow.dll does not get loaded at startup (unless Interactive Window has already been opened in a previous session)
Verified that Open Interactive Window context menu command works from both Tools > Node.js Tools, global command, and right clicking project node
Verified that dedupe command (which writes to the interactive window) still works

close #443

Looks good. I'll update our will drop once you merge this.


Speed up Parquet Writing?

Describe the enhancement requested
The following was run on Ubuntu 20 on a e2-highcpu-32 GCP VM with 32 GB of RAM and 32 vCPUs.
I downloaded the California dataset from https://github.com/microsoft/USBuildingFootprints and converted it from JSONL into Parquet with pyarrow and I attempted to do the same with fastparquet.
$ ogr2ogr -f GeoJSONSeq /vsistdout/ California.geojson \
    | jq -c '.properties * {geom: .geometry|tostring}' \
    > California.jsonl
$ head -n1 California.jsonl | jq .

{
  "release": 1,
  "capture_dates_range": "",
  "geom": "{\"type\":\"Polygon\",\"coordinates\":[[[-114.127454,34.265674],[-114.127476,34.265839],[-114.127588,34.265829],[-114.127565,34.265663],[-114.127454,34.265674]]]}"
}

PyArrow is able to produce a 794 MB Parquet file in 49.86 seconds.
/usr/bin/time -v \
    python3 -c "import pandas as pd; pd.read_json('California.jsonl', lines=True).to_parquet('pandas.pyarrow.snappy.pq', row_group_size=37738, engine='pyarrow')"

With ClickHouse I'm able to complete the same task in 18.35 seconds.
$ /usr/bin/time -v \
    clickhouse local \
          --input-format JSONEachRow \
          -q "SELECT *
              FROM table
              FORMAT Parquet" \
    < California.jsonl \
    > ch.snappy.pq

The resulting PyArrow Parquet file matches ClickHouse in terms of row groups and using snappy compression.
<pyarrow._parquet.FileMetaData object at 0x7f8edab544f0>
  created_by: parquet-cpp-arrow version 10.0.1
  num_columns: 3
  num_rows: 11542912
  num_row_groups: 306
  format_version: 2.6
  serialized_size: 228114

<pyarrow._parquet.FileMetaData object at 0x7f0926d54860>
  created_by: parquet-cpp version 1.5.1-SNAPSHOT
  num_columns: 3
  num_rows: 11542912
  num_row_groups: 306
  format_version: 1.0
  serialized_size: 228389

The ClickHouse-produced Parquet file is 19,979 bytes larger than the PyArrow-produced file.
These are the versions of software involved:

pandas-1.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pyarrow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ClickHouse <IP_ADDRESS>1 (official build)

Below is a flame graph from PyArrow's execution.

I ran a 10-line version of the above file through both PyArrow and ClickHouse. This is what strace and perf reported.
$ sudo su
$ source /.pq/bin/activate
$ strace -wc \
    python3 -c "import pandas as pd; pd.read_json('cali10.jsonl', lines=True).to_parquet('pandas.pyarrow.snappy.pq', row_group_size=37738, engine='pyarrow')"

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 42.24    0.097629         141       691        22 openat
 14.84    0.034300          15      2183       241 stat
 10.44    0.024135          22      1088           read
  6.31    0.014591          12      1153           fstat
  5.32    0.012300          12       977         5 lseek
  4.88    0.011286          16       683           mmap
  4.18    0.009669          14       678           close
  2.75    0.006358          12       493       487 ioctl
  1.81    0.004177          26       160           munmap
  1.50    0.003467          21       158           mprotect
  1.34    0.003088          93        33           clone
  1.30    0.003007          21       138           getdents64
  0.76    0.001762          16       109           getcwd
  0.68    0.001574          20        75           futex
  0.64    0.001471          16        88           brk
  0.30    0.000699          10        68           rt_sigaction
  0.12    0.000278          14        19           write
  0.11    0.000262          18        14           lstat
  0.10    0.000222         221         1           execve
  0.09    0.000213          11        18           pread64
  0.05    0.000119          14         8         2 readlink
  0.02    0.000056          13         4           getrandom
  0.02    0.000053          17         3           sigaltstack
  0.02    0.000049          24         2           open
  0.02    0.000043          14         3           uname
  0.02    0.000040          13         3           rt_sigprocmask
  0.02    0.000039          19         2           madvise
  0.02    0.000037          12         3           getpid
  0.01    0.000034          17         2           pipe2
  0.01    0.000034          11         3           dup
  0.01    0.000027          27         1           wait4
  0.01    0.000025          12         2           sched_getaffinity
  0.01    0.000019           9         2         1 arch_prctl
  0.01    0.000015          14         1           sysinfo
  0.01    0.000014          13         1         1 access
  0.01    0.000013          12         1           gettid
  0.00    0.000011          11         1           prlimit64
  0.00    0.000011          11         1           fcntl
  0.00    0.000011          10         1           set_tid_address
  0.00    0.000011          10         1           set_robust_list
------ ----------- ----------- --------- --------- ----------------
100.00    0.231150                  8872       759 total

$ perf stat -dd \
    python3 -c "import pandas as pd; pd.read_json('/home/mark/cali10.jsonl', lines=True).to_parquet('/home/mark/pandas.pyarrow.snappy.pq', row_group_size=37738, engine='pyarrow')"

  4,197.34 msec task-clock                #    8.022 CPUs utilized
    50,024      context-switches          #   11.918 K/sec
        21      cpu-migrations            #    5.003 /sec
    20,439      page-faults               #    4.870 K/sec

0.523260373 seconds time elapsed

2.202498000 seconds user
1.996941000 seconds sys

ClickHouse's syscall counts were all much lower:
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 29.52    0.019018        1584        12           futex
 21.15    0.013625          63       214           gettid
 11.19    0.007209         514        14           mprotect
 11.06    0.007123         791         9         4 stat
  8.72    0.005617         108        52           close
  5.16    0.003327        1109         3           poll
  2.19    0.001412          23        60           mmap
  2.09    0.001344          39        34         1 openat
  1.27    0.000816          18        44           read
...
  0.15    0.000098          48         2           write

As were context switch and page fault counts.
  44      context-switches          #  372.955 /sec
4997      page-faults               #   42.356 K/sec

Component(s)
Parquet

Can you try a similar benchmark without involving pandas?  That test will, I believe, go JSONL -> Arrow -> Pandas Dataframe -> Arrow -> Parquet.  The conversion to/from pandas probably does not explain the entire time but may help if you remove it.
Also, is it possible the separate the timing for the reading and writing?  In other words, is the bottleneck on the read half or the write half?
Finally, just to confirm, did you run each benchmark multiple times in a row?  Any benchmark involving file I/O is extremely sensitive to filesystem caching effects.

I did run it at few times with little variation in the durations.
Could you give me a Python code example that you'd like to see run, please? I can execute it multiple times and do the same with ClickHouse and return the durations list to you.
If you're wanting to separate the reading from the writing aspect, I can run it in iPython and use the magic timer to get a more granular timing.

Reading json and writing parquet, purely in pyarrow, should look something like:
import pyarrow.parquet
import pyarrow.json
table = pyarrow.json.read_json('/tmp/foo.jsonl')
pyarrow.parquet.write_table(table, '/tmp/foo.parquet')

Separating disk write from encoding would be trickier (there is an in-memory filesystem in C++ but I don't think we expose it in python).

I ran the following on my MBP this morning. PyArrow managed to get within 1.38x of ClickHouse which is a pretty good speed-up.
$ time \
    ~/Downloads/ch/clickhouse local \
          --input-format JSONEachRow \
          -q "SELECT *
              FROM table
              FORMAT Parquet" \
    < California.jsonl \
    > ch.snappy.pq

The above took 36.316 seconds.
import pyarrow.parquet
import pyarrow.json

In [3]: %time table = pyarrow.json.read_json('California.jsonl')
CPU times: user 26.6 s, sys: 16.5 s, total: 43.1 s
Wall time: 21.6 s

In [4]: %time pyarrow.parquet.write_table(table, 'pyarrow.snappy.pq', row_group_size=37738)
CPU times: user 8.98 s, sys: 8.37 s, total: 17.3 s
Wall time: 28.6 s

Any suggestions on how I can improve on that number would be greatly appreciated.

That row group size is pretty small.  Note that we default to 64Mi rows per group.  I've found 1Mi rows per group to be reasonable.  Much less than that and performance starts to take a hit because the data:metadata ratio starts to get skewed.  Did you try with larger row groups?  Though I can see that is what you get with clickhouse.
Otherwise I don't have any suggestions off the top of my head.  If clickhouse supports parallel column encoding that might explain it.  One way to test that would be to split the table into N different pieces and write the pieces into N different files in parallel.
I have not done any profiling of the pyarrow JSON reader.  It's entirely possible all the missing seconds are in the JSON reader.

I talked about writing PQ out into separate parallel files in my blog post yesterday, it does speed things up a lot if the CPU core count of your system is high enough. I'd need to dig into CH's command line switches to see what exactly is possible with tuning their PQ writer and then seeing if these settings have a material impact on their perf and of your project as well.

I would encourage you to experiment with row group sizes.  For example, from a quick experiment (writing ~50M rows) I see about a 1.5x hit using these prohibitively small row groups:
>>> timeit.timeit(lambda: pq.write_table(tab, "/tmp/foo.parquet"), number=5)
95.93511083399972
>>> timeit.timeit(lambda: pq.write_table(tab, "/tmp/foo.parquet", row_group_size=37738), number=5)
149.49872442699962

Beyond writing, a too small row group size is likely to have an even larger negative effect on read performance.

To rule out differences in compression levels you could test with uncompressed writies? Perhaps another thing to control for is the schema, it is inferred in your tests?  I'm guessing both writers should be multithreaded already by default?

I don't have any way of adjusting ClickHouse's compression settings.
If I produce a 1-row PQ file with PyArrow and again with ClickHouse I can see the headers are different (PyArrow's are much longer) and the above PQ files produced were off by a few MBs. I'm not sure if it is possible to produce byte-identical PQ files with both tools.
With that said, I'm not convinced it's down to Snappy being well-optimised in ClickHouse and unoptimised in PyArrow. Snappy shows up 4.8% of the time in the Flamegraph.


After version 3.2.1 the project fails to build on iOS when using expo

Hello, I have upgraded to version 3.5.0, I was on 3.2.1.
I now get a building error at THEOplayerRCTBroadcastEventHandler.swift which is where the crash happens.
› Copying   react-native-theoplayer react-native-theoplayer/react_native_theoplayer.framework/Headers/react-native-theoplayer-umbrella.h ➜ ios/Pods/Target/ Support/ Files/react-native-theoplayer/react-native-theoplayer-umbrella.h

❌  (/Users/michelecocuccio/Desktop/THE_WAVE/PROJECTS/LBA/lba-app/node_modules/react-native-theoplayer/ios/eventBroadcasting/THEOplayerRCTBroadcastEventHandler.swift:30:101)

  28 | }
  29 |
> 30 | public class DefaultEventDispatcher: NSObject, THEOplayerSDK.EventDispatcherProtocol, THEOplayerSDK.DispatchDispatch {
     |                                                                                ^ no type named 'DispatchDispatch' in module 'THEOplayerSDK'
  31 |     private var eventListeners = [String: [EventListenerWrapper]]()
  32 |
  33 |     public func addEventListener<E>(type: THEOplayerSDK.EventType<E>, listener: @escaping (_ : E) -> ()) -> THEOplayerSDK.EventListener {

I tried to revert back to version 3.4.2 but I don't know why the issue still happens :( Only after going back to version 3.2.1 everything works correctly

Same here!

Release 3.6.0 should work fine with iOS SDK 6.9.0 and is available now.

Thank you very much for the quick fix!


Reordering the approval lines for AQCU-744

Move the Working Lines to the top, then In Review, then Approved

Coverage remained the same at 86.827% when pulling 9d1e5c6cfef8bb2a6a3eae270e61c754d472a5ce on mhines-usgs:master into f9440f3894bd731804dd18f864a4bf14f0880d09 on USGS-R:master.

Coverage remained the same at 86.827% when pulling 56ffb477ea30c4ad9ef8654d11f819fdd4d817c8 on mhines-usgs:master into f9440f3894bd731804dd18f864a4bf14f0880d09 on USGS-R:master.


Release version 1.3.1.

Coverage remained the same at 94.35% when pulling 97d1e4ac5ab6da6449814eb5dc0fd60cfd5e2ba3 on bump_version into f4a4cd69f19a9755bd645834ba3318f1ed1202e6 on master.

Coverage remained the same at 94.35% when pulling 97d1e4ac5ab6da6449814eb5dc0fd60cfd5e2ba3 on bump_version into f4a4cd69f19a9755bd645834ba3318f1ed1202e6 on master.


Feature request: $random cell for cxxrtl/write_verilog

Background
The Bluespec HDL comes with a number of primitives written in Verilog that are sometimes needed by compiler output. One of these primitives is a module called ConstrainedRandom.v, which uses the simulation-only $random task in order to generate random numbers for use during simulation. This module is one of the only Bluespec "primitive modules" that cannot be handled by Yosys, as it stands today. I would like that to change, so that my tool yosys-bluespec can handle bsc output more reliably, and in turn more easily integrate with Bluespec flows; at the moment I fatally halt compilation if this module is used.
Now, Bluespec itself comes with a robust simulation framework (called "bluesim", a part of the compiler and which leverages the semantics of the language) which can handle this, but an alternative and common use case in almost every EDA flow is simulation of post-compilation Verilog. ConstrainedRandom is intended for such a use case, and so the simulation tool must support it.
The request
In my case, I would like to take the output of the bsc compiler and simply read it, and needed modules such as ConstrainedRandom, into a design. I would then like to do two things:

write_verilog the output out to a sim.v file (after some preparation/massaging), which can then be read by Verilator, Icarus, etc or any simulator that supports $random today. While this feature isn't a strict necessity for me personally, it would be quite nice to have, and relatively trivial to do, I assume. There are probably similarly-useful standard tasks which could be "passed-thru" to write_verilog directly in this manner, but that's another discussion.
Simulate the design with cxxrtl backend, as well. This is what I really need in the long run, though it's much more complicated obviously. (In the mean time another simulator could be used, per point 1.)

In both cases, Yosys must at least support handling and generating a $random cell. However, this cell is firmly non-synthesizable, so the question of whether it should be supported is basically what we're here to figure out: what should the task "types" look like, if it should be supported at all?
Related: $display cells and other such stuff
A related issue is #2310 which is support for $display cells, which are also firmly non-synthesizable, but so useful as to merit support anyway, at least for a limited number of backends. So we might ask, are $random cells that useful too, or perhaps easy enough to support that it wouldn't be a burden?
Alternative: blackbox tasks in cxxrtl?
Even if write_verilog didn't support it, this would all be manageable on my part, if only I could simulate actual tasks in cxxrtl. But I don't think this is possible at all as it stands today, and I have no idea what the complexity/performance impact of such a feature would be on the backend overall. What you can do is use a non-standard module definition, blackbox it, and instantiate it at every use site, but this is obviously very cumbersome and doesn't work with pre-written code you can't change. I figured I would just mention this as something I thought about while doing a workaround.

(Apologies for the extremely late reply.)
Is this cell going to be combinational? If so, what should be the value of c in this code:
wire a = $random();
wire c = a && a;


Add 'Payment Status' formula on Payment to combine multiple fields in related list (LEX)

In LEX, you can only see 4 fields in a related list, making it difficult to see Payment Number, Payment Date, Amount, Paid and Written Off at the same time.
Suggest formula field for 'Payment Status' to combine multiple fields and update layout.
IF( npe01__Written_Off__c , "Written Off", IF ( npe01__Paid__c , "Paid", "Unpaid"))

**lurch: add

Tracking W-017314


feat(SebmGoogleMap): triggering resize events

SebmGoogleMap now supports triggering resize events
on the google map instance. This is usefull when you intially
hide the map (for example in a tab) and then want to show
the map:
<div [hidden]="!showMap">
	<sebm-google-map #myMap></sebm-google-map>
</div>
<button (click)="showMap = true; myMap.triggerResize()">resize</button>

Closes #166

@a2gm-bot please merge


Enforce errors format

Description
There is currently a bug where BaseModel::errors() returns a string error message despite specifying array|null as the return type. This is causing runtime errors in Fabricator when trying to implode() error values (see discussion at #4272).
This PR traces errors back through their two potential sources: Validation::errors() and ConnectionInterface::error(). These return very different formats (which I have tightened in their docblocks) which Model should be handling.
Due to this bug and the preexisting formats from Validation and Connection I am updating the docblock for BaseModel::errors and Model::errors no longer to allow null because a) null values are never inherited from their sources, they were only set in the model, and b) they introduce an unnecessary extra type check from any calling method. This is already consistent with the User Guide and the function definition but I noted the docblock update in the changelings.
Checklist:

[X] Securely signed commits
[X] Component(s) with PHPdocs
[X] Unit testing, with >80% coverage
[X] User guide updated
[X] Conforms to style guide

@najdanovicivan Could you please take a look at the Model/BaseModel changes?
@natanfelles Can you please verify this fixes your issue?
Review from anyone else appreciated too.

@samsonasik It would be handy to get Rector results annotated inline - do you know if they support that yet? E.g. Infection's --logger-github

@MGatner it seems not yet as far as I know.

This is all good. I see that I have nasty patch for this in my controller
! is_array($errors) && $errors = [$errors];

This should make those refundable. I like it.

Thanks all!


System.ArgumentException in :0

Error in NuGet Package Explorer
System.ArgumentException in :0
Height must be non-negative.
View on Bugsnag
Stacktrace
:0 - PackageExplorer.App.Main()

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
System.ArgumentException in :0


Git sync support

It would be useful if it was possible to sync notes from/to a git repository, e.g. using JGit.

I have to think about this. Don't expect writeily to become a git client. We are already so spoilt with so many great git tools out there, that any implementation in writeily will feel subpar.
Again writeily should remain clean and usable for everyone.

On Wed, May 20, 2015 at 10:08:59PM -0700, plafü wrote:

I have to think about this. Don't expect writeily to become a git client. We are already so spoilt with so many great git tools out there, that any implementation in writeily will feel subpar.
Again writeily should remain clean and usable for everyone.
Thanks for the reply. I think what I'm after is perhaps slightly different than what writely is trying to do.

I'm essentially after a Android-based editor for ikiwiki repositories (of which
I want to have a local clone on my phone). Perhaps this is better done as a
separate tool, perhaps reusing some of the markdown editing code from writeily.
Cheers,
Jelmer


Misc fixes

Bump blacken-docs version (it was failing for me with the old version)
Add link to the new user-guide
Update build status badge
Fix spelling
Add webrick gem as development dependency (it is needed for jekyll serve for some versions of Jekyll)
Remove duplicate config for highlighter

A few minor nits, but otherwise lgtm

@knowncitizen are you ok with merging like this? Please see my replies to your comments above inline

@knowncitizen are you ok with merging like this? Please see my replies to your comments above inline

Yes, it's fine.
/Approve
/LGTM


Installation issue

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
Operating System: windows
Provide details about the problem you are experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

Not enough info to make it actionable. Please provide detailed steps, OS info and symptoms. Try to donwload again or try another machine/VM.


Rename javax.* packages to jakarta.*

This PR intends to resolve issue #126
It renames the javax.xml.bind.* packages to jakarta.xml.bind.* in the API and tests.  This includes changing constants like system properties (i.e. javax.xml.bind.JAXBContextFactory to jakarta.xml.bind.JAXBContextFactory) and service loader paths (i.e. META-INF/services/javax.xml.bind.JAXBContextFactory to META-INF/services/jakarta.xml.bind.JAXBContextFactory).
This also includes the Jakarta Activation dependency (javax.activation.* -> jakarta.activation.*).
This does not include any changes to the spec document or TCK.

can you rebase this on master to see if there's anything missing, please? thanks!

@lukasj Done - only a few very minor things got missed.  Thanks!


Support for Bower Components

Added support for bower.
The only thing I am not sure about is the versioning. Should we label it 2.0.0? And release it as part of the 2.0 release? Or 1.18.1 (I used 1.18.2 just because I messed up the first time and 1.18.1 doesn't work properly).

@yagudaev Thanks for the PR!
Is there a way to remove 1.18.1 from bower? Can I push to bower at all if you are the owner?

@yagudaev I'd appreciate if you could unregister react-autosuggest from bower, so that I could register it and keep pushing updates.

Sure thing :). Consider it done.

@yagudaev Thanks!
I registered my repo with bower. However, bower search still shows your version from 6 days ago. Maybe it needs some time to sync. Let's wait a bit to see if it updates itself.
Anyway, please let me know if you were able to successfully consume the package.

Works great! Thanks Misha :).


Remove (delete) element when dragging it completely out of a Page

Feature Description

Based on Figma, an element should be removed when it's dragged completely out of the Page.
See Design

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

When user drags an element fully out of the Page, it should be removed.

QA Instructions

@o-fernandez The original issue states that the elements should be deleted if dragged outside of the canvas, however, elements can also end up being outside of the canvas after resizing or rotating (especially during multi-selection actions).
When an element is outside of canvas, it's not really accessible anymore, so Undo would be the only way how to get it back to the Canvas anyway. Based on this it seems that it would make sense to remove any element that is left outside of Canvas as a result of dragging/resizing/rotation (and not just dragging).
Thoughts?

@o-fernandez The original issue states that the elements should be deleted if dragged outside of the canvas, however, elements can also end up being outside of the canvas after resizing or rotating (especially during multi-selection actions).
When an element is outside of canvas, it's not really accessible anymore, so Undo would be the only way how to get it back to the Canvas anyway. Based on this it seems that it would make sense to remove any element that is left outside of Canvas as a result of dragging/resizing/rotation (and not just dragging).
Thoughts?

Good catch! I'd say yes, it makes sense to remove an element that ends up fully outside of the canvas even in multi-select rotation cases.
@samitron7 FYI and in case you believe otherwise.

Verified in QA

UAT - Verified!


Live Preview on PHP Files

Hello there...
I've been using Brackets for a while and it been a great tool to work with so far. I've been working in a project in php a few days ago and it worked fine. I've used the live preview and it worked fine both in html files and in php.
Until last week that I've been trying to continue with my work, but it keeps asking me the live preview base url. I've got xampp installed, then I tried with mamp and I even made a total restoration of my Mac and reinstall everything. still doesn't work. Don't know why it stop working after it worked fine a few days ago,
can anyone help me with this?
Versions
macOS Sierra 10.12.4.
Release 1.9 build 1.9.0-17312 (release 189f6d39a)

I'd love to have this as well.
Live Preview support for PHP, built-in, would be very nice.
Upvote 👍

Hi marcojoel
I am having the same problem now. Did you find any help or solution after the time you posted the issue?

Hello there...
I've been using Brackets for a while and it been a great tool to work with so far. I've been working in a project in php a few days ago and it worked fine. I've used the live preview and it worked fine both in html files and in php.
Until last week that I've been trying to continue with my work, but it keeps asking me the live preview base url. I've got xampp installed, then I tried with mamp and I even made a total restoration of my Mac and reinstall everything. still doesn't work. Don't know why it stop working after it worked fine a few days ago,
can anyone help me with this?
Versions
macOS Sierra 10.12.4.
Release 1.9 build 1.9.0-17312 (release 189f6d3)


Check proper config for state manager

Addresses #371
We were checking the TASK_MANAGER setting when we should probably have been looking at the STATE_MANAGER setting (as we do later on around line 60).

Ugh, something wonky with the CLA again. Let me see...

Is it working now?


[ServiceBus] update DictMixin value type to Any

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-servicebus


feat(prod-deploy): add prod deploy chapter

This PR adds the Production Deployment Cookbook.
/cc @wardbell @Foxandxss @DeborahK

Thanks for the review @DeborahK, I've incorporated all your feedback now.
I think I touched everything you once listed as questions your users had. If there's something missing let me know.

I very much like the tone, direction, and brevity of this cookbook!
I'll put copy edits elsewhere. Here are some stream-of-consciousness questions.

I ask a lot of "why" questions below. I'm not suggesting that we burden this page with a lengthy discourse about the "why" of everything. But we should know "why" ... and may want to condense the "why" into a sentence here and there.

I think we need a different title as "Production deploy" is a slang noun. Suggestions welcome. So far the best I have is "Deploy to production".

I'm not sure that this is a cookbook. There is a lot of high level advice but relatively little in the way of instructions for what to do. The notable exception is that highly detailed "Server configuration" section.
Can we be more specific?

We should separate "optimization" from "deployment". You do that yourself by offering a path that pushes the dev environment to the web: "Simplest deploy possible" ... love that title.

I think we should be more clear about what we're optimizing for.  Is it faster launch time? That seems to be what you're after. So what is the metric there? I've seen discussions that call out the time from click-to-app-usability. Maybe we should reference those?

Let's make a strong case for a published dev build; as @DeborahK as observed, that's often a crucial step in winning (and retaining) managment/stakeholder support.

In several places you say "optimize for loading speed and payload size".  Is payload size a goal on its own? You suggest it makes a difference in transfer time and startup time. In what environments is that true? I haven't seen numbers that support this claim for desktop or mobile apps over 4G networks. I'm a skeptic.

In any case, I think of a smaller payload as just one factor that contributes to faster loading.   It's significance in that respect depends a great deal on the target environment, yes? In my (limited) experience, the far bigger factor, both in desktop and over mobile, is the number of trips to the server.

In several places, you conflate reduced payload size and number of files. They are separate issues and may be seen as inversely related: bundling, for example, reduces the number of files while increasing the payload size for each request.
Which is more important? When?
In my (limited) experience, the number of files matters a lot whereas (total net) payload size makes comparatively little difference in app launch and startup time ... at least for enterprise apps. Is that your experience?
There may be good reasons to do both. My point is that a few optimizations (bundling and inlining?) may be more significant than the others combined in improving perceived app launch time. Bundling may be much easier to achieve than some or all of the extraordinary efforts to reduce total payload size.

I confess to wondering about the nearly maniacal effort of the Angular team to shrink the payload. Where are the metrics for the benefit of that? @johnpapa may be able to weigh in from his corporate experience.

You wrote:

For one, it has a lot of files that aren't even used when serving your site to users since it has all the development only packages.

Why should I care? What is the cost of having extra files on the server now that storage is almost free?

I thought Tree Shaking was a technique for Dead Code Elimination. You list these as separate items. Why?

Why is the following statement under the "Template compilation" heading?

Another great choice is Webpack 2 together with the Angular Ahead-of-Time Webpack Plugin.

Perhaps you should say what it is.

Many people wonder if using SystemJS is "wrong" or means that you can't optimize for production. I don't think that is true, even if we are leaning to Webpack ourselves. What can we say to help people not worry about their use of SystemJS? Or should they worry?

What would be the perf benefit of switching to umd scripts for Angular and other 3rd party libraries. Aren't these a good choice if you can't go the webpack way? That's what we do for plunkers. Or is this thought just a distraction?

The base tag section raises a concern but doesn't say how to ameliorate it.  There is a line of index.html code that works everywhere  I think: in local development and on any server. It's the one we use in generated plunkers:
<script>document.write('<base href="' + document.location + '" />');</script>

If that's true, should we recommend it?

Re: enableProdMode - why do you recommend setting that in main.ts. That defeats its purpose during development. Shouldn't it be inside a conditional that enables production mode in production builds?

The Lazy Loading section is a great start. I don't think we're as clear as we could/should be on how to recognize and overcome the mistake:

A common mistake to make while lazy loading a module is to also have that module imported via an ES import. If you do that, the module will never really be lazy loaded since the import statement will cause it to be imported directly instead of being imported via the Router.

That's something we can look at in copy editing.

You made several references to the Angular Ahead-of-Time Webpack Plugin.  You don't say how I can use that independent of the CLI. Can I?

The Server Configuration section is excellent and unusually detailed compared to anything else on this page.  I like that. But it feels a bit strange to be reading high-level advice and suddenly diving into details.

Thanks for the CORS section!

@wardbell I edited your comment with my replies so as to not bloat this thread unnecessarily. My replies look like this:

FS: reply here

I can't edit the comment so I will respond here ...

Ward: In several places you say "optimize for loading speed and payload size". Is payload size a goal on its own? You suggest it makes a difference in transfer time and startup time. In what environments is that true? I haven't seen numbers that support this claim for desktop or mobile apps over 4G networks. I'm a skeptic.

I've seen many examples of this making a huge difference even on 4G. A large portion of our users use desktop/laptop on WiFi and the difference in 2 seconds to usability vs 3 has quantifiable effects on abandonment and revenue (per some companies I have seen stats from). We don't need to state this. 2 seconds is the bar that most folks I have spoken to have to deal with for public sites.
Even with internal apps, there is a focus (though more relaxed) on the speed. I'm sure many companies dont care ... but just as many do.

I would really like to see this come out sooner rather than later for several reasons:

There is really good content here. We can edit/enhance over time.
Just yesterday I received another "now how do I deploy" question. It would be great to have something to point them to.
Talked to Joe and he did a chapter on deployment in the Fundamentals course. I would expect this to be coming out any day now. It would be great if we had something in the docs prior to then.

I agree its not a cookbook .. but the content is very valuable. I think we are have a very confusing organization of docs anyway ... we should focus on good content and simply create a master list of the topics.
My short term point is that we should publish this sooner rather than later wherever it goes. I highly doubt anyone knows the diff between cookbook and advanced and regular docs :)

Well I know the difference between a cookbook and guide :-)
For sure a cookbook contains detailed instructions you can follow. For sure it contains sample code. This PR offers neither.

I'm not judging. This is all I had reason to expect from the author, given the constraints I set for him. But I am stating facts.

Imagine a cookbook recipe called "Boil an egg" that talked about how chickens come from eggs (it might or might not mention that eggs come from chickens), and the relative merits of cooking in hot water versus steam, and how most people used gas stoves ... but never told you what to do.  That is a guide at best, not a cookbook recipe at all.
At some point we have to go beyond musing about the factors and give people some real instructions. That isn't happening here to my satisfaction. There is one place that comes close to giving actual instruction for deploying to a server - the "Simplest possible deploy" - and even that omits crucial details or an example for even one server.
There is no accompanying code, nothing you can run, nothing you can see that looks like a production app.
Having said that, so pressing is the need for something that I agree to completing the review and copy-editing this week ... as a preliminary guide.  Hold me to it!

@robwormald I added a commit addressing your suggestions:

added section about importing RxJs operators
added WebPageTest example
removed 'huge' and 'slow' in favor of a better description
added more encouragement to further pursue optimizations

This PR LGTM. couple of notes, more to @wardbell than anyone:

in any case, I think of a smaller payload as just one factor that contributes to faster loading. It's significance in that respect depends a great deal on the target environment, yes?

As of today, script parsing time (which is a function of how much JS you ship to browser) is the #1 (by far) cost of getting angular apps booted, especially on mobile devices. This is worse with mega-vendor bundles.

In my (limited) experience, the far bigger factor, both in desktop and over mobile, is the number of trips to the server.
In my (limited) experience, the number of files matters a lot whereas (total net) payload size makes comparatively little difference in app launch and startup time ... at least for enterprise apps. Is that your experience?

This is more server dependent (does your server support HTTP2 (push?) - if it does, somewhat counterintuitively, its much faster to load a bunch of smaller scripts over the single connection than one large script (!). This whole pattern is changing and I want to be cautious about getting overly prescriptive about these sorts of things while stuff is in flux.
:shipit:

@robwormald Thanks for the perf feedback and for demonstrating these points to me personally (Stephen did so too). I understand much better. I think we're silent on which factors are "more important" ... and silence is golden.
Thanks for your help!


Update year for LICENSE.txt

Summary

The year for the licensing hasn't been updated since 2020, this PR updates it
Added
Changed
Deprecated
Removed
Fixed
~LICENSE.txt now says Copyright (c) 2015-2022 instead of Copyright (c) 2015-2020

Thanks!


[BUG] When clicking in a configuration window you can click through it

Describe the bug
When you have any other window in front of the scene window and you click on it, you will be clicking through it to the scene window.
To Reproduce
Steps to reproduce the behavior:

Open the engine with a loaded scene.

Click on it an you will see object selected in the hierarchy.

Expected behavior
You can't  click things in the scene through the window.
Screenshots
If applicable, add screenshots to help explain your problem.

This is gonna be solved in #27

Solved in #36


Deploying OwnCLoud with .tech email

It seems not all emails can work with the deployer, even though it's a valid domain name

relax the email rules a bit @sameh-farouk please

But even after submitting the request (not with .tech domain) I didn't get any instructions to the email,
so I guess I need to wait until the 3-letter restriction is sorted out

By the way, this check seems a bit odd, as there are many domains which are not just 2, 3 or 4 letters, there are domains like .online, .academy, .university, .education, .services, .business, .technology and so on

@dmitri-alleo your instance is being deployed, requests need to be approved

@xmonader how can I do it?
I didn't get any email in any of the email accounts.

@xmonader should it come to the email address I have specified or the email address linked to the 3bot account?

I just received an email on my alternate email that i specified.

Aha, I see, it came, but it was placed into the promotions tab of Gmail, thanks

Great, managed to create the user with the .tech email, so the restriction currently only applies on the request screen

relax the email rules a bit @sameh-farouk please

On it.

Having an issue today accessing my OwnCloud

Having an issue today accessing my OwnCloud

please refer to https://github.com/threefoldtech/test_feedback/issues/119

@dmitri-alleo the deployer instance on https://ownclouddeployer.test.grid.tf was updated today. you can check the new validation rules.

Thank you @sameh-farouk

verified on 1.0.2 and https://ownclouddeployer.test.grid.tf
closing this. feel free to re-open the issue or open another one if you think it can be improved further. Thanks.


Fix/focus order 299

Issue:
Keyboard only users may be disorientated by the illogical focus order of the page. The interactive map receives keyboard focus after the ‘Cymraeg’ link. Users navigating with keyboard only inputs would expect to navigate the left side of the page before the interactive map
Tester only comments:
“I found an illogical tab order going from the (Cymraeg) link found at the top right-hand side of the page, then to the enlarge or decrease buttons for the map and followed by all the map controls before going back up the page to the ‘Choose a Category’ link found on the left-hand side of the page.”
Solution:
Re-ordered the map dom element for the tab index to flow through main content and then the map this is for desktop only. The mobile tab index will stay the same as is logical.

Just for the record, I'm generally against manipulating DOM elements based on dimensions sniffed out by JS. We should be using CSS Grid and a combination of Flexbox and tabindex attribute in case of navigation issues, but let's add that mysterious {#if mobileMap && $$slots.map} conditional to the second one and be done with it for now.
Let's revisit all blocks that involve config.ux.deviceWidth later on.

Agreed, however in this case I feel it's easier to do some conditional rendering for the map I feel like tabindex could get messy.  The if statement conditional is not needed for the second one.  Will update with latest changes from master and merge.


Fix formatting in the README

Make title show as H1
Fix TravisCI url
~Applied Prettier to the code blocks~

I restored the code blocks back to their original state.


Works but getting odd output in terminal launched from

So I have run ./st after running make and it opens up and works but when I interact with the terminal I get endless lines of this:
erresc(default): gfx attr 10 unknown
ESC[0;10m

*This is from the terminal I ran ./st in?

Running st
If you did not install st with make clean install, you must compile
the st terminfo entry with the following command:
tic -sx st.info

See the man page for additional details.

(Taken from the main README of st)
I'm assuming you didn't install it with make, you're not supposed to use st without the above if you don't plan on installing it.
Could you please try again?


Add "Pentimento: Data Remanence in Cloud FPGAs"

This issue was validated on AWS but seems likely to impact any cloud provider that offers FPGAs. https://arxiv.org/pdf/2303.17881.pdf
The issue is sort of a side channel for seeing the data of customers that previously used an FPGA.
This issue raises a number of questions.

What cloud provider(s) should we associate with this?  Should we add multiple cloud providers (basically all of them) or just the one that was validated to be impacted (AWS)?
This is a sort of cross-tenant issue, but it's unclear what all the limitations might be, as the researchers didn't seem to indicate any, other than the attacker needs to end up acquiring an FPGA that was previously and recently used by a victim.  This issue is most similar to the AMI issue where files could be recovered, which we marked as low severity: https://github.com/wiz-sec/open-cvdb/blob/main/vulnerabilities/ami-recoverable-files.yaml

I think we should only mention AWS since its technically possible the issue doesn't exist in other CSPs.
In my opinion this should be low if only because the impact is highly dependent on circumstance and is sort of random (an attacker can't normally preselect a specific target VM, they'd have to be very lucky - correct?).


Bump setuptools from 65.6.3 to 65.7.0 (#5365)

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

Merged in d7d4e515a141e97bcb90b3ad5379dd99f9bb4897


Improve publishing compatibility with isolated projects

Ran some of the publishing tests with IP enabled. Fixed some of the obvious problems , mostly where we called ProjectDependency.getGroup when we shouldnt
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this


dummy fall-back for non-linux platforms

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
@toregge please review

Test failure is unrelated

@baldersheim @toregge PTAL


Tetsuya Yamamoto: Watch wsoftpro.com

Tetsuya Yamamoto requests the watch of the watch_keyword wsoftpro\.com. See the Metasmoke search here and the Stack Exchange search here.

wsoftpro\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Coverage increased (+0.05%) to 65.138% when pulling fd3b1c6d02ed34786ea98c843c4460a1adbdf492 on auto-blacklist-1523937803.6535072 into 7cf820638af165962747404bbf68a23a24d4e507 on master.

!!/approve


Task editing wizard shows errors which are not actually present

DBeaver Version
24.0.4
Operating System
Any
Database and driver
Any
Steps to reproduce

Create an export/import task and save it
Open the task from tasks view

Expected: No error indication is present
Actual: Some of the steps are marked with red exclamation marks
Additional context

Open Defect in TestQuality

Open Defect in TestQuality

Test Task editing in Run 24.0.4 General CE (linked to Cycle General-CE (not automated)).

Open Defect in TestQuality

Test Task editing in Run 24.0.4 General CE (linked to Cycle General-CE (not automated)).

Open Defect in TestQuality

Open Defect in TestQuality

Test Task editing in Run 24.0.4 General CE (linked to Cycle General-CE (not automated)).

Open Defect in TestQuality

Test Task editing in Run 24.0.4 General CE (linked to Cycle General-CE (not automated)).

Open Defect in TestQuality

Open Defect in TestQuality

Test Task editing in Run 24.0.4 General CE (linked to Cycle General-CE (not automated)).


Added note that channel and team mentions are not supported

Docs Build status updates of commit 236a589:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/task-modules-and-cards/cards/cards-format.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thanks @Wajeed-msft!


Query Method Count data type None instead of Integer

Query Method Count data type None instead of Integer
Query Method Count has data type None instead of Integer, making is impossible to work with, blocking compilation
REPRO
Define Query with Count column:
query 81000 "M365 Number Of Items"
{
    Caption = 'Mumber of Items';
    QueryType = Normal;

    elements
    {
        dataitem(Item; Item)
        {
            column(No; "No.")
            {
            }

            column(Count)
            {
                Method = Count;
            }
        }
    }
}

Use the query and column Count:
codeunit 81000 "M365 No External Changes"
{
    internal procedure HasRecords(): Boolean
    var
        q: Query "M365 Number Of Items";
    begin
        q.Open();
        q.Read();

        exit(q.Count > 0);
    end;
}

Expected behavior
The expectation is that it works like before and Count returns an Integer.
Actual behavior
ERROR:
[{
	"resource": "/C:/Dev/AL/_Playground/MicrosoftIssues/app/src/codeunit/NoExternalChanges.Codeunit.al",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": {
		"value": "AL0175",
		"target": {
			"$mid": 1,
			"external": "https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al175",
			"path": "/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al175",
			"scheme": "https",
			"authority": "learn.microsoft.com"
		}
	},
	"severity": 8,
	"message": "Operator '>' cannot be applied to operands of type 'None' and 'Integer'",
	"source": "AL",
	"startLineNumber": 10,
	"startColumn": 14,
	"endLineNumber": 10,
	"endColumn": 25
}]

Versions
Name: AL Language extension for Microsoft Dynamics 365 Business Central
Id: ms-dynamics-smb.al
Description: Development tools for Dynamics 365 Business Central
Version: 11.0.779295
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al
Version: 1.77.3 (system setup)
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
Date: 2023-04-12T09:16:02.548Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: No
All installable extensions were disabled.
This stops us from developing several projects.

Thank you, I'm not searching for closed issues while they are still occuring...

Unfortunately, you should. The way Microsoft handles Issues here is a bit... unpractical.


Stricter error contract

The general error contract in xhttp is currently {:error, term()} which is pretty vague.
Looking through the code I think we can make this stricter to {:error, :inet.posix() | atom()} which is equivalent to {:error, atom()}.

Should we look into having a XHTTP.Error exception that can be raised or converted to a human error with Exception.message/1?

We can do that as long as we can get the underlying error atom from the exception.

Working on this right now.

Are SSL errors possible here? If so, they can be e.g.: {:error, {:tls_alert, ...}}

Yes @wojtekmach, all kind of errors are possible: TCP/SSL errors plus our own defined errors.  The plan is to have a Mint.Error exception struct with a :reason key that keeps the reason intact if you want to access it. Mint.Error will provide message/1 so that we can transform every error reason in a human-friendly message to be used in exception or logs. Wdyt?

Yup, sounds good! I just wanted to point that if :reason is in this case broader than atom().

@wojtekmach yep, the reason is definitely not atom/0 but term/0 :).

Follow up in https://github.com/ericmj/mint/issues/131.

@whatyouhide have you seen OTP 21.3? It introduced a :ssl.error_alert() type, so the reason could be, as far as I can tell, the following:
reason ::
  :closed |
  :timeout |
  :bad_alpn_protocol |
  :protocol_not_negotiated |
  :inet.posix() |
  :ssl.error_alert()

Btw, since ssl errors are always a tuple perhaps there's less of a need of formatter_module on the exception, e.g. use :ssl.format_error if it's an {:tls_alert, ...} tuple, your own message for things like :closed, :timeout etc, otherwise try :inet.format_error.
The downside of depending on :ssl.error_alert() type is people would get a Dialyzer warning on earlier OTP versions. That might be deal breaker, curious what you think.
Btw, out of curiosity what are the reasons to have reason opaque? Because if it needs to stay opaque then this conversation is somewhat moot :)

It is opaque because we need to be able to add new errors in the future without breaking backwards compatibility.
We might do @type reason :: :closed | ... | term() to work around that or just document it.


React step 1

React step 1
Second PR attempt with correction on test item #2

I mad changes but it did not reflect on the code being pull by Circle CI.  How do I proceed with this then?

Closing this. I skipped the "git push origin react-step-1" because it's a PERMISSION denied.  I'm using a 2FA and was able to successfully logged in using Github CLI. Is there anything I should do to push without getting denied?  Help please.


[WFCORE-1066]: Parameter -Djboss.domain.log.dir does not have effect on HP-UX when directory does not exist.

Checking if the directory exists and avoiding verifying it if not.
Jira: https://issues.jboss.org/browse/WFCORE-1066

Is equivalent logic needed in the Windows scripts?
Obviously not to correct an HP-UX issue, but just in the general sense of maintaining consistency across scripts.

Windows does not appear to validate the directory in the .bat scripts and I don't think it does in the .ps1 scripts either. I think this should be okay. We also don't validate the directory exists for Solaris too. This does mean the user must use ${HOME} rather than ~. Validation of the directory will happen when an attempt is made to create the file/directory in the log manager.

Thanks @jamezp. My question wasn't meant to advocate for adding significant new logic to the Windows scripts, and it sounds like that would be needed. I was more concerned with just not letting small differences creep in, and it sounds like that's not the case here.

we can easily add validation to ps1 scripts but for .bat it would be quite a hassle :(
lets have this in mind for WF11

@ctomc I don't think we really want the validation. The scripts should do as little as possible IMO. The issue this PR solves is in HP-UX the cd ${p#*=} ; pwd -P will put the wrong string into the environment variable, e.g.

bash cd: /some/dir: No such file or directory

So this just changes it to parse the possible directory which will be validated later, in this case by the logmanager.

Does it fail on windows if the directory doesn't exist ? This is an issue on HP that doesn't happen on other unices


Display marker on the map for the currently viewed conference

User story
As a user, I want to see a map marker to learn the exact position of conference I'm currently viewing.
Acceptance Criteria

map marker is a pin with a  conference logo inside
map marker defaults to X logo on the white background in case of no conference logo available
map marker is a react component (might involve implementing react google maps - to be checked)
zoom should be configurable

Scenario 1: Display marker on the map
Given I'm logged in,
When I'm accessing details of a given conference
Then the map will move and zoom to location of conference and the pin
Design concept
(just a sketch, do it your own way ;) )

I see that the purpose of this issue was changed from "view all conferences" to "view only the current selected". We no longer plan to have all conferences pinned in the map? Why?
I think this was the case of new feature instead a replacement. We can have both functionalities without problem.

Currently, once you click Conferences button, it show all conferences on map.
Then, once you select a specific one, we zoom in and show only that one.
It has both behaviors now.


Create Content API endpoints for Frontend

GET single and GET multiple, with sorting, search etc.
Can be tricky due to new Content - Field (EAV?) relation.
Hydra annotations should be added too.

Is this different from what we already have listed in /api? If so, and it's considered useful to have, i'd be in favor of adding it..
I believe @jackiboy also had an opinion on GraphQL and/or Hydra. Let's discuss on how to proceed with this. :-)

Added it to the Zenhub board: https://app.zenhub.com/workspaces/four-5befffc74b5806bc2bf587e7/boards?repos=135177880

@bobdenotter jest it is different: in frontend we need only GET endpoints (+ POST in boltforms extension) and /fields endpoint doesn't make sense IMO, /content should return data the same way setcontent does (actually setcontent could use API Models internally), so:

contents with fields with data
paging
searching
returnsingle
relations (bidirectional too)
etc.

I know @nestordedios already did some work on this.. We can use the API to fetch Records, with all its Fields.. @nestordedios, maybe you can chime in?
Futhermore, we might need POST (or PUT) endpoints for Fields. The main edit interface will be traditional server-request-response type interaction, but Jack made a start on the interface for "quick edit", so there it'd make sense if you could update a specific field like "title" or "status".

Another thing is that IMO if we do headless AND traditional frontend, all API endpoints should be prefixed with /api

Sure.. Perhaps even /bolt/api/?

@JarJak I'm not very familiar with API Platform yet and there are indeed points to improve.

/fields endpoint doesn't make sense IMO

The reason I added the Fields entity to the Model is because the Content Entity has a collection of Fields Entities, and by not adding them to the Model the fields where not fetched in api/contents/{id} How to get that endpoint working without exposing api/fields in the API I haven't managed.


assets: add psd file

This pull request adds the original PSD file for the design mock and fixes #3

I'll have the repo done in a bit, just finishing splicing the imagery. We
will need a react form for emailing however..
On Thu, Oct 25, 2018, 23:16 Michael Bishop<EMAIL_ADDRESS>wrote:

This pull request adds the original PSD file for the design mock.
You can view, comment on, or merge this pull request online at:
https://github.com/code-for-tb/agents-for-change/pull/4
Commit Summary

assets: add psd file

File Changes

A agents_for_change.psd
https://github.com/code-for-tb/agents-for-change/pull/4/files#diff-0
(0)

Patch Links:

https://github.com/code-for-tb/agents-for-change/pull/4.patch
https://github.com/code-for-tb/agents-for-change/pull/4.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/code-for-tb/agents-for-change/pull/4, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AIsit0CA0f0PN4D9G2Rj54eXGOHpkohLks5uon6DgaJpZM4X7dfF
.

Ok, just make sure that is a different branch. If you’d like help with the PR let me know. Thanks Ivan


Namespacing the Connection module

Connection is a common module name, and was colliding with the Redis gem in Rails 3. This branch simply renames the Connection module to ThriftConnection.

Closing out all old PRs to this repo. Please reopen if you'd like further consideration! BTW nice avatar.


switch release-pipeline to use remote resolution

We updated the release-pipeline to take advantage of git resolver for one of the pipelineTasks - publish-images. This is great and helps the release manager to rely on the task definition from GitHub repo.
Can we update the release-pipeline such that rest of the pipelineTasks use the same technology?

git-clone
precheck
unit-tests
golang-build
publish-to-bucket
publish-to-bucket-latest

/assign jsminem

/assign jsminem

/assign rohit-neuflo


How do I get the FTP Remote window to the right?

I am quite used to having the panel on the right side, so what should I do in order for the panel to be on the right side? I searched quite a bit but I could not get a result, please help.

Settings > Packages > Remote-FTP > Settings button check Dock integration and move "Remote-FTP" tab to right side. CSS design is still to be expected.

https://i.hizliresim.com/RPB5BG.png i cant see

https://i.hizliresim.com/RPB5BG.png i cant see
Last option "Use New Dock Integration"

this is not working. now not open connecting window

What version do you use (Atom)?

i dont know but i think so last version , because i was install last night

if you want to come my pc , and try your self with teamweaver

oke

This option adds new pane to the existing dock for the tree view. Maybe dock hide? Move the cursor left side and click the arrow.

check your mail pls

<EMAIL_ADDRESS>

Ty for help


Abnormal after reloading the terminal

Version: 1.78.0 (user setup) 77 76
Commit: 252e5463d60e63238250799aef7375787f68b4ee
Date: 2023-05-03T20:09:00.748Z
Electron: 22.4.8
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19044
Sandboxed: No

1.Create two new terminals
2.Move the second to Editor area
3.reload
4.Move to panel
Sometimes it just disappears
Check related to storage.

Related: https://github.com/microsoft/vscode/issues/135968

PR fixing it https://github.com/microsoft/vscode/pull/182121


Required Clarification on Catalog.API

Hi @davidfowl ,
I was walking through the Catalog.API code. In this file https://github.com/dotnet/eShop/blob/main/src/Catalog.API/Apis/CatalogApi.cs I see a usage of [AsParameters] CatalogServices services as a second parameter in all methods. I'm at loss to understand where CatalogServices  is getting constructed. It is neither created in DI nor coming as a param. Can you please clarify?

CatalogServices is a normal class and [AsParameters] says "treat these properties like they are arguments to this method". This is a feature that's been in minimal API since .NET 7 (see https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/parameter-binding?view=aspnetcore-7.0#parameter-binding-for-argument-lists-with-asparameters).

Please clarify how it is instantiated and how values are passed. I don't see it coming from the http call. Also it is not in DI container also

@VenkateshSrini, take a look at GlobalUsings.cs inside the Setup folder within Catalog.API. Here, you have a number of global using declarations. Haven't taken a closer look at this file, how it is configured, etc. but this could be a reason why you find no imports within CatalogApi.cs, since they are already defined and accessible from GlobalUsings. Notice how every directory has a GlobalUsings.cs. Probably kept to organize common imports in a single place.

@saptarshidas1809 ,
If you could see my question earlier I have been asking as to how the CatalogServices services is getting instantiated even though it is not passed as a parameter

@saptarshidas1809 ,
If you could see my question earlier I have been asking as to how the CatalogServices services is getting instantiated in the minimal api though I do not see any parameter that is getting passed

@davidfowl Thanks I got the concept https://github.com/dotnet/AspNetCore.Docs.Samples/blob/main/fundamentals/minimal-apis/samples/arg-lists/Program.cs

@VenkateshSrini Glad you were able to get clarity on this.
For other who are reading this the [AsParameters] attribute in minimal APIs allows a user to opt-in to surrogate binding. So you can define a type like this:
class SurrogateServices
{
  public IFooService FooService { get; set; }
  public IBarService BarService { get; set; }
}

And use it like so:
app.MapPost("/", ([AsParameters] SurrogateServices services) => ...);

Then minimal APIs will expand the SurrogateServices type and bind FooService and BarService independently from the list.


add libleveldb.dll

I think that the plugin should provide it

I think that the plugin should provide it

But plugins are in Plugin folder

Agree with @shargon.


Error: Cannot find module '/home/bart/src/ssg/ssg.config.js'

Afer installing ssg with yarn add ssg I get the following error when trying to run yarn ssg dev:
ssgConfig file ssg.config.js doesnt exist, continuing as regular sapper app
> Cannot find module '/home/bart/src/ssg/ssg.config.js'
Require stack:
- /home/bart/src/ssg/node_modules/ssg/dist/cli-ssg.js
- /home/bart/src/ssg/node_modules/ssg/dist/cli.js
- /home/bart/src/ssg/node_modules/ssg/ssg
Error: Cannot find module '/home/bart/src/ssg/ssg.config.js'
Require stack:
- /home/bart/src/ssg/node_modules/ssg/dist/cli-ssg.js
- /home/bart/src/ssg/node_modules/ssg/dist/cli.js
- /home/bart/src/ssg/node_modules/ssg/ssg
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:17)
    at Function.Module._load (internal/modules/cjs/loader.js:859:27)
    at Module.require (internal/modules/cjs/loader.js:1028:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at readSSGConfig (/home/bart/src/ssg/node_modules/ssg/dist/cli-ssg.js:78:21)
    at /home/bart/src/ssg/node_modules/ssg/dist/cli.js:92:27
    at Generator.next (<anonymous>)
    at fulfilled (/home/bart/src/ssg/node_modules/ssg/dist/cli.js:5:58)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

It's supposed to be zero-config right?

yes, it is supposed to be zero config. weird, i'll try this out

fixed this with 0.0.58 :) accidentally introduced a regression in my work to introduce a "core data" plugin.
its zero config, but still needs a svelte file to run anything. put an index.svelte in src/routes to get going.
thanks so much for the report! keep em coming. i dont do as much work on this as i should bc i only use it for my own blog haha.

also i need to look into setting up tests..


Timeseries reports work with Birkhoff

Summary

Refactored timeseries report so that it doesn't need a Problem instance.
Moved time, state, parameter, and control options into actual Phase.options so that they are recorded.
Removed phase instantiation using from_phase argument.
Added Phase.duplicate() method.
Added some tex files that were missing from the JOSS folder.
Cleanup .gitignore.

Related Issues

Resolves #1039

Backwards incompatibilities

Phase init argument from_phase is no longer availalbe. Users should use Phase.duplicate() or Phase.get_simulation_phase()

New Dependencies
None

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-47 of 261 (81.99%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 92.697%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

dymos/phase/simulation_phase.py
11
14
78.57%

dymos/visualization/timeseries/bokeh_timeseries_report.py
79
83
95.18%

dymos/phase/analytic_phase.py
20
25
80.0%

dymos/phase/phase.py
84
119
70.59%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
34996

Relevant Lines:
37753

💛  - Coveralls


Remap Fn+Fx keys when Fn is already remapped

I am currently trying to replace my CapsLock key with the Fn key. On my way to that goal I have stumbled upon some issues that might be misunderstandings on my part how Karabiner + Seil works. I'll iterate my findings so far and my remaining issues in the following:

I disabled CapsLock in the System Preferences
I used Seil to remap CapsLock to F19
I used Karabiner to remap F19 to Fn

This mapping works for e.g. obtain the Fn+Delete behavior when pressing CapLock+Delete now, but none of the Fn+F1..12 combinations work.
It is my understanding that Seil works on a lower level than Karabiner. So, by changing CapsLock to F19 there, Karabiner only ever sees F19 when I press the CapsLock button. Therefore, I then tried to remap F19+F1..12 to Fn+F1..F12, which Karabiner apparently cannot do (there can only be one FromKey, right?). Next, I was hoping that I could use Karabiner to build a chain of substitutions, i.e. first mapping F19 to Fn and then using this new mapping for further remappings - which also seems not to be the possible (right?).
So my final question would be, how can I change CapsLock to behave as Fn in every situation?
(Note, I also set reverse Fn behavior for the top row - if this changes things)
EDIT:
I have now found the option to use __SimultaneousKeyPresses__, which somewhat helps. I can remap F19+F1 to BRIGHTNESS_DOWN and so on. The only issue with this is that F19 (aka Fn) does not really work as a modifier key - I have to press both buttons at the same time. I can't press and hold F19 and then press F1 to get the desired mapping.

Do you already read this article?
https://pqrs.org/osx/karabiner/faq.html.en#fn

Thank you, I actually didnn't. I was only aware of the Manual page for Karabiner - not that there are a couple of more explanation pages.
You're FAQ helped me to configure what I wanted. Thank you.


Ported to Django 2.x and Python 3.x

Spent a few hours the past 2 evenings porting a copy of OE to Django 2.x and Python 3.x. Seems to working well. I used a none docker version from https://github.com/DeEgge/openeats
Took a lot of googling to figure out some stuff, but everything I click on or add seems to work .

Im not really sure what this issue is about. OpenEats already runs on Django 2.x and Python 3.6. There is also already a issue on porting OpenEats to run outside of Docker.
If you have code that you think would help get OpenEats to run outside of docker then please open a pull request or take your questions here: https://github.com/open-eats/OpenEats/issues/31
-Ryan


Changing the endpoint name displayed in Apple Home (CON-1139)

Hello there,
How can I change the endpoint name of the devices in the node? We tried adding the fixed label to to factory data with the key value pair of name:presence sensor.

We verified the written data via chip-tool fixedlabel read <node-id> 1 and it returns the written value.
What exactly I need to change to get this take effect on Apple Home?

check this . #914

Apple does not use fixed label in the Home app at this time. The only thing that worked for me was creating a bridge and exposing each endpoint as a separate node and naming each node. See the issue which @ronny-antoon mentions above.

Closing as the question is answered.


unused stuff muted, buttons translated

No conflicts during merge and deploy on server; deployed 2016-02-25 19:51


Remove server from OMEVV management

Requirement Breakdown
Details

Objective

Authentication/Authorization

List of the tasks in the workflow (in   order)

Module type: Library and/or executable

Input and format

Expected output and format   Export required

Concurrency requirement.

Execution model: synchronous or   asynchronous

Applicable timeouts and retries

Expected error handing

Expected domain specific validation

https://github.com/dell/omivv/pull/29


Update README

README should be updated showing the ecosystem of packages that makes up The Boring JavaScript Stack as well as contributors to the boring-stack repo

I am about to add the beautiful way to set up ;-), To enable users to just copy and paste the command
For Vue
npx create-sails <project-name> --vue
For React
npx create-sails <project-name> --react
For Svelte
npx create-sails <project-name> --svelte