text:
Security 2.1: Manage Users Activity

Item 2.1 in the security design is to set up the Manage Users activity without User Role buttons yet, pp.6-7 of design document.
Team filtering will be incorporated when possible but may not be fully completed/tested until Phase 3.
Main tasks

Modify manage_user.html to contain the appropriate fields.
Develop data retrieval and front-end display using a test user.

Develop retrieval queries to pull two lists: inactive users in current team and all users in current team; neither list should include self.
First Name, Last Name, Email, username are all read-only

Storage of form data to backend.

Test user creation workflow
Using test/test as an example.

Register a new account
(Test login for sanity)
Find user ID from Users table
Associated desired security points:

INSERT INTO UserSecurity (user_ID, security_point_ID) VALUES (37, 100);
INSERT INTO UserSecurity (user_ID, security_point_ID) VALUES (37, 200);
INSERT INTO UserSecurity (user_ID, security_point_ID) VALUES (37, 500);

Associate desired teams:

INSERT INTO TeamAffiliatedWithUser (user_ID, team_ID) VALUES (37, 1);
INSERT INTO TeamAffiliatedWithUser (user_ID, team_ID) VALUES (37, 2);

Test users
Username/password: test/test
Name: Testman Testington
ID: 37
team_ID(s): 1,2
Security points: 100, 200, 500
Username/password: test2/test2
Name: Bob Hope
ID: 38
team_ID(s): 3
Security points: 100, 200, 500, 810, 820, 830
Username/password: test3/test3
Name: Rick Test
ID: 39
team_ID(s): 1, 2, 3, 4
Security points: 100
Test Plan
Log in as nbollig
Set my active team in app_server.py Line 100
In Manage Users select a test user
List of inactive users should include all users except self
Should see security points
Test selection and display of additional test users
Test above when logged in as a test user
Test modification of activation state
Test modification of security points

Changed ManageUser.get_users() to take team_ID argument.
Decided to not include list of other research teams for now. This is not essential and may not be desirable from a security perspective.
Update UserDao.get_data() and Q_GET_USER to pull info for form.
Form changes made to display this data.
Need to use request.form.getlist() to pull multiselect values from form, otherwise dict(request.form) will lose values from the MultiDict.
Updated UserDao.create_update_user() to handle this action.
Test Plan - SUCCESS!

This functionality is complete and tested. The testing of this ticket will be repeated in the broader test plan of #63.

repo: nathanbollig/rt-quic-db

license: Unlicense


text:
add parquet support

I'd like to add parquet support in addition to sequence files.

Hi Jeroen, were you able to get this to work? I'm looking at doing the same thing.

@caminic Sorry for the late response. No I didn't get to it. Priorities shifted and I also didn't fully see my way through all the Java indirection. Parquet support still sounds useful as it is supported by quite a number of tools these days.

source: gharchive/issue

authors: caminic jeroenvandijk sorenmacbeth

repo: nathanmarz/dfs-datastores

license_type: permissive

license_source: bigquery


text:
Add 'submission-oriented' history to Labs

Implement a first pass at the new 'submission-oriented' history view and make it available in Labs.
This new view introduces a hierarchy of versions, with actual submissions by editors taking precedence. It has some known missing features, to be implemented progressively as we gain a better understanding of requirements. In particular, it only properly handles submission and enrichment structured events; edit events and state changes are not yet supported (and we lack the data to do so anyway).
A large chunk of this is trying to handle the many possible cases and interactions between our various levels of annotation richness (legacy, type-only and fully payload), as well as variation in the level of detail in a payload.

         {% if event.data.calling_agent %}
            {{ event.data.calling_agent }}
          {% else %}
            Unknown agent
          {% endif %}

might be better phrased as {{event.data.calling_agent|default="Unknown agent"}} (untested)

source: gharchive/pull-request

repo: nationalarchives/ds-caselaw-editor-ui

license: MIT

license_source: github-api


text:
Non-mixed Complex Content

This fix avoids the XDMP-NONMIXEDCOMPLEXCONT error when documents are associated with the schema.
Non-mixed complex content elements cannot be passed as a parameter to the normalize-space() function. Must first call string()

This does fix the problem :)

authors: dragon-dxw jurisdatum


text:
DSRC-45: Image Gallery

Ticket URL: DSRC-45
About these changes
Adds an Image Gallery block to the CMS, for editors to add images in an inline-gallery.
In the CMS:

In the API:

Before assigning to reviewer, please make sure you have

[x] Checked things thoroughly before handing over to reviewer
[x] Checked PR title starts with ticket number as per project conventions to help us keep track of changes
[x] Ensured that PR includes only commits relevant to the ticket
[x] Waited for all CI jobs to pass before requesting a review
[x] Added/updated tests and documentation where relevant

Merging PR guidance
Follow docs\developer-guide\contributing.md
Deployment guidance
Follow docs\infra\environments.md

@jamesbiggs Could we make the gallery description a rich text block?

authors: ahosgood jamesbiggs

repo: nationalarchives/ds-wagtail


text:
Fix some tests

Fixing various tests that were failing locally when running in
parallel mode (without -p=1).
In reload_test.go, lots of nats.Conn.Close() were missing which
would require too much memory when running with -race mode.

lgtm

LGTM.

authors: ColinSullivan1 kozlovic tylertreat

repo: nats-io/gnatsd


text:
Error Saving

Error: Service Unavailable
Error: Service Unavailable
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:71831:19)
    at Request.Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1764:20)
    at XMLHttpRequest.xhr.onreadystatechange (https://homebrewery.naturalcrit.com/homebrew/bundle.js:72140:10)
{
  "status": 503,
  "method": "POST",
  "url": "/api/newGoogle/"
}

I have followed the instructions from discussion #1580 - as I have seen it suggested for a number of others, unfortunately the issue is still persisting.
Any other solutions available?
Thanks.

If you feel comfortable sharing your username I can give your account a look and see if something's stuck.

Sure, its just 'GDowling'.

After some more trying it seems to be working now. So no need to look into it, cheers.

repo: naturalcrit/homebrewery


text:
Class table margin unexpectedly overlaps text below

When I try to render a class table that look mighty fine in editor's view:

It gets all jigged up, and notice the white stripes on the edges. Image below.

Jigged up class table: http://imgur.com/lDpFmMQ

It suddenly overlaps with the text around it. Images below.

Before preview: http://imgur.com/eEjULtC

After preview:: http://imgur.com/YSw9rcE

The margins work fine in preview mode though.
This changing margin also seems to occur at different times when the preview pane is updated, such as when adding text.
Additional Details
I'm using Chrome and nothing of my knowledge is zoomed in or out. The issue persisted on two different computers. I've seen similar issues in the ''report issue'' thread.
Share Link : http://homebrewery.naturalcrit.com/share/r1bvNQ8CUe

I've noticed that top and bottom margins of DIVS seem to be reset to 0 when zooming in and out. This might be related.

Was this solved?

Hi @sonaplayer,
If I understand correctly, @calculuschild closed this issue because it may be caused by zooming. If you experiencing the same problem and not using zoom, could you please paste a share link to your brew here?

Sure. It happens on any brew I've made with a class table. It fixes itself if I change characters just below the table, but will unfix itself with time. I do not believe it shows up on everyone's browser so it may be hard to duplicate. I run Chrome (100% zoom) and Windows 10. Let me know if you need other info.
http://homebrewery.naturalcrit.com/share/ByT72gGOG
It was failing for me when I loaded the page. Zooming in or out did not change the problem.

Wow, really interesting. I'm able to reproduce the issue, but I don't know what is exactly goes wrong and how to fix it.
So, to reproduce:
Copy code shared by @sonaplayer and remove all pages except first and second. It causes preview to be re-rendered and I see the following:

Editing the brew content after the table (for example updating the Class Features header leads to another one re-render and issue is gone.
I also noticed that by removing/adding empty lines just after the class table,

 appears sometimes inside a

 which causes change in the whole block height.
@calculuschild, could you please re-open this issue?
As I understand, it is not a critical bug (workaround exists), but it might be annoying

Ah yes. A long while ago I narrowed it down to this minimal test case, but I never could figure out the solution: http://homebrewery.naturalcrit.com/share/BJiOViCntg

Not sure if this is helpful, but:
I noticed that when the over-run issue happens, the entire class table is shifted up slightly, and the text below it is shifted up even more, so that it overlaps. When you "refresh" the page by changing any characters below the table, it fixes everything by moving it all down, the text more than the class table, so it all looks right.
Based on that, it seems like whatever shift is being applied shifts the objects lower on the page more than the objects higher on the page, as if the pixels are being shrunk. Perhaps it could have something to do with re-scaling the page to A4 dimensions? Does anyone notice this on normal dimension pages?

Issue is described HERE, text pasted for convenience:

I am designing a class using the wonderful Homebrewery tool but every time I come back to the class I'm working on the text I have written after the Class Table has been bumped up to overlap with the bottom of the class table. If I add and then remove a pound symbol/hashtag from the title following the Class Table it adjusts itself, but I don't know if this will happen when I finish the class and decide to "publish" it. Is this something I have to worry about, or will it work properly when I publish?
Here's an image so you know what I mean:
https://i.redd.it/ct707ywq1d121.png

Closing since I can no longer reproduce this; presuming Chrome has fixed the issue.
If this is still a problem, feel free to reopen the issue @Klorophane

Closing since I can no longer reproduce this; presuming Chrome has fixed the issue.
If this is still a problem, feel free to reopen the issue @Klorophane

authors: AlexeySachkov Klorophane calculuschild sonaplayer


text:
Using Monospace Fonts with any Editor Theme

Feature Description
I think it is possible to allow anyone to use any editor themes with the monospace fonts.
This can be extended to any font family if it's useful, but it is quite important for monospace.
Most of the time, I have problems managing tables without using monospace themes, so I am locked to use the provided themes only (which is idea and darcula). I am also a coder, so monospace fonts are a personal preference, too.
Here's one with themes that has monospace fonts (using the idea theme):

And here's the one without (using the default theme):

I think the option to choose can be put as a checkbox below the theme dropdown, like [✓] Use monospace.
Feel free to ask questions.

I'm not sure of what you mean, the default theme uses a monospace font.

No more info provided by OP in two months, closing this issue.


text:
Documentation

Please specify more to add onto Documentation.md

MAFFT runs fine.
ngsap2@ubuntu:~/bio-cipres$ cipresrun -t MAFFT_XSEDE -p vparam.anysymbol_=1 -i /home/ngsap2/bio-cipres/data/unalign.fasta -y cipres_appinfo.yml -o output.mafft=/home/ngsap2/bio-cipres/outfile.fastaINFO Bio::Phylo::CIPRES::yml [Bio/Phylo/CIPRES.pm 241] - Reading YAML file cipres_appinfo.yml
INFO Bio::Phylo::CIPRES::launch_job [Bio/Phylo/CIPRES.pm 145] - Job launched at https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-MAFFT_XSEDE-9B749403AB7142DC8008D18E790C0440
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 162] - Going to check status for https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-MAFFT_XSEDE-9B749403AB7142DC8008D18E790C0440
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 179] - [Fri Apr 24 04:27:45 2020] completed: false
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 162] - Going to check status for https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-MAFFT_XSEDE-9B749403AB7142DC8008D18E790C0440
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 179] - [Fri Apr 24 04:28:48 2020] completed: true
INFO Bio::Phylo::CIPRES::clean_job [Bio/Phylo/CIPRES.pm 325] - Going to clean job https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-MAFFT_XSEDE-9B749403AB7142DC8008D18E790C0440

Error while running IQTREE
ngsap2@ubuntu:~/bio-cipres$ cipresrun -t IQTREE_XSEDE -p vparam.specify_runtype_=2 -p vparam.specify_dnamodel_=HKY -p vparam.bootstrap_type_=bb -p vparam.use_bnni_=1 -p vparam.num_bootreps_=1000 -p vparam.specify_numparts_=1 -i /home/ngsap2/bio-cipres/outfile.fasta -y cipres_appinfo.yml -o output.contree=/home/ngsap2/bio-cipres/tree.dnd
INFO Bio::Phylo::CIPRES::yml [Bio/Phylo/CIPRES.pm 241] - Reading YAML file cipres_appinfo.yml
INFO Bio::Phylo::CIPRES::launch_job [Bio/Phylo/CIPRES.pm 145] - Job launched at https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-IQTREE_XSEDE-12AF7F07DA8A4058B6F60C3A32DFDB9E
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 162] - Going to check status for https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-IQTREE_XSEDE-12AF7F07DA8A4058B6F60C3A32DFDB9E
INFO Bio::Phylo::CIPRES::check_status [Bio/Phylo/CIPRES.pm 179] - [Fri Apr 24 04:33:03 2020] completed: true
-------------------------- EXCEPTION ----------------------------
Message: 400 URL missing

An exception of type Bio::Phylo::Util::Exceptions::NetworkError
was thrown.

This kind of error happens when a network resource can not be accessed.

Refer to the Bio::Phylo::Util::Exceptions documentation for more
information.
------------------------- STACK TRACE ---------------------------
STACK: Bio::Phylo::CIPRES::get_results('Bio::Phylo::CIPRES=HASH(0x3089ec0)', 'https://cipresrest.sdsc.edu/cipresrest/v1/job/ambarish/NGBW-JOB-IQTREE_XSEDE-12AF7F07DA8A4058B6F60C3A32DFDB9E/output') called at /usr/local/share/perl/5.22.1/Bio/Phylo/CIPRES.pm line 114
STACK: Bio::Phylo::CIPRES::run('Bio::Phylo::CIPRES=HASH(0x3089ec0)') called at /usr/local/bin/cipresrun line 60
-----------------------------------------------------------------

Hello sir. I am writing abstract for ISMB 2020 - GALAXY implementation of neoantigen prediction. I will mention your name as author...

repo: naturalis/bio-cipres


text:
Feature Request: Contact

Environment

Python version: 3.9
Nautobot version: 1.1.4

Proposed Functionality
As part of the Nautobot Plugin Device Lifecycle Management plugin the model of a contact was introduced there.

Use Case

This is something that could be used in many other places as well. Such as assigning ownership of devices.
Ownership of sites
By moving into core then other plugins can leverage the model and have a single unified contact experience

Database Changes
Create new data model, user

External Dependencies
None

How about we turn this into a discussion to cover how we might model this and how it would be associated with other objects?

authors: jathanism jvanderaa

repo: nautobot/nautobot


text:
Add geo location attributes to abstract location feature

As ...
Isabella - Infrastructure Owner
I want ...
I want to be able to have more flexible geo location attributes down which are not tied specifically to a site.  This request is related to the new "abstract location feature" issue 774. These attributes could include things such as below (but not limited to):

latitude
longitude
address
location name in a building

So that ...
flexible geo location attributes would allow me to more accurately find a location of a device.  Some examples below:

a specific location on a manufacturing floor which could be in a huge building
a series of devices which are on telephone poles which are scattered throughout a state or country
an access point inside or outside of a building

in general, the feature would service devices which can be scattered throughout a site and need to have more accurate representation of a location.  This has been requested by several manufacturing companies and IOT focused organizations which need these details to find devices more quickly in large building environments such as manufacturing floors.
I know this is done when...
when creating a new location using the abstract location feature, I am able to add accurate location attributes.  An example would be to add a manufacturing equipment to a floor in a building and accurately represent exactly where in the building the device resides.  This could also be something like a medical equipment or a wireless access point
Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[X] DCIM
[ ] IPAM
[X] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[X] UI/UX
[ ] Documentation
[X] Other (not directly a platform feature)

Database Changes
new attributes would need to be added to the abstract location model referenced in issue 774
External Dependencies
No response

@bradh11 further to this, i recently posted a question to @glennmatthews on PR #1891. Would you be open to PR accepting support for geoJSON on the location and site model.
We could then add some support for the following use cases

Provide a geojson polygon editor for the nautobot.location / nautobot.site (shown in gif)
Provide a general location matching API ( GPS co-ords from a webservice, ie google places etc to a nautobt site)
Showing where nautobot.locations are within a nautobot.site

I'm no expert on GeoJSON but this sounds like a terrific idea to me,
especially if you're open to writing a PR for it. :-)
Glenn
On Mon, Jun 27, 2022 at 2:56 AM tbotnz @.***> wrote:

@bradh11 https://github.com/bradh11 further to this, i recently posted
a question to @glennmatthews https://github.com/glennmatthews on PR
#1891 https://github.com/nautobot/nautobot/pull/1891. Would you be open
to PR accepting support for geoJSON on the location and site model.
We could then add some support for the following use cases

Provide a geojson polygon editor for the nautobot.location /
nautobot.site (shown in gif)
Provide a general location matching API ( GPS co-ords from a
webservice, ie google places etc to a nautobt site)
Showing where nautobot.locations are within a nautobot.site

[image: ezgif-5-63cf21f302]
https://user-images.githubusercontent.com/23552972/175877263-e679bac8-1737-4012-8216-7cf816911f44.gif
—
Reply to this email directly, view it on GitHub
https://github.com/nautobot/nautobot/issues/1959#issuecomment-1166952921,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABKYBXYYB4VKZ7LNHYGJDQ3VRFGBTANCNFSM5Z4XMVRQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Glenn Matthews
he/him/his
Principal Engineer
Network to Code
https://www.networktocode.com
@.***
networktocode.com https://www.networktocode.com
https://twitter.com/networktocode
https://www.linkedin.com/company/network-to-code
https://www.youtube.com/channel/UCwBh-dDdoqzxXKyvTw3BuTw/videos?view=0&sort=dd&shelf_id=0
This message and all attachments are intended only for the use of the
person to which it is addressed and may contain information that is
confidential, privileged, proprietary, or otherwise protected from
disclosure. Please note that any unauthorized use, dissemination, or
copying of this communication or its attachments is strictly prohibited. If
you have received this communication in error, please notify us immediately
by return e-mail and delete all copies of the message and any attachments.

^ have decided to go down plugin route for now

Relates to #2517

Completed via #2517

authors: bradh11 bryanculver glennmatthews tbotnz


text:
custom fiedl slug with '/' might break UI

Environment

Python version: 3.7.3
Nautobot version: 1.3.2

Steps to Reproduce

Create a new custom field named Devices / Virtual Machines
Go to https://mynautobot/extras/custom-fields/
You get

<class 'django.urls.exceptions.NoReverseMatch'>

Reverse for 'customfield' with arguments '('Devices / Virtual Machines',)' not found. 1 pattern(s) tried: ['extras/custom\\-fields/(?P<name>[^/]+)/\\Z']

Python version: 3.7.3
Nautobot version: 1.3.2

Expected Behavior
Impossibility to add such a slug and/or correct URL reversal.

Observed Behavior
Python Exception and need to remove the broken cf via nbshell.

Thanks for the report! #824 is the tracking issue for changing the CustomField model to actually make this field a proper slug field, which would fix this issue and several related symptoms.

As a bug fix, we will add a slug field and use it in URL patterns.

Fixing this the "right" way will require adding a versioned REST API serializer, I think - so moving this to 1.4 milestone.

Implemented for 1.4 by #2136.

authors: bryanculver glennmatthews sklemer1


text:
Add RouteTarget and VRF factories. Add TenancyFilterTestCaseMixin and refactor

Towards: #2283
What's Changed

Added factories for RouteTarget, VRF, Role, VLANGroup, and VLAN models and add these factories to the test runner.
Added OrganizationalModelFactory and PrimaryModelFactory base classes - currently these are mostly empty but I've left TODO comments regarding potential areas for extension of these. I moved the Tag mapping logic out of the individual factories and into PrimaryModelFactory so that it doesn't need to be repeated everywhere.

Also added BaseModelFactory as a common parent of these two classes, and overrode the _create API (which despite the leading underscore is a documented extension point) to call our .validated_save() method when creating model instances to ensure they are valid.

Added get_random_instances factory helper function, and used it for Tag mapping as well as import_target/export_target mapping on the VRF factory.
As a result of the factory updates, I discovered a bug in the filtering test updates for tenant_group filters that I made in #2479, specifically that the tests weren't accounting for the fact that tenant_group is a TreeNodeMultipleChoice filter and so matches not only against the specific tenant group(s) provided, but also any of their descendants. As a result many of the test_tenant_group tests began failing after I modified the factories (and hence the specific set of random data being generated) because they weren't accounting for the possibility of sub-groups.

Testing for tenant and tenant_group filters is basically boilerplate, and I got tired of making the same change in a dozen different places, so I went ahead and created a TenancyFilterTestCaseMixin class and made use of it throughout our tests. This results in a decent amount of test code reduction, yay!

TODO

[x] Explanation of Change(s)
[x] Attached Screenshots, Payload Example
[x] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
n/a Example Plugin Updates (when adding/changing features)
[x] Outline Remaining Work, Constraints from Design

This is looking pretty good. I'd like to understand a little bit more the need for two separate random instance getters.

One is for getting a single random instance (e.g., ForeignKey), the other is for getting 0-to-n random instances (e.g., ManyToManyField). The latter is "new" in this PR but only inasmuch as it's a generalization of the get_random_tags_for_model function that was introduced in #2479. (Which I just realized is still left in the code at the moment, even though it's no longer used - will get that fixed in the next commit.)

One change I want to draw attention to is the change in the various test_filter cases from:
self.assertEqual(self.filterset(params, self.queryset).qs.count(), HARDCODED_NUMBER)

to:
self.assertQuerysetEqual(self.filterset(params, self.queryset), self.queryset.filter(...))

First, it accounts for the fact that due to factories we don't necessarily have a specific number of filtered instances known in advance. But secondly, using assertQuerysetEqual instead of just assertEqual(count, count) makes for a stronger test IMHO.
In some cases, the queryset ordering may not necessarily be guaranteed, such as in the VRF case where we might have two VRFs with the same name and a null rd value, the relative ordering of which would not be guaranteed. In these cases (only) we need to pass ordered=False to the assertQuerysetEqual() call.


text:
Added caching for display property of Location and LocationType…

Closes: #4573
What's Changed

Backports some of the changes #3702 to ltm/1.6 in order to improve performance for the location/location type API endpoints.
TODO

[x] Explanation of Change(s)
[x] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

I have tested this and it dramatically improves performance for all API endpoints related to locations.


text:
queueable - Dynamic Loader

Currently src/ourthings/queue.js:78 there is a hardcoded example of how to load a queryable object into the objects container.
Need to devise the method for making this part of the build process.
IE I have my project in another repository and in there I have a package.json which will pull in ourthings via npm install. This will come with bundle.js which by default will include all internals.
The user needs to modify a build list to specify a smaller build with webpack. This will also include adding an local queueables they wish to add and queue.js will need understand either this list or have a way of understanding which queueables it needs to instantiate.
Possible solutions that come to mind.
A master list is available in the form of a json and queue checks to see which classes exit. This would limit the local queueables to a single class (Possibly not end of the world)
Each queueable reports its presense by means of an onload function at the end of the file (as per moho). This is not ideal so should be considered fallback if we can't solve it.
Open for suggestions

Ok I have prototyped a more dynamic version of this where the loading is initially done in main.js
As main.js will be the main override point for projects this will be the config point for making custom builds. I'm still not 100% happy with this as it requires both an import and new Object into a global to have queue understand its present. It may be possible to do this second step using a  webpack plugin which can produce a json but for now this is working

repo: nautoguide/ourthings


text:
Add DUCP blog

Add blog about Docker Universal Control Plane/Project Orca

LGTM, thx!

authors: simonvanderveldt superseb

license: mit


text:
🛑 Harmony Bot Website is down

In 3319f31, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in a754080.


text:
🛑 Harmony Bot Website is down

In f38ea07, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in d1e7409.


text:
🛑 Harmony Bot Website is down

In 641f4d5, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 8b2743c.


text:
🛑 Harmony Bot Website is down

In 17c0710, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 3686c43.


text:
🛑 Harmony Backup Bot is down

In 129af6e, Harmony Backup Bot ($HARMONY_BACKUP) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Backup Bot is back up in cfaebdf.


text:
🛑 Harmony Bot Website is down

In e87b8b8, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 0eb1765.


text:
🛑 Harmony Bot Website is down

In 65d9dce, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 0add441.


text:
🛑 Harmony Bot Website is down

In 398f6c9, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in a618930.


text:
🛑 Harmony Bot Website is down

In bb09272, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 575d504.


text:
🛑 Harmony Bot Website is down

In 81fb2a5, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 0e6d7b7.


text:
🛑 Harmony Bot Website is down

In 6f1dc65, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in 9b1eb78.


text:
Switch from sed to perl in template only testing scripts

Context
sed isn't portable between os x and linux, leading to needing to do things in a more convoluted way (e.g. to edit files in place:
cp file file.bak
cat file.bak | sed 's/foo/bar' > file

instead of the more concise but not portable:
# os x
sed -i .bak 's/foo/bar' > file

# linux / gnu sed
sed -i.bak 's/foo/bar' > file

James suggested using perl instead
perl -pe -i.bak 's/foo/bar/'

See slack thread

Turns out sed -i.bak works on OS X version, so that is already a portable solution

repo: navapbc/template-infra


text:
Guava project use java16 or java17?

Description
The pom in guava project show the tag below

<jdk.version>1.6</jdk.version>
<jdk.home>${env.JAVA_7_HOME}</jdk.home>
<sniffer.artifactid>java16</sniffer.artifactid>

My ecliplse-mars2 always use java6 complie the code and make some error . Is this should be 1.7 in jdk.version and sniffer.artifactid ?
Environment

Pinpoint version: 1.6.0
OS, WAS, affected library, etc: windows eclipse-mars2
Additional details (e.g. how your collector/web is set up):

Additional Info

It is a right option.
We don't provide technical support for Eclipse.
Find eclipse option on the web.

etc : java language level, jdk option

authors: Eilikce emeroad

repo: naver/pinpoint


text:
[#6759] auto group agent if pinpoint.container.auto is set

If System Property pinpoint.container.auto is set to true, enable group agent feature automatically when running in docker/container environment.

Codecov Report

Merging #6755 into master will decrease coverage by 0.00%.
The diff coverage is 64.28%.

@@            Coverage Diff             @@
##           master    #6755      +/-   ##
==========================================
- Coverage   39.07%   39.06%   -0.01%
==========================================
  Files        3134     3134
  Lines       93948    93955       +7
  Branches    11804    11805       +1
==========================================
- Hits        36707    36704       -3
- Misses      54278    54291      +13
+ Partials     2963     2960       -3

Impacted Files
Coverage Δ

...avercorp/pinpoint/bootstrap/ContainerResolver.java
66.66% <64.28%> (-19.05%)
:arrow_down:

...rp/pinpoint/rpc/control/ControlMessageDecoder.java
64.28% <0.00%> (-14.29%)
:arrow_down:

.../pinpoint/rpc/client/PinpointClientHandshaker.java
60.00% <0.00%> (-6.43%)
:arrow_down:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
82.92% <0.00%> (-2.44%)
:arrow_down:

...java/com/navercorp/pinpoint/rpc/DefaultFuture.java
72.50% <0.00%> (-1.67%)
:arrow_down:

...ollector/cluster/zookeeper/ZookeeperJobWorker.java
79.53% <0.00%> (-1.40%)
:arrow_down:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
70.00% <0.00%> (ø)

...m/navercorp/pinpoint/rpc/client/ConnectFuture.java
85.00% <0.00%> (ø)

...cluster/zookeeper/ZookeeperClusterDataManager.java
54.83% <0.00%> (+1.93%)
:arrow_up:

...rp/pinpoint/rpc/server/PinpointServerAcceptor.java
88.74% <0.00%> (+4.63%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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

@yjqg6666
Thank you for your contribution

That's a good idea.
I will review it this week.

ref : https://github.com/naver/pinpoint/issues/6759

@yjqg6666
I reviewed it and made some changes to the code as there are good things to improve.
The pinpoint.container.auto option has been removed,
and if there is no pinpoint.container option, it can be automatically detected by checking the .dockerenv file or KUBERNETES_SERVICE_HOST.
How do you think about this? I pushed it to your repository. If you think it's okay, I will merge.

Good. I add this option is just for backward-compatibility. I'm quite OK with it for removing this option, it's sort of redundant.

@minwoo-jung Thanks for the improvement.

authors: codecov-io emeroad minwoo-jung yjqg6666


text:
Fjerne inst2 proxy

Gjenny har nå blitt koblet direkte mot institusjon sin egen proxy. Vi kan derfor fjerne vår egen.
Avventer merge inntil vi ser at alt kjører som det skal i produksjon.
https://github.com/navikt/pensjon-etterlatte-saksbehandling/pull/3526

Loggene til etterlatte-institusjonsopphold tilsier at alle kall mot nytt endepunkt er OK. Merger endringene her.

repo: navikt/pensjon-etterlatte-felles


text:
WCAG-bugfixes

Fikser disse, iflg. beskrivelsene på Trello:
1.3.1 Konsekvent overskriftstruktur
2.4.3 Stegindikator
2.5.3 Ledetekst i navn
3.3.1 Identifikasjon av feil
(og et par andre småting)
Alle sider bekreftet 0 a11y-feil i Lighthouse

src/skjema/08-vedlegg/vedleggSlettet/index.tsx
Line 2:9:  'getIntlTextOrKey' is defined but never used  @typescript-eslint/no-unused-vars

authors: Mvbraathen toresbe

repo: navikt/sosialhjelp-soknad


text:
[Request] Compatibility

Please check for compatibility with other modules that use ace (like not enough npcs) since ace is very prone to breaking if multiple modules use it (ace.config.basePath might break other modules using ace for example)

Thanks man. Will do. I'm just seeing if I can standardize importing ace and its dependencies for now. It's very touchy.

My forked repo of yours is looking a lot better than this one. But took me a while to understand what it was your code was editing in the first place. UI dev isn't my area of expertise.

The Furnace is no more, but this editor module is still incompatible with at least one of the successor modules, Advanced Macros.
And yeah, even if I disable the Furnace checks, the editor breaks with Advanced Macros enabled.
Is there a way to make them compatible?

I'll look into it.

Please use VTTMacroEditor instead @DrMcCoy . This project will be closed.

Ah.
Thank you for your service!

authors: DrMcCoy ardittristan navisayslisten

repo: navisayslisten/AceEditorVTT


text:
mariadb keeps restarting

Hi Nazar,
I try to understand and implement your extensive setup. It is the most complete I found yet.
I never ran across consul or ceph, so I don't understand what they do.
So far I can spawn a load balancer in front of an NGINX-PHP (web) module connected to a MySQL or MariaDB database which itself is connected to a data container pointing to a real database on a Digital Ocean Droplet, then start a number of web instances and prove that both the load balancer and the database work correctly (provided I use version 1 of docker-compose, as tutum/haproxy does not work with version 2 yet).
Using your example, I see that examplecom_mariadb_1 keeps restarting, so I commented the automatic restart in docker-compose.yml, only to see that this container exits with 1. The log file only shows the password.
If I understand your scripts correctly, you project everything to your /data subdirectory within the container, which isn't of much use if the container isn't running.
Any ideas?
Thanks a lot anyway.

Consul is used for DNS and storing Ceph configuration if it is used. Ceph is used for CephFS, distributed file system (crucial for distributed apps when using Docker Swarm), but Ceph image is experimental currently.
Did you try basic example?
Advanced examples are currently blocked by #11 because of breaking changes introduced in Docker 1.10.
MariaDB restarting was caused by recent change in base image: https://github.com/docker-library/mariadb/commit/032647e59d4ce5405eb2db79f70364a1cf05ed56
It should be fixed in 495b532, try to pull fresh image and it should work fine now.
Sorry about confusion and thanks for the report!

Yes, I tried only the basic example. Will have another look today. Thanks so far.

I should work now, just pull latest image

Great! Alas, I can't test, because I am dumb, now I get
wp@ubuntu-512mb-fra1-01:~/nazar/docker-webserver/example.com$ sudo docker-compose up -d
ERROR: Service "data" mounts volumes from "example.com", which is not the name of a service or container.

and I don't know what this means or what to do. What happened? I didn't get this error the first time. Can you help me once again?

You just skipped first step from tutorial:
docker run --name example.com nazarpc/webserver:data

You need this named container in order to store your data permanently.

Great, thanks a lot! Works like a charm! Or not?
wp@ubuntu-512mb-fra1-01:~/kklepper/docker-webserver/example.com$ sudo docker run --name example.com nazarpc/webserver:data
[sudo] password for wp:
wp@ubuntu-512mb-fra1-01:~/kklepper/docker-webserver/example.com$ sudo docker-compose up -d
Creating examplecom_data_1
Creating examplecom_mariadb_1
Creating examplecom_ssh_1
Creating examplecom_logrotate_1
Creating examplecom_php_1
Creating examplecom_nginx_1
wp@ubuntu-512mb-fra1-01:~/kklepper/docker-webserver/example.com$ sudo docker-compose ps
         Name                       Command                 State                     Ports
-----------------------------------------------------------------------------------------------------------
examplecom_data_1        sh                               Exit 0
examplecom_logrotate_1   /bin/sh -c watch --no-titl ...   Up
examplecom_mariadb_1     /webserver-entrypoint.sh m ...   Restarting   3306/tcp
examplecom_nginx_1       /webserver-entrypoint.sh n ...   Up           443/tcp, 46.101.104.194:8070->80/tcp
examplecom_php_1         /webserver-entrypoint.sh p ...   Up           9000/tcp
examplecom_ssh_1         /webserver-entrypoint.sh         Up           46.101.104.194:8091->22/tcp

What is wrong here? Or what am I to do?

Did you pull latest mariadb image docker-compose pull?
Can you provide output of docker-compose logs mariadb?

No, I didn't. Perfect. Thank you very much.
Next problem: nginx gives me a 403 Forbidden. How is this setup meant to work?
mariadb seems to need more memory (Digital Ocean 512 MB). Cannot start innodb, restarts. Will try again with more memory soon.
.

You need to put some files under /data/nginx/www, it might be empty initially, thus 403 because you are not allowed to see directory listing.

Ok, I see, thank you.
As for MariaDB, I changed galera.cnf to (MyIsam support is in beta)
[mysqld]
# Enforcing mandatory settings
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
bind-address=0.0.0.0
#default_storage_engine=InnoDB
default_storage_engine=MyIsam
#innodb_autoinc_lock_mode=2
#innodb_doublewrite=1
#innodb_flush_log_at_trx_commit=0
#transaction_isolation=READ-COMMITTED
wsrep_on=ON
wsrep_replicate_myisam=ON
skip_innodb

but still innodb is invoked:
wp@ubuntu-512mb-fra1-01:~/nazar/docker-webserver/example.com$ sudo docker logs examplecom_mariadb_1
MySQL root password (from /data/mysql/root_password): QvgCSMhO39bPqxLRfko7yr9JVrTdJD
2016-02-24 23:07:18 140178895366080 [Note] mysqld (mysqld 10.1.11-MariaDB-1~jessie) starting as process 1 ...
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Read nil XID from storage engines, skipping position init
2016-02-24 23:07:18 140178895366080 [Note] WSREP: wsrep_load(): loading provider library '/usr/lib/galera/libgalera_smm.so'
2016-02-24 23:07:18 140178895366080 [Note] WSREP: wsrep_load(): Galera 25.3.12(r3516) by Codership Oy <info@codership.com> loaded successfully.
2016-02-24 23:07:18 140178895366080 [Note] WSREP: CRC-32C: using hardware acceleration.
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Found saved state: 0fab2050-db47-11e5-a383-f63c9e28a3ef:-1
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Passing config to GCS: base_dir = /var/lib/mysql_local/; base_host = 172.17.0.2; base_port = 4567; cert.log_conflicts = no; debug = no; evs.auto_evict = 0; evs.delay_margin = PT1S; evs.delayed_keep_period = PT30S; evs.inactive_check_period = PT0.5S; evs.inactive_timeout = PT15S; evs.join_retrans_period = PT1S; evs.max_install_timeouts = 3; evs.send_window = 4; evs.stats_report_period = PT1M; evs.suspect_timeout = PT5S; evs.user_send_window = 2; evs.view_forget_timeout = PT24H; gcache.dir = /var/lib/mysql_local/; gcache.keep_pages_size = 0; gcache.mem_size = 0; gcache.name = /var/lib/mysql_local//galera.cache; gcache.page_size = 128M; gcache.size = 128M; gcs.fc_debug = 0; gcs.fc_factor = 1.0; gcs.fc_limit = 16; gcs.fc_master_slave = no; gcs.max_packet_size = 64500; gcs.max_throttle = 0.25; gcs.recv_q_hard_limit = 9223372036854775807; gcs.recv_q_soft_limit = 0.25; gcs.sync_donor = no; gmcast.segment = 0; gmcast.version = 0; pc.announce_timeout = PT3S; pc.checksum = false; pc.ignore_quorum = false; pc.ig
2016-02-24 23:07:18 140178579953408 [Note] WSREP: Service thread queue flushed.
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Assign initial position for certification: -1, protocol version: -1
2016-02-24 23:07:18 140178895366080 [Note] WSREP: wsrep_sst_grab()
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Start replication
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Setting initial position to 00000000-0000-0000-0000-000000000000:-1
2016-02-24 23:07:18 140178895366080 [Note] WSREP: protonet asio version 0
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Using CRC-32C for message checksums.
2016-02-24 23:07:18 140178895366080 [Note] WSREP: backend: asio
2016-02-24 23:07:18 140178895366080 [Warning] WSREP: access file(/var/lib/mysql_local//gvwstate.dat) failed(No such file or directory)
2016-02-24 23:07:18 140178895366080 [Note] WSREP: restore pc from disk failed
2016-02-24 23:07:18 140178895366080 [Note] WSREP: GMCast version 0
2016-02-24 23:07:18 140178895366080 [Note] WSREP: (5a489855, 'tcp://0.0.0.0:4567') listening at tcp://0.0.0.0:4567
2016-02-24 23:07:18 140178895366080 [Note] WSREP: (5a489855, 'tcp://0.0.0.0:4567') multicast: , ttl: 1
2016-02-24 23:07:18 140178895366080 [Note] WSREP: EVS version 0
2016-02-24 23:07:18 140178895366080 [Note] WSREP: gcomm: connecting to group 'my_wsrep_cluster', peer ''
2016-02-24 23:07:18 140178895366080 [Note] WSREP: start_prim is enabled, turn off pc_recovery
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Node 5a489855 state prim
2016-02-24 23:07:18 140178895366080 [Note] WSREP: view(view_id(PRIM,5a489855,1) memb {
        5a489855,0
} joined {
} left {
} partitioned {
})
2016-02-24 23:07:18 140178895366080 [Note] WSREP: save pc into disk
2016-02-24 23:07:18 140178895366080 [Note] WSREP: gcomm: connected
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Changing maximum packet size to 64500, resulting msg size: 32636
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Shifting CLOSED -> OPEN (TO: 0)
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Opened channel 'my_wsrep_cluster'
2016-02-24 23:07:18 140178521843456 [Note] WSREP: New COMPONENT: primary = yes, bootstrap = no, my_idx = 0, memb_num = 1
2016-02-24 23:07:18 140178895366080 [Note] WSREP: Waiting for SST to complete.
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Starting new group from scratch: 5a4b6b9f-db4b-11e5-b2cc-527229860f4d
2016-02-24 23:07:18 140178521843456 [Note] WSREP: STATE_EXCHANGE: sent state UUID: 5a4c1c97-db4b-11e5-9b3e-c73f8b3b2870
2016-02-24 23:07:18 140178521843456 [Note] WSREP: STATE EXCHANGE: sent state msg: 5a4c1c97-db4b-11e5-9b3e-c73f8b3b2870
2016-02-24 23:07:18 140178521843456 [Note] WSREP: STATE EXCHANGE: got state msg: 5a4c1c97-db4b-11e5-9b3e-c73f8b3b2870 from 0 ()
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Quorum results:
        version    = 3,
        component  = PRIMARY,
        conf_id    = 0,
        members    = 1/1 (joined/total),
        act_id     = 0,
        last_appl. = -1,
        protocols  = 0/7/3 (gcs/repl/appl),
        group UUID = 5a4b6b9f-db4b-11e5-b2cc-527229860f4d
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Flow-control interval: [16, 16]
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Restored state OPEN -> JOINED (0)
2016-02-24 23:07:18 140178895051520 [Note] WSREP: New cluster view: global state: 5a4b6b9f-db4b-11e5-b2cc-527229860f4d:0, view# 1: Primary, number of nodes: 1, my index: 0, protocol version 3
2016-02-24 23:07:18 140178895366080 [Note] WSREP: SST complete, seqno: 0
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Member 0.0 () synced with group.
2016-02-24 23:07:18 140178521843456 [Note] WSREP: Shifting JOINED -> SYNCED (TO: 0)
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: The InnoDB memory heap is disabled
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Memory barrier is not used
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Using Linux native AIO
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Using SSE crc32 instructions
2016-02-24 23:07:19 140178895366080 [Note] InnoDB: Initializing buffer pool, size = 256.0M
InnoDB: mmap(276824064 bytes) failed; errno 12
2016-02-24 23:07:19 140178895366080 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-02-24 23:07:19 140178895366080 [ERROR] Plugin 'InnoDB' init function returned error.
2016-02-24 23:07:19 140178895366080 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-02-24 23:07:19 140178895366080 [Note] Plugin 'FEEDBACK' is disabled.
2016-02-24 23:07:19 140178895366080 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-02-24 23:07:19 140178895366080 [ERROR] Aborting

Do I overlook something?

galera.cnf is only part of configuration related to replication, there are few more files, probably, you need to modify them as well. But 512 MiB should be enough to run database I think.

Ok, I'll try it. Must be late for you, it certainly is for me. Good night, till tomorrow. Again, thanks a lot.

Hi again. I could not find any other cfg for mariadb (where could I look for it?), so I turned to AWS and set up an EC2 instance. Compared to Digital Ocean, that was a real mess and took me hours, without my experience with DO probably even more.
Anyway MariaDB is running fine on InnoDB, so I conclude that this definitely was an out of memory problem.
Finally I got:
Starting examplecom_data_1
examplecom_mariadb_1 is up-to-date
Starting examplecom_ssh_1
ERROR: Cannot start container a3e880ee23fad24a02241b2beeb5ed53106185d4418a446980108377e9aabb0a: failed to create endpoint examplecom_ssh_1 on network bridge: Error starting userland proxy: listen tcp 54.93.172.63:8095: bind: cannot assign requested address

I concluded that this can be fixed by studying AWS security options, so I  commented this out. Next I got
Status: Downloaded newer image for nazarpc/webserver:nginx
Creating examplecom_nginx_1
ERROR: Cannot start container 666aee79ea365f1eb2fa528768c0147823885a2f168d10214c68de0d04da5a69: failed to create endpoint examplecom_nginx_1 on network bridge: Error starting userland proxy: listen tcp 54.93.172.63:8090: bind: cannot assign requested address

No idea here.

Configs are available inside container, they're from MariaDB package, default from distributive. You can start MariaDB at least once (even if it fails eventually) and then go to SSH or directly to data container and modify configuration in /data/mysql/config directory.
Mentioned errors are not about images in this repo, try to search for them somewhere, I have no idea what are they, seems something AWS-specific.

Ok, thanks a lot. Makes sense.

authors: kklepper nazar-pc

repo: nazar-pc/docker-webserver


text:
🛑 ESTAT is down

In e02fe8b, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in 254ff7d.

repo: nbbrd/sdmx-upptime


text:
🛑 ECB is down

In bf7fb99, ECB (https://data-api.ecb.europa.eu/service/dataflow/all/all/latest) was down:

HTTP code: 504
Response time: 10586 ms

Resolved: ECB is back up in 5771227.


text:
🛑 ISTAT is down

In 16978f7, ISTAT (https://esploradati.istat.it/SDMXWS/rest/dataflow/all/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ISTAT is back up in cf2268f.


text:
🛑 ESTAT is down

In e02c6e9, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in 6187738 after 704 days, 16 hours, 38 minutes.


text:
🛑 IMF is down

In 4dae58a, IMF (http://dataservices.imf.org/REST/SDMX_XML.svc/Dataflow) was down:

HTTP code: 0
Response time: 0 ms

Resolved: IMF is back up in fe76b51.


text:
🛑 ISTAT is down

In 8aa4be9, ISTAT (https://esploradati.istat.it/SDMXWS/rest/dataflow/all/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ISTAT is back up in 164dd94 after 13 minutes.


text:
🛑 NBB is down

In fbed652, NBB (https://stat.nbb.be/restsdmx/sdmx.ashx/GetDataStructure/ALL) was down:

HTTP code: 429
Response time: 937 ms

Resolved: NBB is back up in a86e7f6 after 4 minutes.


text:
🛑 NBB is down

In a6dca7e, NBB (https://stat.nbb.be/restsdmx/sdmx.ashx/GetDataStructure/ALL) was down:

HTTP code: 429
Response time: 571 ms

Resolved: NBB is back up in 19b22a5 after 17 minutes.


text:
🛑 ESTAT is down

In 609794e, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in a8e2b83 after 5 minutes.


text:
🛑 NBB is down

In b8906b2, NBB (https://stat.nbb.be/restsdmx/sdmx.ashx/GetDataStructure/ALL) was down:

HTTP code: 429
Response time: 791 ms

Resolved: NBB is back up in 9d3edc6 after 4 minutes.


text:
🛑 ESTAT is down

In 96e7251, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in 7447ed8 after 5 minutes.


text:
🛑 NBB is down

In f392943, NBB (https://stat.nbb.be/restsdmx/sdmx.ashx/GetDataStructure/ALL) was down:

HTTP code: 429
Response time: 556 ms

Resolved: NBB is back up in 390bd5b after 1 hour, 10 minutes.


text:
🛑 ESTAT is down

In d1f4b2e, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in b997e39 after 11 minutes.


text:
🛑 NBB is down

In b38a07e, NBB (https://stat.nbb.be/restsdmx/sdmx.ashx/GetDataStructure/ALL) was down:

HTTP code: 429
Response time: 567 ms

Resolved: NBB is back up in 8087358 after 10 minutes.


text:
🛑 ESTAT is down

In 4213d71, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in 2117cf4 after 6 minutes.


text:
🛑 ISTAT is down

In 862bc3a, ISTAT (https://esploradati.istat.it/SDMXWS/rest/dataflow/all/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ISTAT is back up in aa15837 after 4 minutes.


text:
🛑 ISTAT is down

In 50cb944, ISTAT (https://esploradati.istat.it/SDMXWS/rest/dataflow/all/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ISTAT is back up in 13e6419 after 15 minutes.


text:
🛑 ISTAT is down

In 4e8ce07, ISTAT (https://esploradati.istat.it/SDMXWS/rest/dataflow/all/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ISTAT is back up in 13a5690 after 4 minutes.


text:
🛑 ESTAT is down

In 6e1fe80, ESTAT (https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/all/latest) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ESTAT is back up in 20a84e9.


text:
body-prose false positive

https://github.com/nblockchain/geewallet/actions/runs/5796723490/job/15711151832 from https://github.com/nblockchain/geewallet/commit/6b3c64ed493e9481560e96e1858a938aaa1b56e7:
Backend: adjust legacy obj path (#218)

Using the same folder for two projects (e.g.
GWallet.Backend.fsproj and GWallet.Backend-legacy.fsproj) that
use different frameworks (e.g. NetStandard2.0 one and .NET4.x
one), causes problems due to incompatible caches in obj folder,
so by adjusting the cache obj folder for the legacy version we
workaround this problem.

Result:
commitlint/cli@17.6.7
+ npx commitlint --from HEAD~1 --to HEAD --verbose
⧗   input: Backend: adjust legacy obj path (#218)

Using the same folder for two projects (e.g.
GWallet.Backend.fsproj and GWallet.Backend-legacy.fsproj) that
use different frameworks (e.g. NetStandard2.0 one and .NET4.x
one), causes problems due to incompatible caches in obj folder,
so by adjusting the cache obj folder for the legacy version we
workaround this problem.
✖   The body of the commit message (as opposed to the commit message title) is composed of paragraphs. Please begin each paragraph with an uppercase letter and end it with a dot (or other valid character to finish a paragraph).
For reference, these are the guidelines that include our commit message conventions: https://github.com/nblockchain/conventions/blob/master/WorkflowGuidelines.md [body-prose]

It probably isn't related to this issue but the commit message you mentioned should fail because of "body-paragraph-line-min-length" rule.

It probably isn't related to this issue but the commit message you mentioned should fail because of "body-paragraph-line-min-length" rule.

I disagree, and the rule agrees with me. Remember how the rule works: if next word is too long, then it cannot complain because the next word could not be moved to the previous line.

authors: knocte realmarv

repo: nblockchain/conventions


text:
팀 프로젝트 과제 표시

수강 과목 현황 과제 목록에서 팀프로젝트 과제의 남은 기간도 참조하여 표시가 되면 좋겠습니다.

이슈 감사합니다. 팀 프로젝트의 경우 저한테 데이터가 없어서 확인해보기가 어렵네요. #27 이슈처럼 개발에 필요한 정보를 제공해 주실 수 있는 분이 있으면 댓글로 남겨주세요!

이렇게 나옵니다.


text:
Samples stability

I try to check most of my local Haxe changes against the heaps samples but they seem to be inherently broken more often than not. This is the output I'm getting with current Haxe development version:
C:\GitHub\heaps\samples>haxe all.hxml
2d/2d_ogl
C:\GitHub\heaps\h3d/impl/GlDriver.hx:499: lines 499-505 : Type not found : Uint8Array
C:\GitHub\heaps\h3d/Engine.hx:13: lines 13-366 : Defined in this class
C:\GitHub\heaps\h3d/impl/GlDriver.hx:282: characters 16-21 : Unknown identifier : FACES
C:\GitHub\heaps\h3d/impl/GlDriver.hx:295: characters 18-23 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:299: characters 25-30 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:310: characters 21-23 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:314: characters 29-31 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:324: characters 17-24 : Unknown identifier : COMPARE
C:\GitHub\heaps\h3d/impl/GlDriver.hx:256: characters 16-24 : Unknown identifier : TFILTERS
C:\GitHub\heaps\h3d/impl/GlDriver.hx:259: characters 12-17 : Unknown identifier : TWRAP
2d/2d_swf
2d/2d_wgl
basic/basic_ogl
C:\GitHub\heaps\h3d/impl/GlDriver.hx:499: lines 499-505 : Type not found : Uint8Array
basic/basic_swf
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 2-11 : { } should be h3d.impl.Texture
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 2-11 : { } should be flash.display3D.textures.TextureBase
C:\GitHub\heaps\h3d/impl/NullDriver.hx:47: characters 2-11 : { } should be h3d.impl.IndexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:47: characters 2-11 : { } should be flash.display3D.IndexBuffer3D
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be h3d.impl.VertexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be h3d.impl.VertexWrapper
basic/basic_wgl
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 9-11 : Object requires fields: width, t, pixelFmt, internalFmt, height
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 2-11 : { } should be h3d.impl.Texture
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 2-11 : { } should be { width : Int, t : js.html.webgl.Texture, ?rb : Null<js.html.webgl.Renderbuffer>, pixelFmt : Int, internalFmt : Int, height : Int, ?fb : Null<js.html.webgl.Framebuffer> }
C:\GitHub\heaps\h3d/impl/NullDriver.hx:43: characters 2-11 : { } has no field height
C:\GitHub\heaps\h3d/impl/NullDriver.hx:47: characters 2-11 : { } should be h3d.impl.IndexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:47: characters 2-11 : { } should be js.html.webgl.Buffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 9-11 : Object requires fields: stride, b
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be h3d.impl.VertexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be { stride : Int, b : js.html.webgl.Buffer }
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } has no field b
bounds
col
comps
draw
filters/filters_swf
filters/filters_wgl
interact
lights
C:\GitHub\heaps\h3d/impl/GlDriver.hx:499: lines 499-505 : Type not found : Uint8Array
C:\GitHub\heaps\h3d/Engine.hx:13: lines 13-366 : Defined in this class
C:\GitHub\heaps\h3d/impl/GlDriver.hx:282: characters 16-21 : Unknown identifier : FACES
C:\GitHub\heaps\h3d/impl/GlDriver.hx:295: characters 18-23 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:299: characters 25-30 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:310: characters 21-23 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:314: characters 29-31 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:324: characters 17-24 : Unknown identifier : COMPARE
C:\GitHub\heaps\h3d/impl/GlDriver.hx:256: characters 16-24 : Unknown identifier : TFILTERS
C:\GitHub\heaps\h3d/impl/GlDriver.hx:259: characters 12-17 : Unknown identifier : TWRAP
maskcache/mask
network
quat
sao
shadows
C:\GitHub\heaps\h3d/impl/GlDriver.hx:499: lines 499-505 : Type not found : Uint8Array
C:\GitHub\heaps\h3d/Engine.hx:13: lines 13-366 : Defined in this class
C:\GitHub\heaps\h3d/impl/GlDriver.hx:282: characters 16-21 : Unknown identifier : FACES
C:\GitHub\heaps\h3d/impl/GlDriver.hx:295: characters 18-23 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:299: characters 25-30 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:310: characters 21-23 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:314: characters 29-31 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:324: characters 17-24 : Unknown identifier : COMPARE
C:\GitHub\heaps\h3d/impl/GlDriver.hx:256: characters 16-24 : Unknown identifier : TFILTERS
C:\GitHub\heaps\h3d/impl/GlDriver.hx:259: characters 12-17 : Unknown identifier : TWRAP
skin
C:\GitHub\heaps\h3d/impl/GlDriver.hx:499: lines 499-505 : Type not found : Uint8Array
C:\GitHub\heaps\h3d/Engine.hx:13: lines 13-366 : Defined in this class
C:\GitHub\heaps\h3d/impl/GlDriver.hx:282: characters 16-21 : Unknown identifier : FACES
C:\GitHub\heaps\h3d/impl/GlDriver.hx:295: characters 18-23 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:299: characters 25-30 : Unknown identifier : BLEND
C:\GitHub\heaps\h3d/impl/GlDriver.hx:310: characters 21-23 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:314: characters 29-31 : Unknown identifier : OP
C:\GitHub\heaps\h3d/impl/GlDriver.hx:324: characters 17-24 : Unknown identifier : COMPARE
C:\GitHub\heaps\h3d/impl/GlDriver.hx:256: characters 16-24 : Unknown identifier : TFILTERS
C:\GitHub\heaps\h3d/impl/GlDriver.hx:259: characters 12-17 : Unknown identifier : TWRAP
sound
Error: Library stb_ogg_sound is not installed : run 'haxelib install stb_ogg_sound'
spine
C:\GitHub\heaps\hxd/Res.hx:4: characters 2-7 : Warning : Resource directory not found in classpath 'res' (use -D resourcesPath=DIR)
Main.hx:7: characters 14-29 : Class<hxd.Res> has no field Gorilla
Main.hx:9: characters 13-32 : Class<hxd.Res> has no field GorillaAnim
C:\GitHub\heaps\hxd/Res.hx:15: characters 51-95 : Warning : Resource directory not found in classpath 'res' (use -D resourcesPath=DIR)
world
9 ERRORED : [2d/2d_ogl,basic/basic_ogl,basic/basic_swf,basic/basic_wgl,lights,shadows,skin,sound,spine]

It would be appreciated if this could be addressed so we can set up a CI running these samples. That would make it a lot easier to figure out if it's me or you who broke stuff.

I have fixed the UInt8Array thing, it was a regression from lime support. For the sound example you need stb_ogg_sound library.

@andyli: Is it now possible to ping a travis build from another travis build? More concretely, if we set up Travis to compile the heaps samples, could we get that to run on each Haxe commit?

Also I still get this:
basic/basic_ogl
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 9-11 : Object requires fields: width, t, pixelFmt, internalFmt, height
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be h3d.impl.Texture
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } should be { width : Int, t : sdl.Texture, ?rb : Null<sdl.Renderbuffer>, pixelFmt : Int, internalFmt : Int, height : Int, ?fb : Null<sdl.Framebuffer> }
C:\GitHub\heaps\h3d/impl/NullDriver.hx:51: characters 2-11 : { } has no field height
C:\GitHub\heaps\h3d/impl/NullDriver.hx:55: characters 2-11 : { } should be h3d.impl.IndexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:55: characters 2-11 : { } should be sdl.Buffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:59: characters 9-11 : Object requires fields: stride, b
C:\GitHub\heaps\h3d/impl/NullDriver.hx:59: characters 2-11 : { } should be h3d.impl.VertexBuffer
C:\GitHub\heaps\h3d/impl/NullDriver.hx:59: characters 2-11 : { } should be { stride : Int, b : sdl.Buffer }
C:\GitHub\heaps\h3d/impl/NullDriver.hx:59: characters 2-11 : { } has no field b

There is still no build-in way for Travis to do this kind of cascaded builds. I thought about implementing it manually but it could be tricky about branches and build matrix.
You may try the "daily auto rebuild" services listed at https://docs.travis-ci.com/user/apps/#Tools, e.g. "Travis Cron" or "Tron CI".

authors: Simn andyli ncannasse

repo: ncannasse/heaps


text:
stringFromValue function in AudioParameterFloat constructor incompatible with AudioUnit

AudioUnit (and AAX/RTAS maybe?) won't pass in a "maximumStringLength" value when stringFromValue() is called, resulting in the function returning an empty string.
The solution I have used at the moment is to just delete the .substring() call from the return statement, and to not use the maximumStringLength variable at all.

woah thanks good to know. I'll push a fix.

No problem! Love the template!

authors: KevinToodlepoot ncblair


text:
Request: Spearman rank correlation

@BethEbert requested that we add Spearman rank correlation in https://github.com/nci/scores/pull/309
It should be straightforward to create using xr.cov and xr.std

I will work on this one

@lbluett just a heads up that over time scores has refined what we include in docstrings.
Here are some links to some recently written docstrings, which can serve as guides/templates:
KGE: https://scores.readthedocs.io/en/stable/api.html#scores.continuous.kge
Interval Score: https://scores.readthedocs.io/en/stable/api.html#scores.continuous.interval_score
Also, while you can wait until you have finished your work before opening a pull request, it is also completely fine to open a draft pull request part way through and request feedback part way through.

@BethEbert requested that we add Spearman rank correlation in #309
It should be straightforward to create using xr.cov and xr.std

Any objections to implementing this using xr.corr like Pearson's correlation is calculated?

@lbluett just a heads up that over time scores has refined what we include in docstrings.
Here are some links to some recently written docstrings, which can serve as guides/templates:
KGE: https://scores.readthedocs.io/en/stable/api.html#scores.continuous.kge Interval Score: https://scores.readthedocs.io/en/stable/api.html#scores.continuous.interval_score
Also, while you can wait until you have finished your work before opening a pull request, it is also completely fine to open a draft pull request part way through and request feedback part way through.

Thanks Steph, appreciate your guidance. I'll open a draft shortly regarding my question above.

@BethEbert requested that we add Spearman rank correlation in #309
It should be straightforward to create using xr.cov and xr.std

Any objections to implementing this using xr.corr like Pearson's correlation is calculated?

I would presume is should be fine. I'll ask someone who's familiar with that part of the codebase to chime in.
ping @nicholasloveday .

authors: Steph-Chong lbluett nicholasloveday tennlee

repo: nci/scores


text:
Change python file from metadataModel.py to metadata_model.py to matc…

…h file in functions directory.

The python script functions/metadata_model.py was recently renamed to functions/metadataModel.py and somehow this last sync updated the filename, but not how it was referenced in the app. This updates ensures the filenames are consistent across the app.

The deployment workflow failed because it's deploying to the testing instance which uses the develop branch of schematic. Currently that does not support python 3.8. However, the staging instance of DCA uses PyPy schematic which still supports python 3.8

Thanks @afwillia - so if I understand correctly I can merge this now, despite the failed deployment on the branch?

@adamjtaylor correct! Thank you.

Confirming that that has deployed to staging correctly! Thank you @afwillia

authors: adamjtaylor afwillia

repo: ncihtan/HTAN-data-curator


text:
Expire Cache Based on Size

This is a feature request:
Please allow the expiry of cache chunks based on a size threshold rather than age.
Pulled from https://forum.rclone.org/t/expire-cache-based-on-size-instead-of-age/4364

If it can be assumed that the remote is never updated without rclone being aware of it, there’s no reason to expire cached chunks if there’s enough space to keep it. Instead, it would be ideal if the oldest chunks would be cleared out once the cache exceeds a configured size.

Thank you.

Closing issue in favor of https://github.com/ncw/rclone/issues/1830.

repo: ncw/rclone


text:
Windows scheduler fails to sync

What is the problem you are having with rclone?
Starting rclone batch file from Win7 x64 scheduler fails, in the log it says:
2019/07/21 20:23:26 ERROR : Failed to start progress: windows terminal: initialization failed
Then rclone.exe just hangs in idle in the background.
using mode: run whether user logged in or not, Run with highest privs, Hidden
What is your rclone version (output from rclone version)
rclone v1.48.0 32bit
Which OS you are using and how many bits (eg Windows 7, 64 bit)
Win7 x64
Which cloud storage system are you using? (eg Google Drive)
from local HDD to remote FTP
The command you were trying to run (eg rclone copy /tmp remote:tmp)
rclone sync "D:\DRIVE" extFTP:/Volume_1/ --ignore-errors --log-level WARNING --progress --checkers 4  --transfers 4
works perfectly if I start this manually from a batch file
A log from the command with the -vv flag (eg output from rclone -vv copy /tmp remote:tmp)
2019/07/21 20:23:26 ERROR : Failed to start progress: windows terminal: initialization failed
Then rclone.exe just hangs in idle in the background.

I think you'll need to remove --progress as rclone isn't running in a terminal.

works, although it would be nice to have it tolerated

Could be done but there really is no point in using the progress flag when running without a terminal.

authors: buengese mrx23dot ncw


text:
deserialize: prevent unbound allocation

With a crafted input, a malformed data of just four bytes may lead to
allocation of 4 GiB.  This may lead to OOM on constrained environments
(e.g. inside of a container with memory limits set or on 32-bit
machines).
(This once again shows Rust desperately needs full specialisation.  We
may dream of time that it ever comes…)

See also https://github.com/near/nearcore/pull/8562

repo: near/borsh-rs


text:
Added Tabs for  both  near-cli-rs  and  near-cli  commands

As discussed in  https://github.com/near/docs/pull/1476.
Docs are updated with tabs for both near-cli and near-cli-rs commands .
Commands mentioned in https://github.com/near/near-cli-rs/issues/236 are yet to be changed .

You should run and check locally if everything works.
In this case, you need to import the Tabs components or else it won't show up:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

repo: near/docs


text:
Transfer Fungible Tokens - Version 0 - QA tested

This is an experimental usage of the new "todolist > issue" conversion tool.
Will use it when @ihaid completed the test cycle =)

see #1949

LGTM

authors: ihaid stefanopepe

repo: near/near-wallet


text:
New translations and fix

[ ] Add Chinese translations

[ ] Fix language switcher style in Edge

Before:

After:

@picturepan2 is there a reason why we need the extra space between the icon and language string?

@Patrick1904 Fixed. It is aligned to the layout now.

@picturepan2 I noticed this didn't work as intended.


text:
wip: reserve space in vec

DO NOT LAND! This is awful code that is here just to showcase that pursuing this path is worth it. I will submit the appropriate functions to dynasm-rt so that this can become not-too-ugly before we can land it. Basically I’m using lots of unsafe and undefined behavior in order to go around visibility constraints, to force a reserve in a Vec deep down the chain to verify sending these PRs upstream is worth it.
With a reproducer extracted from nearcore-private-1#2:
       | Non-rayon |   Rayon
-------+-----------+-----------
Before |  27.5-28  |  12.5-13
After  |  21.5-22  |  11-11.5

So this gives a ~20-25% win on non-rayon, and ~10-15% on rayon

We can come back to this once https://github.com/CensoredUsername/dynasm-rs/pull/72 lands and is released, unless we want to maintain a fork of dynasm-rs too

Closing in favor of #146

repo: near/wasmer


text:
Resizable side bar

Demo: https://upload.clinicjs.org/public/757868190b709ae78df7ba4f032acb8fc309aa87695f66bf2cfc4b22c0b55608/2379.clinic-bubbleprof.html
This makes the vertical blue line draggable. Not much more to it! The goal is to make the area chart more usable.
The area chart scales with the width of the sidebar, maintaining aspect ratio.
I'm not super happy with this code yet, so I'll keep tweaking a bit. There are some magic numbers in here that seem unnecessary. eg. when dragging, I add +24 to the X coord to account for a margin-left. We also need some visual indicator that the vertical line is draggable, I think. Right now you can only discover it by hovering over it and seeing the cursor change.
Question(s):

After dragging, this calls topMostUI.redrawLayout(), which I took from the window resize event handler. However, it doesn't really seem to do what I expect it would do. It's most clear when first making the sidebar very large, then clicking into a node, then making the sidebar very small. Instead of recalculating the layout, it seems to just make the svg larger and scale everything up. Maybe I'm missing something?
The SideBarDrag element handles the area chart resize. I don't think that's a big problem, but I had to hack around a bit to do it: // FIXME this is probably a private API. Is this alright or should the sidebar be its own HtmlContent subclass so it can handle this internally?
 const callbacksOverTime = sideBar.content.get('area-chart')

as mentioned in that code comment, I don't think I'm supposed to access .content in that way. Nothing else does it. Maybe there's a better way? Or we could have a .getContentById() method that just does the above, but more "formally"?

Can you add a toggle as well? Ideally something visible/hidden?
Also, the following is a bug:

The call stack and sidebar should move together (or maybe just hide "call stack" if we do not have one)
I think we should redraw only once the bar is settled (maybe with a timeout?)

Regarding toggle - I'll add toggle close / open, minimise / maximise buttons in a separate PR building on this one, I want to try some things re design / button placement

The call stack and sidebar should move together (or maybe just hide "call stack" if we do not have one)

I thought that'd make the stack frame overlay unusable when the sidebar is wider, but it's not too bad:

probably can do that. if you make the node link graph any smaller than this though it becomes unusable. Might just prevent dragging any further than this

I think we should redraw only once the bar is settled (maybe with a timeout?)

the node graph is only redrawn once the bar is settled, the sidebar is redrawn all the time though. Initially I had it only redraw everything once the bar is settled but performance seemed good enough to redraw the sidebar all the time (and it's a bit easier). I'll upload a sample that only redraws when dragging stops in a bit so we can compare

Regarding the redraw / debounce question - I've had a look and here's what I recommend:

Debounce the call to redrawLayout similar to onWindowResizeBegin and onWindowResizeEnd (moving and reusing that code if possible to avoid duplication). redrawLayout is potentially expensive on complex views because it involves a lot of recalculations, and the elements respond to it assuming that the layout data has changed, so there might be some unnecessary junking and recreating of elements
Call this.topMostUI.draw() without debouncing - this redraws based on existing data which is enough to get the area chart axis to respace itself nicely etc
I've got some work in progress improving the performance of the area chart code more generally; in particular, there's something I can probably split out into a mini-PR moving createPathsForLayout() out from draw() - when this is done, AreaChart.draw() will be  very fast and fine to run every time

Here's that related PR mentioned above: https://github.com/nearform/node-clinic-bubbleprof/pull/265

that sample I promised: https://upload.clinicjs.org/public/4a407c9df7245a6daf3b055ee575b4bb2f519009ef622f30a6a277e8441722d5/2379.clinic-bubbleprof.html Here it only commits the width changes once, at the end of the drag operation. (few ui bugs because I switched to the constantly updating version at that point)

I don't think that debouncing redrawLayout() here is necessary since it only happens at the end of the drag operation, not while you're still dragging. If you peek through the "redrawing" overlay at high screen brightness you can see the SVG scaling linearly, not adjusting the shape in any way. It's extremely unlikely that it'll be called more than once per second (you'd have to let go and start dragging again very quickly)

Ah right, looking closer it already has the behaviour I was asking for, and the juddering I was seeing in some profiles was because of that issue fixed in the other PR. After merging in master, resizing seems smooth everywhere except the crazy cluster on 1005, which has other reasons for poor performance. Here's a large profile:
https://upload.clinicjs.org/public/d500208f8f5aeed1906c92764f997a363442170414eb36df70a625c8308ea9b9/7078.clinic-bubbleprof.html
One small bug: for some reason if you drag the sidebar far enough that the node link svg would be less than 300px wide, its width stays at 300px (browser default width?) and it overlaps the sidebar, preventing it from being dragged back again:

Setting svg.bubbleprof { min-width: 0; } seems to sort it out.

Ah, that didn't happen in Firefox so I hadn't noticed :sweat_smile: Added the min-width, and also changed the size limits a bit so the graph is at least somewhat usable even at its narrowest size (400px instead of 250px).

Good to hear you by default test in Firefox, I use Chrome by default so we'll catch bugs more quickly :-)
Two bugs unfortunately... (this is testing in Chrome):
1: Often if a sublayout is open and you resize, the loading animation and overlay never disappear. Not sure what might be causing this.

2: If you resize the sidebar, then resize the window down to portrait view, the applied sizes from the resizing break the portrait view.

Two approaches I can see to fixing this last one:
a. detect change from landscape to portrait and reset resize (I don't like this so much, don't want too much JS activity on every window resize and my instinct is that it could be glitchy),
b. CSS-only: set widths of the resized elements with !important in portrait view, therefore overriding the applied styles. This seems like a more robust solution since CSS media queries are what apply the portrait view, and it seems like a reasonable use of !important since we're competing with inline styles not CSS - just add a comment next to the width: X% !important; s so people know it's there for a good reason (not just a lazy CSS priorities hack)

Agreed re: CSS-only solution. I hadn't seen the loading issue post-drag yet, but just reproduced it accidentally, so will be able to check that out!

Fixed the Redrawing problem—instead of applying the 'redraw' class to the topmost UI element, it now applies it to the original UI always. That's because the original UI is the only one that contains the loading indicator, sublayouts don't.
The buggy behaviour was because a leftover from a previous iteration applied the 'redraw' class to the original UI, but the dragstart and dragend handlers applied it to the topmost UI. If the original UI was in focus, that would work, but if a sublayout was in focus the 'redraw' class was never removed from the original UI.

authors: AlanSl goto-bus-stop mcollina

repo: nearform/node-clinic-bubbleprof