Download Redline for Ministry Sign Off

As a ministry coordinator
I want to be able to download the redacted redline in PDF format
so that I can give it (outside the system) to the ministry business area for sign off

Assumptions & Scope
What are the assumptions for this story?
Request must be in the Ministry Sign Off state for the Download button to be active.
Redline will include all redactions.
Ministry coordinator will not have access to the Record Review app; download of the redline will be triggered from the Records log.
IAO analysts can also download the redline records package.
What is IN scope?
Download the redline Records Package
What is NOT in scope?
Saving the redline records package.
Acceptance Criteria
Scenario 1: Active "Download Redline" button

GIVEN a records package is in Ministry Sign Off
AND the analyst has already saved the Redline
WHEN the ministry coordinator is in the Records log
THEN there will be active and blue "Download Redline" button

Scenario 2: Click "Download Redline" button

GIVEN a records package is in Ministry Sign Off
AND the ministry coordinator is on the Records log
WHEN the analyst clicks the active and blue "Download Redline" button
THEN the Redline will download onto the user's desktop in PDF format
AND redactions and annotations will be included on the PDF

Scenario 3: No "Download Redline" button

GIVEN a records package is not in Ministry Sign Off
AND the IAO analyst has not saved the Redline
WHEN the ministry coordinator is on the Records log
THEN there will no "Download Redline" button

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

@m-prodan, @abin-aot, @lmullane
Please review. Comments welcome.
Note, I will write a separate story for saving the redline.

I think we should also have the option as a Ministry user to download a redline per division, as sometimes Ministries will send records package per division, instead of all as one. Having the option at least would be a good idea I think

Good point, @m-prodan.
@JHarrietha-AOT, we need some design reconciliation.
Users will need to be able to export the original records for Harms, including by division, and export the redline, including by divisions. Welcome your design magic here!
As noted in the assumptions, for the two releases of Records Review, ministry coordinators will have no access to the Records Review app.

Hi @JHarrietha-AOT, checking in on this design challenge?

@lmullane Just working on the contents of the export module, I was out sick yesterday so should have this done today. Also things button wording would be "Export Records" Instead of redline. But open to opinions

Thanks, @JHarrietha-AOT
I wonder if we need to differentiate on what each button does. The Export Records button would take the non-redacted records. Feels like we need something different to export a redline?

I will note that Ministries commonly refer to the package for sign-off as the redline, so that would definitely make things more clear - especially if we have a seperate function to export the non-redacted records

@lmullane I'm thinking those options will be in the module. so its one button where a module with appear and they can select (or we create a preset) whether it is redline or not, any specific flags to send records for consult or divisions

@lmullane @m-prodan
Again, took a similar approach as #3231/#3437/#3302. to avoid a series of buttons I have combined into a dropdown so users can download separate versions of the records as need in the process.
Design for #3301 & #3241
In process (if back end is compiling any of the download options)
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/977423262
Active and ready to download: https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/977423264
Download Harms - download in divisional folders with no redline
Download Redline for Sign Off - download in divisional folders with redline boxes and sections
Download Final Package - Final Package for ministry users to be able to access and see final redactions applied

@m-prodan, can we have only redlines broken up by Division instead of offering one redline?

As discussed at standup, the Records log filters are independent of the download. Applying a filter (e.g.by a divisional, error, etc. tag) on the Records Log will have no impact on what is downloaded.

Note from standup - we will likely need to revise/re-refine this ticket, effort will likely increase due to changes in approach (re: client side-stitching). We should put this on our next refinement to discuss any updated requirements/estimates.
cc: @abin-aot @richard-aot

@m-prodan @lmullane  This is the user story connecting 3437 (saving) and 3301 (download). When saving redline for ministry signoff, we will create one merged pdf file for each of the divisions. Then, a backend process will create one zip file for each division, including the merged pdf file and any incompatible files for that division. And send "ready for download" notification. The user story should including above features.

This will need the zipping microservice to be pushed. Work can be done on local

@abin-aot to bring for refinement again with devs to see the impact of zipping.

Note: Add scenarios for when it completes successfully, and if it errors out.
Changes to flags/redactions are already covered in the "save redline" story so can remove those AC

Replaced scenarios 5 and 6 with complete and error scenarios after stitching. Please let me know if this reflects our discussion this morning at standup @divyav-aot

Thanks @m-prodan . You can remove scenario 2(as we won't be having any "in progress" status for download redlines.) and 3 (Scenario 5 covered this)

Bug 1
In the 'Redline for Sign Off' package, Excel files appear to have some conversion/formatting issues.
For example, the Excel file below appears as the following in the Harms package:

In the Redaction App, it looks like the following:

However, in the 'Redline for Sign Off' package, it appears to be cut off:

Bug 2
It appears that the 'Redline for Sign Off' is not organizing the package based on modified date (e.g., like the Harms package).
For example, here are the three files organized based on modified date (oldest to newest):

In the Harms package, this ordering is maintained (first is Scanned Notes.pdf, then TEST Records - CFD - ICM Report - Good.pdf, then Employee Spreadsheet.xlsx:

However, in the 'Redline for Sign Off', files appear to be organized by their upload date (to the Records tab). In the image below, the Employee Spreadsheet.xlsx is showing up first in the package, then TEST Records - CFD - ICM Report - Good.pdf, Scanned Notes.pdf :

In the 'Redline for Sign Off' packages, the packages should continue to be organized based on file modified date (i.e., just like the Harms package)

@richard-aot - can you look into above issues related to redline stitching?

@divyav-aot Sounds good. I'll look into this.

As discussed in the standup, the probability of a request containing only incompatible files is low. If such a case does exist, IAO will handle it manually.
cc. @m-prodan @lmullane @KyEggleston

@KyEggleston the above mentioned bugs are related to Save redlines (pdf stitching). @richard-aot will be working on this once he finishes his current task.

Bug #4461 need to be fixed before going to prod. this issue is happening with specific kind of excel/pdf combination

Error scenarios cant be easily created, that matches the real world situation , but I have updated status on one of the request as below and its displaying as error. Now, there is an idea to change the logic on the display side of the Download Response, Redline and harms to automatically display error icon if there is NO status udpate after a configured amount of time. @abin-aot  to create that task
Private Zenhub Image

EDU-2023-11101457 on TEST-Marshal or https://test-marshal-foirequest.apps.silver.devops.gov.bc.ca/foi/foirequests/683/ministryrequest/683

Closing ticket as per Abin's comments above and at stand up this morning.


MAINT: Add warnings if pivot value is close to tolerance in linprog(method='simplex')

Implementation of the first steps discussed in #9076.
I've implemented the reporting as warnings instead of a status/message, in theory (or depending on how the tolerance / problem is formed) it may still be on the tableau and maintain feasibility. The definition of "close" to tolerance has been set to be within 4 orders of magnitude (rtol of 1e4) this is really a guess. It catches #5400, #7237, #8174 comfortably and could possibly be fine tuned.
I'm not sure if the implementation of my tests are as well structured as they could be. All fail before and pass after the changes but just feel a bit off. #7237 returns the correct solution when using Bland's rule and has been added as a test.

@mdhaber do you think this is ready to be merged? I can then take a look at merging the simplex and IP methods.

Yeah if there was nothing specific you wanted me to double check. You mentioned something felt uneasy.


[CSBindings] Delay inference through OptionalObject if "object" is l-value capable

Re-landing https://github.com/apple/swift/pull/69292 temporarily reverted by https://github.com/apple/swift/pull/70209

Inference cannot be allowed in cases where both sides are type
variables and optional type is l-value capable because it results
in binding "optional" to an optional type and later discovering
a contextual type that is l-value optional i.e. if "optional type"
is resolved by selecting subscript overload.

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test source compatibility


Disable flaky test

Failed on CI twice. Need to investigate why it is flaky.

What's the failure?

SynchronousReadAndWriteTests.ReadAndWriteEchoTwice   #687
Assert.Equal() Failure
Expected: 20000
Actual:   12288
   at Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.SynchronousReadAndWriteTests.<ReadAndWriteEchoTwice>d__5.MoveNext() in C:\BuildAgent\work\33bdfc1cae7b2a38\modules\IISIntegration\test\IISIntegration.FunctionalTests\Inprocess\SynchronousReadAndWriteTests.cs:line 69
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

Seems like the second write is failing for some reason: https://github.com/aspnet/IISIntegration/blob/dev/test/IISTestSite/Startup.cs#L393-L395. We write twice for every read we get, reading a maximum of 4096 bytes per request. As 12288 / 4096 = 3, most likely the first write is succeeding and the second one is failing.
An easy way to test this is to make the buffer size 1.


[Improvement/Doubt] Use of C++ Neural Network Libraries

Taking a look at the code, in particular the DSP library, I see that the execution on C++  of the neural network developed in pythorch (neural-amp-modeler project) is re-implemented here by hand.
Is there a reason why PyTorch C++ API or OpenNN or some similar library is not used?
It's just a doubt. Excellent job anyway.

Good question.
The answer is ultimately because of the convolutions.
For things like an LSTM, one could do it, no problem.
The problem is that:

a ConvNet, to predict a single output, has to look back a long ways.
However, all of the results of the previous convolutions will be the same, so it's wasteful to compute them again and again.

This isn't a problem in traditional ML applications (like the training set up)--one can process large batches of audio all at once, and make use of these "repeated intermediate values within a single forward pass, and the additional overhead due to processing different chunks independently is minimal. But, it's not tenable in real-time audio, where the buffer is ~1% of the receptive field--you'd be "wasting" 99% of the computation if you used a stock convolution op.
The dsp library solves this by caching the previous convolution outputs, given that the next convolution ops are going to be on the immediately-following samples. The result is a critical ~100x speedup that makes this possible.
I'm not aware of e.g. LibTorch having (stateful!) ops that match this need. But if they do, then perhaps it could work.

Thank you very much for satisfying my infinite curiosity. :D
A good and clever optimization.
I guess it will be worth it in the results and the extra effort just for using convnet (I haven't had time to really analyze with my ear the differences between different networks for the same input yet).
On the other hand I suppose that it is possible to make use of GPU acceleration in this implementation.
Are you studying as an option an implementation of the DSP library through CUDA or similar?
I think pytorch uses HW acceleration on Apple M1 (skipping the problem of using covnet).
I don't know if it's worth thinking about the type of hardware of the user profile of this software.

I'm not personally looking into using the GPU for real-time audio.
I've rolled CUDA kernels for non-RT code before and know the challenge...not really something I could probably hope to succeed with, given how little the chunks of time are I can spend focusing on this.


Update README.md

test github contribution

It works!  If you have any other planned changes, please provide them with informative messages and with any applicable changes to the documentation and test suite.


Quarantined tests still failing are removed on next run

Hello
Situation
Consider the following test module:
def test_will_fail():
    assert False

def test_will_succeed():
    assert True

Given the following quarantine.txt file:
test_that.py::test_will_fail
Running the test suite with the following command line
pytest --quarantine quarantine.txt --save-quarantine quarantine.txt
causes the quarantine file to be empty.
Expectation
I would have expected quarantined tests still failing not to be removed from the newly generated quarantine.
Proposal
Do not remove tests already quarantined from the quarantine file if they fail to complete.
If this behavior is to be kept, propose an option for doing so.
Side note
I can propose a PR if you want.
Environment

python: 3.6.8
pytest: 6.0.1
pytest-quarantine: 2.0.0

Thanks for writing up a detailed issue! Also, I'm happy to see that you're using this with pytest 6; I haven't tested that yet. 😉

Running the test suite with the following command line
pytest --quarantine quarantine.txt --save-quarantine quarantine.txt

Can you describe your use case here? In my use thus far, I've used either the --quarantine or --save-quarantine, but not both at the same time. I can imagine the behavior when using both would be tricky to get right, so I'm more tempted to raise an error if they're used together.

It seems it runs fine with putest 6 ;)
I have a long running suite of test (approx. 2h). Using both options at the same time is intended to save time. I cannot afford running this suite twice.

Thanks for describing your situation. Can you share more details about your CI configuration (and/or a link to the repo)? Are you always running your test suite with both options? If so, that was not the intended use (which is not to say we wouldn't support it); the --save-quarantine option is intended to be used occasionally, when there's been a substantial change in the expected failures. If you're not using both options all the time, what determines when you use them?
Also, as an alternative to --save-quarnatine, it's perfectly fine to manually add or remove lines from quarantine.txt.

Ok, I do not get the point regarding your plugin's usage. I now better understand why there are two plugin classes ;)
Unfortunately  I cannot share the repository link as it is hosted on a private instance unreachable from the internet.
To give you additional insights, we have a tests suite containing thousands of tests, all of them taking 2h to run. The integration process involves tens of developers and given the amount of code we have a two step acceptance workflow for incoming development.
When a tests fail, we skip it until a fix is written (usually a 2-3 hours story) in order not to block the CI. Skipping a test is just a nonsense (and is hard to follow), I prefer marking it as being in quarantine so that it does not impact the overall status anymore but kept being run. Meanwhile, It allows me to easily notify the person in charge of the test/development in order to get a fix and appropriately define a workflow for test deprecation. Even more it allows me to get a quality metric regarding the integration.
The idea was to use your plugin to maintain a list of quarantined tests in case of failure in our CI. But given the amount of time for running the test suite, I would appreciate to get a way to use both options at the same time.

Thanks for the details. I'll admit that I still don't quite follow (for example, it seems possible to miss a new failure if it's automatically quarantined). I do think it's worth explicitly defining the behavior of using both options, I'm just not sure what that should be yet. I was hoping to experiment with it, but other things have taken precedence.
So, if you're game to submit a PR, I'm game to review it, with the caveat that there might be unexpected side-effects that prevent supporting your desired behavior.


Bug fix

Fixes Issue

fixed overflow of homepage when there is : less content and no content
made footer go scroll at end if there is more scrollable content
responsiveness : adjusted media queries for footer to make it look good on small screens as well
changed bg-blur of footer so on scrolling it wont show scrolling content going down (In Dark theme )

Closes #255
Screenshots

@rupali-codes

It's still overflowing when there's even less content. could you fix that?

@rupali-codes oh ! On other pages issue was resolved so I missed to check on homepage...my bad. I made the necessary changes and I guess the issue is resolved now.

Updated PR !

thanks for the changes. but still overflowing other components

@rupali-codes any idea why it's happening ???  Because on my system (in chrome and opera) it's working fine
adding pic :

@ujjawaltyagii i'm having in both chrome and brave.

hey @ujjawaltyagii could you please resolve conflicts?

This PR have conflicts that must be resolved :)

@ujjawaltyagii Are you still working on this?

@ujjawaltyagii are you still working on it?

@rupali-codes sorry for being inactive on this PR, actually i was expecting someone to review the responsiveness as earlier things were working fine on my side but there were some issues of overflowing on your side. But as far as I remember this issue has already been resolved in a different PR because I actually reviewed the code of that PR.
So, mind if I close this PR now ? because I don't think we need these changes anymore (correct me if I'm wrong)


Cannot find CCFv3 dataset

Dear Professor,
I want to know where I can find this file when I try this great STitch3D.
#3D coordinates and model are based on CCFv3.
load("spotstable.RData")
load("VOLUMESMALL.RData")
load("VOLUME.RData")
in this part, "Run STitch3D on the adult mouse brain dataset"
Thank you so much!

Hi Cristal,
"spotstable.RData" is a data frame named "spots.table", containing meta information of spots. You can get this data frame by including sources provided by the original publication following this code. Then run spots.table <- add.parent.acronym(load.spots.table()) to get the data frame.
"VOLUMESMALL.RData" and "VOLUME.RData" contain 3D mesh models of mouse brain. You can load them by running the following code:
library(wholebrain)
attach(loadNamespace('wholebrain'), warn.conflicts = FALSE)
which depends on package "wholebrain".

Dear Gefei,
Thanks for your reply! It is really helpful!! However, I still cannot run the sources provided by the original publication following this code, the R studio gives me the error:

Do you know how to deal with this problem? Thanks a lot!


bug-fix: The Footer background is white in a dark theme on the sign-up page

The Footer background is white in a dark theme on the sign-up page. I want to fix this issue. Please assign this issue to me under gssoc21.

@abhijeet007rocks8 please assign me this issue.


chore: upgrade dependencies

ESLint is excluded from major bump since typescript-eslint v8 that supports ESLint v9 is still not released as stable.

Done! BTW, while removing the Node 16 requirement, I also updated CONTRIBUTING.md to state that only maintained Node versions are supported. Therefore it should be confirmed whether that matches what other maintainers are also thinking about.

FYI: VSCode 1.19.1 is required for TypeScript Language Service

@XiNiHa A simple version bump happened and it caused a conflict. Can you resolve this conflict?

@tonyfromundefined Done!


YamlProvider git hash record insertion

A topic @acm1 and I have been discussing is how to validate a certain version of octodns yaml configs has been deployed.  A common pattern is to use git to manage these yaml configs, one thought was to modify the YamlProvider to optionally inject a TXT record containing a git hash when this feature is enabled.  Then the deployment process can monitor this record looking for a specific hash to validate the change has propagated.
In multi-provider configurations based on octodns, the serial number of the zone isn't consistently managed across providers so validating deployment by monitoring incrementing serial numbers will be provider specific and isn't clearly traceable back to a specific yaml configuration version and won't be synchronized across providers.
One additional option I can think of right now:

Only focus on git vs design the feature to use environment variables or a file containing the desired version number to be injected which would allow for different version control systems to be used.

I'm happy to implement this feature but I'm hoping to get some feedback on this idea before I spend time here.

I like the idea and would use it. I'd recommend a separate provider rather adding this on top of YamlProvider. It could just be something like GitShaSource. You could then use it along side YamlProviders like:
...
  myzone.com.:
    sources:
      - GitShaSource
      - YamlProviders
    targets:
...

There's octodns-meta already which is added by the Manager which allows you to test which provider was used when you do split authority. Maybe octodns-sha would make sense here? The name could be an optional parameter to the source so that it could be overriden if someone wanted to do something different.
Another option/route might be to do a VersionSource that instead of being specifically tied to git would allow you to pass an optional command to run (that defaults to something getting the git sha.) This would allow people who use something other than git to do the same or they could just do cat VERSION-INFO or something if they deploy out of an artifact that isn't a git repo.

Only focus on git vs design the feature to use environment variables or a file containing the desired version number to be injected which would allow for different version control systems to be used.

Getting the value from an environmental variable (which I think you might be suggesting here) sounds pretty good too. Tbh that might be the most flexiable option. It could be EnvVarSource then and allow you to specify that env variable to pull the value from and the record name to use. Tbh that sounce the most flexible as it wouldn't be limited to just doing SHA etc.
Happy to take a look at PRs around this and I'd probably use it...

Feature has been implemented and merged, I believe this can be closed


Trying to add form_widget_args to sub document form in mongoengine modelview

I have been trying to add form_widget_args to a field in a mongonengine EmbeddedDocument, using:
form_subdocuments = {
    'author': {
        'form_widget_args': {
            'name': {'disabled': True}
        }
    }
}

but it does not work. Is this not yet supported?
p.s. - For main document fields widget_args work perfectly.
Edit:
Also tried, without any luck:
form_widget_args = {
    'author.name': {'disabled': True}
}

One workaround for this is to add a read-only flag to subdocuments at the database level. To do this, add SQLAlchemy's viewonly=True configuration to the relationship in your model definition.
children = relationship('Category', backref=db.backref('parent', remote_side=[id]), viewonly=True)
See SQLAlchemy Relationship Parameters.

@cybertoast
Can you tell me how to get worked Ckeditor widget for name in EmbeddedDocument
class EmbeddedService(EmbeddedDocument):
name = StringField()
class Service(Document):
...
services = ListField(EmbeddedDocumentField(EmbeddedService))
...

I just did it :D
    form_subdocuments = {         'sections': {             'form_subdocuments' : {                 None : {                     'form_subdocuments': {                         'procedures': {                             'form_subdocuments': {                                 None: {                                 'form_overrides' : dict(desc_ka=CKTextAreaField,desc_en=CKTextAreaField,desc_ru=CKTextAreaField)                                 }                             }                         }                     }                 }             }         }     }

@ufo911 thanks!


fix: allow all layers to be selected with prop

Summary of changes 🔍

If null or undefined is passed to selected layer ids prop all layers will be selected, including default layer. Required fix for the hospital demo.

Testing 🧪

[ Add any special instructions needed to test or view your changes such as environment URLs or other config details. ]

Checklist ✔

[ ] Linked associated issue (if present)
[ ] Added relevant labels
[ ] Requested developer reviews
[ ] Request UI review from design / PM
[ ] Verify all code checks are passing

There is a scenario that doesn't seem to work but used to work on the main branch.

Load up mock data for outdoor tanks
Remove the behaviors from all the layers
Go to the viewer
See that only Default shows up and is dropdown is disabled.
Go back to edit a behavior
Add one to a layer and save
Switch to Viewer, don't see that layer in the dropdown
Switch to builder and back to Viewer, now the layer is auto selected

There is a scenario that doesn't seem to work but used to work on the main branch.

Load up mock data for outdoor tanks
Remove the behaviors from all the layers
Go to the viewer
See that only Default shows up and is dropdown is disabled.
Go back to edit a behavior
Add one to a layer and save
Switch to Viewer, don't see that layer in the dropdown
Switch to builder and back to Viewer, now the layer is auto selected

Fixed this issue. I now check that the prop is not undefined as we only want to set the layers if the prop has been set by the consumer. If its set as null we set all the layers as selected.


Ask an Expert and Leave Feedback not working

I have changed the team ID as directed in step 5 of the deployment guide, but I still get 'Something went wrong. Please try again later.' twice whenever attempting to ask an expert or leave feedback. The bot is otherwise working fine.

This issue was resolved by completing all steps of the installation process. Closing.


Status indicator follow-up

Closes #2430
related: https://github.com/carbon-design-system/carbon-website/issues/2435

[x] palette fix
[x] glyph assets added/removed/adjusted/modified

Please also update the Caution major and Caution minor icons with the new assets:

Should look like this with the stroke (darks need to be changed too because the exclamation mark is smaller):

Please update the Gray status icons with the new assets I sent you over slack too (pending, help and unknown); the gray status value has changed, Mike wanted to go lighter with it. We just need to change them out

Please make the gray value say "Gray 60" (not "gray 30) and make sure that the gray hex is # 6f6f6f

Make gray value on the light tab say "Gray 50" and the hex value say # 8d8d8d (and change the color of the gray to # 8d8d8d — it's a gray 30 right now)

I also sent you new Draft status shapes as we need to update the gray there too, Mike doesn't want to use the $icon-02 token anymore for the status grays, which is why we're updating it.

Can you add this caption under the status shape table like in the spec

Here's the live text:

The Security team has already established a severity/risk scale with associated shapes that is used widely in their products. To avoid disruption and confusion, we’ve incorporated the severity scale here as it exists in their product.

Just reattaching the status assets i added on Slack:
New_status_assets.zip

@jeanservaas I think you might have been looking at an old preview, could you check again and let me know what remains?

@jeanservaas what's the point of the caption? Is it temporary? If this is the color scheme/scale then this is the scale. Not sure why we'd need to add this caveat.

@vpicone I suppose you're right. I was not originally thinking of it as being temporary — it was more about basically having Security's severity scale kind of folded into our status lexicon. It felt weird to give it it's own section, so I was kind of captioning it in that way.
I guess I'm OK with just leaving it out, or calling out that it belongs to security within the table descriptions


Cannot shallowMount my App Component, vm.$refs['VTU_COMPONENT'] is not defined.

Subject of the issue
I think I'm doing something wrong but I cannot see what.
When I try to shallowMount my App component, I get the following error :
TypeError: Cannot set properties of undefined (setting 'hasOwnProperty')
If I've a look into vue-test-utils, I found that this part of code cause the problem:
    var appRef = vm.$refs[MOUNT_COMPONENT_REF];
    // we add `hasOwnProperty` so jest can spy on the proxied vm without throwing
    appRef.hasOwnProperty = function (property) {
        return Reflect.has(appRef, property);
    };
    console.warn = warnSave;
    var wrapper = createVueWrapper(app, appRef, setProps);
    trackInstance(wrapper);
    return wrapper;

Here, vm.$refs['VTU_COMPONENT'] is not defined I cannot figure out why
Steps to reproduce
I've reproduced the case here on CodeSandBox :
https://codesandbox.io/s/prod-glitter-tnoyqt?file=/src/App.spec.js
Expected behaviour
I should be able to shallowMount my App. If this is possible?
What happens instead?
I cannot shallowMount my componenent

fixed if I upgrade from @vue/test-utils 2.0.0-rc.18 to @vue/test-utils 2.0.0-rc.21


database connection issue

Hey, I am unable to connect database properly. Can you provide detailed information on how to connect nodejs and mongodb.
while adding properties I am getting error :
"Error:Http failure response for http://localhost:8000/properties: 0 Unknown Error"
and after this the backend has stopped

after installing the dependencies have you created a ".env" file in the root directory of the "backend-fastify/"?
then add credentials to it?
example:
.env
PORT=8000
LOGGER=true
SALT=12
SECRET_KEY='secret'
DB_CONNECT=mongodb://localhost:27017/rem-db2

after installing the dependencies have you created a ".env" file in the root directory of the "backend-fastify/"?
then add credentials to it?
example: .env
PORT=8000
LOGGER=true
SALT=12
SECRET_KEY='secret'
DB_CONNECT=mongodb://localhost:27017/rem-db2

Yes I have created .env file

Its showing this:

@chiragbiradar  What version of mongodb are you using in you local machine?
can you try this on "index.js" on mongoose.connect update the parameter.
  .connect(process.env.DB_CONNECT, {
    useUnifiedTopology: true,
    useNewUrlParser: true,
    family: 4, <--- add this
  })

  .then(() => {
    ...

you can also try the answers on stackoverflow:
MongooseServerSelectionError: connect ECONNREFUSED ::1:27017

@eevan7a9 I am using version 6.0.2

I added family: 4 but its still not working

Is your mongodb up and running smoothly?
type mongo in terminal
ref
if you want you can try my .env
PORT=8000
LOGGER=true
SALT=12
SECRET_KEY='secret'
DB_CONNECT=mongodb+srv://admin-test:eOfRLjDS6y2BJXqB@rem.1in0012.mongodb.net/?retryWrites=true&w=majority

@chiragbiradar   can you pull the latest changes, I allowed 'uploads/' folder
seems like adding properties is looking for 'uploads/' folder. if it's missing will cause error

@eevan7a9
Yes I pulled the new change Its still not working, its showing

should I change mongodb version?
or I think there is some problem in angular routing. Can you go through it and let me know?

Yes its working now
@eevan7a9
Thank you for helping

@chiragbiradar  No worries, I still don't know why you received those undefined errors.
Nonetheless, it's good to know that it's working.


fix for fetching transaction on loading

fix for fetching transaction on loading

Codecov Report

Merging #72 (fa07067) into develop (8d45e32) will increase coverage by 30.30%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop      #72       +/-   ##
============================================
+ Coverage    48.36%   78.67%   +30.30%
============================================
  Files           99       38       -61
  Lines         3939     1294     -2645
  Branches       762      195      -567
============================================
- Hits          1905     1018      -887
+ Misses        2034      276     -1758

Flag
Coverage Δ

boba-contracts
?

contracts
78.67% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/core-utils/src/optimism/alias.ts

...a/contracts/contracts/standards/L1CustomERC721.sol

...s/boba/contracts/contracts/bridges/L1NFTBridge.sol

...ba/contracts/contracts/DAO/governance/Timelock.sol

packages/core-utils/src/external/geth/index.ts

.../l1-ingestion/handlers/sequencer-batch-appended.ts

...ntracts/contracts/standards/xL2GovernanceERC20.sol

packages/core-utils/src/optimism/index.ts

.../contracts/libraries/Lib_ResolvedDelegateProxy.sol

...boba/contracts/contracts/oracle/FluxAggregator.sol

... and 51 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 8d45e32...fa07067. Read the comment docs.


FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas.

do you have any solution for this?

yes, I pushed this in #98

thank you brother, you have saved my creation life.


Values removed from manifest

I add a bunch of values for the manifest, but gulp-real-favicon seems to remove them. E.g. I added start_url and short_name, but these are not present in the final manifest. Both are mandatory for Chrome manifests: https://developers.google.com/web/fundamentals/app-install-banners/

Sorry... my own fault. The manifest had not been written, and therefore I did not see my changes


Nested page titles create unreadable jump hints

When attempting to use Deep Nav on a page reference with nested pages (such as [[[[Weekly Planning]]/2020W44]] the jump hints overlap and become unreadable.
The hints still work (and are fairly "guessable" since they typically are based on the letters in the word) but if they vary, it is hard to know what the hint is.

Browser: Chrome
OS: macOS 10.15.7
Roam Version: 0.7.4-06236d67
Roam42 Version: Tester's Build

Also for attr, it should be clickable:

Roam42 Issue Log Audit - Is this still an issue?


added path generator, needs to be integrated

@karnthis  @nuggetnchill this is what I was thinking for the path generation technique. Basically just an abstracted function to act as a request reader and path generator. As long as we only need to generate a single string from this.

this look like a great start. we also need access to the database session, but I don't know how I feel about importing bun just for 1 type declaration.

this look like a great start. we also need access to the database session, but I don't know how I feel about importing bun just for 1 type declaration.

You can manipulate the database directly in the temporary function body as seen in the example section. This gives the API the flexibility to be used with any database or data storage structure.

closing, decided offline to use request context instead.


Removed unnecessary explicit requirement specifications for Django.

Removed the requirement for Django altogether as it was an unnecessary restriction. (Especially the fact that it required the newest version.) The code, in its current form, does not directly depend on Django at all. As long as it has the right version of DRF installed, it should work.

Good catch, thanks for making a PR :)


Adding more gradient

Is your feature request related to a problem? Please describe.
Currently we have 4 gradient, maybe adding more choices, 1 or two more.
Check https://hypercolor.dev/
Describe the solution you'd like
Copy name, tailwind classes and CSS native from hypercolor.dev
I don't have any preferences, but  I like the diversion. So please choose the theme that have very different vibes from the existing one.

can you please assign me this @mazipan


TODO List

Some things that need to be done at any possible time:

[ ] A material-design module and/or flavor
[ ] Alternate grid system utilising flexbox or grid (or both as separate replacement modules)
[ ] Flavor pages as style guides
[x] Package for NPM and Bower (if possible)
[ ] Bootstrap flavor and migration guide

Moved needed changes to milestones, issue will close.


No way to run a command with a terminal

Sometimes one may desire to provide a command with a terminal, for example so as to provide a shell to the user, or to have colorized command output.
Apparently this requires jumping through PTY-related hoops which Shelly doesn't do yet.

I don't think Shelly will ever provide this (it will require haskeline and libtinfo-dev). Instead there should be an example of how to easily use it with a terminal and possibly some adapter code for that.

Hmm, System.Cmd.system from "process" [1] provides that, and depends on:
Dependencies: base (>=3 && <5), directory (==1.0.*), filepath (>=1.1 && <1.3), unix
--

https://hackage.haskell.org/package/process-<IP_ADDRESS>/docs/System-Cmd.html

I am very confused now. I thought you meant an interactive terminal.

Greg, System.Cmd.rawSystem "bash" [] does just that -- launches a fully-PTY-ed interactive shell.

Sorry for close/reopen noise, misclicked..

Those and Shelly are using the same underlying machinery to create processes. What are the hoops that you are referring to?

Greg, I can only judge by results, really.
I can suppose that the original stdio streams are connected to a PTY, which is somehow inherited from the parent process.  But by then I would be blabbering, for I have no idea, really.

Greg, the experiment can be simplified, actually -- how does one get to execute "ls --color=auto" through Shelly, so that the colors actually get emitted and interpreted -- that is, seen as colorised output?

closing this in favor of #89

Try out version 1.6.1. Note that you will only get the behavior you want if you use run_.


TODO: investigate

import alt from '@altv/server'

alt.Vehicle.create({
  model: 'sultan',
  pos: new alt.Vector3(0),
  initialMeta: {
    syncedMeta: 1,
  }
})

why it throws "expected Invalid"
Error: Invalid argument type at index 0, expected Invalid but got number

Cannot reproduce with the following code snippet aswell as the snippet provided above using the latest build (dev/0.0.0-dev.50)
import alt from '@altv/server';

const veh = alt.Vehicle.create({
  model: 'sultan',
  pos: new alt.Vector3(0),
  initialData: {
    syncedMeta: 1,
  },
});

alt.log(veh.syncedMeta.a);

@xLuxy i dont really remember but i think it throwed it in my branch, from which i wanted to create PR (initial metadata)
try this:
vehicle.setMultipleSyncedMetaData(1)

Fixed in https://github.com/altmp/altv-js-module-v2/commit/788aba6dc1541438c97a701b7f0b85c66e26cf99 - will e available with next build.


Send e-mail to user doesn't work

Controller : UserController:sendMailAction
Ojs\UserBundle\Entity\User object not found.

related #714


Add freestyle naming scheme to proxy samples

Description
This is a slightly different approach to naming samples that are recorded via the proxy that has been proposed in #571.
Motivation and Context
I think as we add another scheme to naming recorded samples, others will want their favourite naming schemes, too. So in this PR I try to anticipate that by adding a format string that can be used to go really wild on your naming preferences. (The newly added suffix-mode can be expressed through the format string, as well as the older modes prefix and transaction)
The PR #571 has one other feature, that is not implemented in this PR. Namely the addition of setting starting numbers for recorded samples. I think that should be added in another feature/PR. It is of course possible to add it later with this approach, too.
How Has This Been Tested?

Currently it has only been tested via GUI. No tests have been added.
Screenshots (if appropriate):
Types of changes

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.

Thanks for implementing this. I agree it would be better to make the format configurable rather than implementing a couple of hard-coded formats.
I'm not sure MessageFormat is a proper templating framework though: there are no named parameters, so the template string would be awkward and it would be hard to reason about :-/

...

I'm not sure MessageFormat is a proper templating framework though: there are no named parameters, so the template string would be awkward and it would be hard to reason about :-/

Yes, I agree. MessageFormat might be hard to read, but

it is better then my first implementation, which used String#format which sucked even more ;)
it can use formatting options for numbers, which is handy, as it allows something like {1,number,000}
other template languages might look like the JMeter built-in variable replacement syntax or would have to be included (for the former I thought about StringSubstitutor from commons-text)

Do you have a special templating system in mind, that we can/should use?
One idea would be to parse the format string and generate the three placeholders à la #{prefix} #{path} #{count,number,000} -> {0} {1} {2,number,000} via s/#{count\b/{2/, etc.

Despite of my initial comment, I have implemented the counter feature from #571 in this PR. Apart from the documentation (which is still missing), it looks complete now.

Hello @FSchumacher ,
This PR looks good to me.
Thanks
Regards

How can i set the format for numbering in the jmeter.propeties or user.properties ?
I don't see a property to set the format.
numbering.format?=#{counter,number,000} #{path}
Regards

In the string format, you can use #{counter,number,000} directly. So, if you want to use the counter with three digits then a dash, the path and the transaction name in parenthesis, you would write #{counter,number,000} - #{path} (#{name}) in the text field next to the select field Naming scheme where you selected Use format string.
You don't set any property.

How can i set the default format for recording and multi-computers ?
Usually you could set the default value in the jmeter.properties. I don't see this feature.
But I appreciate the new interface with the possibility to choose the numbering format and set the counter value.
Regards.

I have added a JMeter property (proxy.sampler_format in bin/jmeter.properties), that can be used to choose a default value.

I download,the nigthly jmeter (2020-09-01).
When i use the template "Recording", i see the format that i set in the jmeter.properties
proxy.sampler_format=#{counter,number,000} #{path}
but when i don't use a template and add manually a "HTTP(S) Test Script Recorder", i don't see any format from proxy.sampler_format

Regards

Can you try again?


[Feature]: Allow Disabling the Tooltip for a Table Column

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When hovering on a column of the Table widget where the text is longer, it gets displayed in a tooltip. If the text is very long, it covers the whole table, resulting in a bad user experience. Turning on Cell Wrapping is also not an option, as it is not desired to show the whole content in the cell. Therefore, we need to allow users to disable/enable the tooltip as needed.

Front thread
Steps To Reproduce

Add a Table widget to the canvas.
Ensure one of the cells contains a very long text.

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud/Self Hosted
 Front conversations

on the other hand I feel having such huge context on table is not really intuitive.
cc @dilippitchika @keyurparalkar @momcilo-appsmith

Chiming in here as the original user reporting the issue :)
Re the long table field - so the use-case for us was, that this table contains questions and answers, and it is embedded within a list-details view, with the selected row's full data being displayed in text fields beneath the table. The intent of having some of the answer displayed in the table is to get a "preview" of the answer within the table, and also pulls the data to be used in the text field below.
A possible workaround we can try is to send the field twice in the query - as a short and long version, with the long version being a hidden column in the table and only displayed in the details page. But this would be much less convenient than simply having the tooltip disabled :)

@harelguy i don't think this is so complex, here's me showing an example of how this will work and how you can implement it using the new Ask AI feature we have in appsmith - https://www.loom.com/share/7a17ebd655e346409193b0d67e5168c7

also interested in this feature request - the above workaround doesn't work for me since I need users to be able to click on the cell to copy the full contents of the cell

@rubabuddin how about something like this, we use a button to copy the content to clipboard rather than showing it to the user. I have added a small video to explaining the same. LMK what you think
https://github.com/appsmithorg/appsmith/assets/11089579/b129a310-d8a6-4d57-b860-027156b3688d

I have the same requirement. Table cell data is huge so the popup will fill up the whole screen.

I have the same problem. Because the tooltip is so big that it hides the cell, I cannot make the tootltip disappear. If I adjust the cell width to make it larger than the tooltip, it works but still sometimes have to move the mouse around a lot to make the tooltip disappear, resulting in bad user experience.

I am also facing a similar issue with the tooltips. I have a very long text in one of the fields in the table, and the tooltip sometimes gets frozen in the UI even after removing the cursor. It would be great if the team could provide an option to disable or customize the tooltips.

Another user on Discord is facing this issue:
https://discord.com/channels/725602949748752515/1254951249346822186

This actually seems like two different issues. There's the length of the tooltip, and the fact that it's not dismissing. When the tooltip does not dismiss, this forces the user to refresh the whole page. If it would dismiss then the length wouldn't be such an issue.
If we could fix the dismiss behavior that would unblock most users. We should also add a max-length property or just truncate the tooltip automatically, but that's more for looks, and not as much of a blocker as the dismiss behavior.

Hey folks, sharing a possible solution here: truncating the tooltip content when it overflows. A short loom video showcasing this: https://www.loom.com/share/0984f7575c4c4bc5977d91aaf4e2c5d9?sid=91ab643b-7bf6-45a6-b179-b9266d737820
Let me know your thoughts or concerns.


Add code generation for go-data adaptors

Every interface we want to use with go-data's json adaptor needs to be embedded in a struct and have some boilerplate methods.
Some examples are here:
https://github.com/tendermint/go-crypto/blob/develop/pub_key.go#L23-L67
https://github.com/tendermint/go-crypto/blob/develop/priv_key.go#L131-L133
https://github.com/tendermint/go-crypto/blob/develop/priv_key.go#L36-L63
This become boilerplate we generate (and then have to possibly maintain) between all usages of the go-data json marshaling.  It would be nice to be able to auto-generate this.
There is a nice library to enable this kind of template-base codegen.  more docs here

This is working now, as of 17c99de.  At least on my machine.
I need some feedback, and try this out a bit more...

As of 8b47d1a now built everything for go-crypto properly


[Feature Request] translation

Assalmualaykum brother
Please add a feature for who want to tranlate Quran to their languages .
and exporting like Zekr's translations files for globally use .
Thanks

Wa 'Alaykumussalam Wa Rahmatullah.
I am sorry brother. Making a translation of the Quran is a very risky issue, as there are possibilities of facing the wrath of Allah for making wrong translation of the Quran. We should hand it to the people who have much knowledge in Arabic language, Arabic grammar, tafsir , hadis etc. Or, we should follow a well-known book with authentic translation. In both cases, a well formed Text Editor is required.
But my app aims to provide quick access or sharing of the ayahs of Quran, so in this respect, adding an extra text editor for translating verses is really unimportant.


Updating to analytics-swift version 1.6.2 causes build error in LivePlugins "Cannot assign to property: 'loaded' is a get-only property"

Whenever I try to update my analytics-swift library to the latest version 1.6.2:

I get this build error in the LivePlugins class:

I'm running Xcode version 15.4

This should be resolved now per our conversation on another repo.


About page

Because there are way too many people who stumble upon app.meower.org and don't know what it is. I think I did this in a few hours.

Things are subject to change, obviously. I don't have much idea on what else to add to this page (currently there's that part at the top, the 7 council members, a list of GH contributors and a special thanks section with trappist-1e), so I'm also looking for suggestions.

Because there are way too many people who stumble upon app.meower.org and don't know what it is. I think I did this in a few hours.
Things are subject to change, obviously. I don't have much idea on what else to add to this page (currently there's that part at the top, the 7 council members, a list of GH contributors and a special thanks section with trappist-1e), so I'm also looking for suggestions.

Maybe changelog should be integrated into the about page? Just so there's not another profile nav bar item.

Maybe changelog should be integrated into the about page? Just so there's not another profile nav bar item.

I'm fine with that.


[core] do not shutdown executors provided externally

Executors provided through configuration should not be stopped by HeroicCore.
This hopefully fixes the issue that arises here:
https://travis-ci.org/spotify/heroic/builds/166443596#L2305
Note the java.util.concurrent.RejectedExecutionException.
Because we use a shared thread pool for some of the tests here:
https://github.com/spotify/heroic/blob/master/heroic-dist/src/test/java/com/spotify/heroic/AbstractLocalClusterIT.java#L30
This is where it is being provided:
https://github.com/spotify/heroic/blob/master/heroic-dist/src/test/java/com/spotify/heroic/AbstractLocalClusterIT.java#L168
Really hard to know if this works or not since it is timing-related (failsafe plugin runs things in parallel).

Current coverage is 43.05% (diff: 54.54%)

Merging #102 into master will decrease coverage by 0.02%

@@             master       #102   diff @@
==========================================
  Files           596        596
  Lines         15346      15349     +3
  Methods           0          0
  Messages          0          0
  Branches       1578       1580     +2
==========================================
- Hits           6612       6609     -3
- Misses         8277       8281     +4
- Partials        457        459     +2

Powered by Codecov. Last update 240076d...579662b


How to add footer in grid

Hi sir
How to add element footer in grid?

Will fix part fo #472.

Has the possibility for the footer grid been resolved?


calc example doesn't use button widgets

The calc example doesn't use Button or a similar widget that is semantically a button. Instead, it adds a click handler to the label (or actually, the label's container). This is a problem for accessibility, especially when taking keyboard focus into account (see #2095). I know why calc doesn't use the Button widget; Button brings its own styling, which isn't the desired appearance for calc. I suggest adding a widget called something like CustomButton that gives the caller total control over the appearance, as they have now with a clickable label, but implements the correct accessibility and keyboard focus behavior.

The change was made away from Button towards Label in #683, which of course was about increasing stylability. I think moving it back to Button makes a lot of sense but as you suggest that will probably take a little work to make buttons more stylable.


Migrate some integration tests to the unit test source set

Context
Currently, nearly all of our tests are located in the androidTest source set. Therefore, many tests which could be run as unit tests are executed as integration tests, considerably slowing down the builds. Out of the 250+ tests which we currently have, at least 125 could be run as unit tests.
This issue contains a suggestion of some gradual steps to make the migration as smooth as possible. Each step could be performed in a separate PR, to make the migration process smoother.
Migration path

[ ] 1. Rename the unit test main package from ch.epfl.sdp.mobile to ch.epfl.sdp.mobile.test.
[ ] 2. Rename the integration test main package from ch.epfl.sdp.mobile.test to ch.epfl.sdp.mobile.androidTest. This is an important change that might require solving some merge conflicts !
[ ] 3. Add support for a sharedTest source set to Gradle and to CodeClimate.
[ ] 4. Move the fake Auth and the fake Store implementations to the sharedTest folder, and change their current package names to ch.epfl.sdp.mobile.sharedTest.xxx.
[ ] 5. Move all the tests from ch.epfl.sdp.mobile.androidTest.application from the integration tests source set to the unit test source set, in ch.epfl.sdp.mobile.test.application.
[ ] 6. Move some of the remaining state tests to the ch.epfl.sdp.mobile.test.state package in the unit test source set.

The final result will be that we have four source sets :

main, with the app code.
sharedTest, with all its code in the package ch.epfl.sdp.mobile.sharedTest and which contains some code used by both test and androidTest.
test, with all its code in the package ch.epfl.sdp.mobile.test and which contains some unit tests.
androidTest, with all its code in the package ch.epfl.sdp.mobile.androidTest and which contains some integration tests.

Questions & Answers

Why should we use different package names for each source set ?

Android Studio has an issue where, if you have two files in the same package and with the same name in the main and androidTest source sets, it won't compile properly when you run some integration tests. This is the reason for which we currently have the .test package suffix for our integration tests. However, with the introduction of some additional source sets, it makes sense to better distinguish in the package name tests and code which is meant for integration, unit, or both kinds of tests.

As indicated in #257, it won't be possible to use Robolectric right away to migrate the Compose-based androidTest tests into the test source set.


Remove F1, replace animations with GSAP

looks good. wonder if we need https://www.npmjs.com/package/@jam3/gsap-promise instead of gsap? what do people usually use?

All the projects I've worked on used regular gsap but i do see a lot of projects using gsap-promise as well. I don't want to force people to use one of the other, as it really doesn't matter to me, but I do want to have a basic animation between sections setup in the generator. Does gsap-promise still call the onComplete property if passed in? If that's the case, then we might as well use it since tweens can be written either way.

I think the point of using a Promise wrapped library is to avoid callbacks like onComplete and use then, so I guess you can execute the logic there instead of a callback.

Oh good point @njam3, true that I would prefer devs to have both options too.

Hey guys, onComplete won't work with gsap-promise. So to do anything on complete, people need to use then so to be sorta familiar with promises (when they wanna use them they always have to return the promise etc).
Maybe, actually, a good Idea is to keep it more generic and use pure gsap the way you have it.
Easy to swap for a couple of existing components.

Also there are different wersions of gsap promise, the old one when you have to cancel promises for then not to be called and the new one when killing tweens will cancel promises for you. So this may also confuse users.


Added struct Bar with equally named attribute of different type.

Avoiding collisions via prefixed helper types.
Thanks to use of trait Attributes these don't leak into the actual user code.

👍
I'll add a contributors-file later.


CELERY_RESULT_BACKEND in the CeleryTestSuiteRunnerStoringResult

Shouldn't this line https://github.com/celery/django-celery/blob/49e3fbbe9c08159014bb25e827376683af545d8d/djcelery/contrib/test_runner.py#L68 be
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
When using the runner it tries to install sqlalquemy with celery 3.1

+1 -- I'd think that the way to do this would be to get this from the settings.py file. This is a Django-specific library after all, no?

Pull request: https://github.com/celery/django-celery/pull/368

Great!


raw data for figure 7 -- convergence of DG from SAMPL

I have been going through figures again. It would be quite useful to get the data for all of the figures, so that  if in doubt it would be possible to redo some of the plots. I may have had this data already, but can't find it now. Who can help?

Talking about this figure:
free_energy_trajectories.pdf

So, the person who generated this is @andrrizzi IIRC.

I still have figures and code I used to generate this. I'll upload both of them in the paper/figures/fig7 directory in the next few days.

Yes please do! Thank you :)


Rename: Remove whitespace from counter

When renaming multiple files to the same filename, a counter is added.
However, the counter automatically consists of "[whitespace]". Could the whitespace be removed?

Good idea 👍
I just pushed 01c736c which allows to set a custom counter_separator in Move, Copy and Rename actions.

v1.4.1 with this feature is now available on pypi 👍

Thanks a lot! This project has really high potential. Keep it up!

This tool is really excellent and useful, thank you for developing it and for keeping it up. Regarding the counter, is it possible to have counter on all renamed files (not just starting from the second), as to not leave any file without a counter. The counter-less file is placed at the end of the list of files when ordered by name, when it would be desirable that stands at the beginning). I am not sure if this is possible, couldn't find it on the docs. Thanks in advance for any tips.
nameoffile_02.jpg (not nameoffile 2.jpg


Add how to configure the extension in  a vmss

[Enter feedback here]
The instruction on how to add the extension on a VMSS are missed.
Please add them.
Something like:
az vmss extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --enable-auto-upgrade true --settings '{"proxy":{"mode":"application","address":"http://localhost:8080","auth": false}}' --resource-group MY_RESOURCE_GROUP --vmss-name MY_VMSS_NAME

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8201f331-0fa7-a801-9f4d-75d65cd77625
Version Independent ID: 86a66791-11bb-4f20-f77d-42fe58f5dcf4
Content: Manage Azure Monitor Agent - Azure Monitor
Content Source: articles/azure-monitor/agents/azure-monitor-agent-manage.md
Service: azure-monitor
Sub-service: agents
GitHub Login: @bwren
Microsoft Alias: bwren

Assigning to @bwren for visibility, review and document enhancement consideration as appropriate.

#reassign: @guywi-ms

@zioalex Thanks for your feedback! We've create a work item to follow up and address this issue. We intend to update this article shortly with the relevant content. I'm going to go ahead and close this issue now. Thanks again 👍
#please-close


Move writing the SSH key to the end of the dockerfile.

This helps avoid busting the layer cache and keeps kitchen runs a
little faster.

:+1:


Exempt strings from uwuification

Update uwuification to accept a list of strings that will be not be affected by the uwuification process.

close this issue? dont see any strings that should/might be exempted


Add participation commands

Change checklist
Tick the boxes that are relevant to your changes, and delete any items that are not.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that new and existing unit tests pass locally with my changes

Can I do it in another PR ?

Not sure where it best fits, but it might be good to also put https://github.com/iota-community/treasury/blob/main/specifications/hornet-participation-plugin.md somewhere so one can read more about the details of it (maybe add it to the account manager methods in the other PR?)

Will do


SNOW-754078 Add wait time before checking query history

Description
The flakiness we observed is that certain query is missing from information_schema.query_history(), and it can be the any query from the query lists. Eventually if we look at the query_history view, all the queries exists. This makes me feel that query_history() might have a short bit of delay.
This change assumes that snowflake server needs some time to fully process the query history in real time, and add a wait time to give the server the process time
Testing
removed previously flaky test
Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-754078

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
The flakiness we observed is that certain query is missing from information_schema.query_history(), and it can be the any query from the query lists. Eventually if we look at the query_history view, all the queries exists. This makes me feel that query_history() might have a short bit of delay.

This change assumes that snowflake server needs some time to fully process the query history in real time, and add a wait time to give the server the process time

This does not really solve the flakiness unfortunately


refactor: set all args besides "message" as key args for exceptions

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 3 (33.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.912%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tensorbay/client/status.py
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5347

Relevant Lines:
6449

💛  - Coveralls


How to not select any item from the list in master detail on load?

The list (listselector?) will automatically select the first item from the list to load it's details.
I don't want that to happen. How can I prevent this?

Can do this in the Listselector constructor :+1:

Hmm. Whatever I try it keeps calling the get entity method of the first item.
I tried to do it this way in the ListSelector.js constructor:
var oFirstListItem = false;//var oFirstListItem = oList.getItems()[0];

OK That actually works, but seems refreshing the page was not enough.


[Question] What happens in createRouteHandler

https://github.com/happykit/auth-email/blob/9dc57ceb5c194e4965b56fbdffa3981744ed67b8/auth-email/src-app/api/index.ts#L220
i'm trying to understand some parts of your code, but i'm not sure what that auth method does, specially this expression:

handlers[key as keyof typeof handlers]

An explanation of this would be very much appreciated.
~~Also, does nextjs wrap query params into a params object? ~~
I'm trying to implement a simple auth for learning purposes, and in my case i'm using netlify lambdas, and i get the token directly.
Was also curious that your example uses #token= instead of ?token=. But perhaps that should be a separate question.
Thanks again for this library btw.
PS:  Read more about nextjs server side and found those params basically serve as routers.

The createAuthRouteHandler function creates a handler which handles all requests to /api/auth/....
You see this object here, which defines some keys:
https://github.com/happykit/auth-email/blob/9dc57ceb5c194e4965b56fbdffa3981744ed67b8/auth-email/src-app/api/index.ts#L203-L215
The handlers[key as keyof typeof handlers] is typescripts way of accessing handlers[key]. So we answer requests to /api/auth/login with the handler defined in the object above under the login key.

Was also curious that your example uses #token= instead of ?token=. But perhaps that should be a separate question.
Thanks again for this library btw.

This question is likely referring to the OAuth part. An OAuth provider returns the token through the URL when redirecting back to our application. The browser will not send things after the hash to the server, which allows OAuth to keep the token private. This is a very short explanation. Now you'll have a starting point of what to Google for at least :)

Thanks for showing interest, that's really nice to see! This package is very alpha-stage. You might be better off with something like next-auth for now :)


Adding Noam's long-animation-frames snippet

As LoAF isn't available by default and requires turning on Experimental Web Features (or an Origin Trial from Chrome 115) we should probably note this.

Doh! Just saw you added it!
Maybe worth adding a link to the Origin Trial too: https://developer.chrome.com/origintrials/#/view_trial/3935020174414970881

Thanks, I added a notice before the snipper. @tunetheweb Do you know what impact the Origin Trial is going to have? We won't be able to use this unless the origin is part of the trial, that's it?

Yes. Any origin can sign up for a trial (it's free and automatic!) and add a <meta> tag with that origin's unique trial token (or HTTP Header) and that will cause Chrome to automatically enable this feature for all users of the site (or only return these for a proportion of your users if you prefer). Probably less useful for a snippet to be honest, but useful if you want to start logging these in the field and feed them back to analytics.
More info here: https://developer.chrome.com/en/docs/web-platform/origin-trials/

FYI edited my previous comment to explain it better.


Using non-default terminal font prevents embedded playback element resize

Describe the bug
When using an embedded script with a terminal record whose font has been changed to "NerdFont" from the default font, resizing of the element does not work. The screenshot below shows the affected code:

When the font is to "NerdFont", the player variable's value is undefined on line 31, which causes an error when trying to add the resize event listener. When the font is set to default, this works properly, so apparently there is an async process that is has not completed and the player is unset when that code to add the event listener runs.
To Reproduce
Steps to reproduce the behavior:

Add a script tag like the following to a page:

<script type="text/javascript" src="https://asciinema.org/a/{id}.js" id="asciicast-{id}" async></script>

When viewing a terminal recording that is using the default font, it should load properly and resize the playback element.
Change the recording to use "Nerd Font".
The playback element will not resize.

Expected behavior
The selection of a different font shouldn't prevent resizing the element from working.
Versions:

OS: n/a
asciinema cli: n/a

Additional context
n/a

I believe this has been fixed via https://github.com/asciinema/asciinema-server/commit/db468494f67214628085e9783806c611c830fead
Please let me know if you still observe the bug.


How can I integrate Cabot with Sensu

Hello, does Cabot has a Sensu http://sensuapp.org/ integration service the way PagerDuty has http://www.pagerduty.com/docs/guides/sensu-integration-guide/
Does has Cabot the same o,tegration feature in one single click integration with third party services???

@bonniejools do you want to answer this?

@topstarnetwork
The short answer is 'no', the long answer is 'not yet'
We are currently in the process of implementing a plugin architecture which will allow cabot to support any kind of service. Once that happens, we will be able to support sensu however that will probably not be for a month or so.
Jonny

Could you please update me as soon as your plugin architecture is ready?
Regards, Heather

@bonniejools I am interested in this now also. Is the plugin API ready? I am thinking of firing events to sensu through the TCP port, it is trivial to do...

I wrote my own plugin for this, but am still in the testing phase.
It is also very Graphite-centric.
https://github.com/Lavaburn/cabot-alert-sensu


Handle double-faced cards

Double-faced card names are returned via auto-complete (front and back faces are separated by double-slashes), but are not handled properly to display in the gallery. Scryfall returns double-faced cards with a specific property, this needs to be handled.
Considerations:

Need to figure out how the Cockatrice custom folder accepts front and back faces, if at all.
Need a mechanism to display the back face of cards in the gallery. Maybe a checkbox for "Show back faces" that toggles front and back faces.

Completed. Leaving the in-program display of back faces to a future feature, if requested.


No option to locally cache s3/gcs bundles using --storage-dir

--storage-dir will only be used to upload if a bundle was locally built. Likewise, if --require-download is used, --storage-dir is only considered for fetching, not for local caching.

I think this works now. Need to add a test.


[release/v2.4] Vendor rke

Issue: https://github.com/rancher/rancher/issues/31222

We'd need a backport issue for this, right @kinarashah ?

We have one, I linked the wrong one. Thanks for pointing it out @cbron

We still vendor in release/v2.4 right?

We do, just updated with vendor


How to add / remove fragment from adapter ?

Example sets fragment in adapter and adds same fragment as given count. This is not the best approach for stepper view. I tried to use list and return each fragment but it is also not possible since default Fragment does not implement Stepper interface.

Hi @beraybentesen,
Could you reference the example you mentioned and provide more details?
I don't understand the issue you're having TBH.

Hi @beraybentesen,
Could you provide more details, please?


Add build failure message

build script shown 'Successfully build' message when it actually failed.

Ideally, you should also do set -e at the beginning of the build script to make it fail on error. See #2356.


unknown field "secretRef" in io.k8s.api.core.v1.EnvVar

$ helm upgrade --install -f values.yaml ocis ./ocis
Release "ocis" does not exist. Installing it now.
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: [ValidationError(Deployment.spec.template.spec.containers[0].env[8]): unknown field "secretRef" in io.k8s.api.core.v1.EnvVar, ValidationError(Deployment.spec.template.spec.containers[0].env[9]): unknown field "secretRef" in io.k8s.api.core.v1.EnvVar]

Sounds like some keys are missing in the yaml template?

@srgvg could you please try the current master? Should be fixed now


add copyWith method to models

Hy
I encounter this redundant code in various places of my application
final e = someMonthlyExpense;

 Expenses(
      id: e.amount == amount ? e.id : 0,
      amount: e.amount/30,
      period: e.period,
      reason: e.reason,
      startDate: e.startDate,y
      endDate: e.endDate,
      createdAt: e.createdAt,
    );

here in the above example i am grouping expenses to their lower expense period. its like if i have 1500$ house rent expense and if i have to cover that in a month how much should i earn daily and its obviously 50$ and the same for yearly expense. and the new value is treated as daily expense and the only difference is the amount. it would be great if we can do this instead;
final e = someMonthlyExpense;

final dailyExpense = e.copyWith(amount: e.amount/30);
// this ^ is better and concise code than this
/**
 Expenses(
      id: e.amount == amount ? e.id : 0,
      amount: e.amount/30,
      period: e.period,
      reason: e.reason,
      startDate: e.startDate,y
      endDate: e.endDate,
      createdAt: e.createdAt,
    );
*/

i tried
Expenses.fromJson({...e.toJson(), "amount": e.amount! * difference});

it doesn't work because the toJson method changes the createdAt to String then when i use the fromJson method is complains type 'String' is not a subtype of type 'DateTime?'. the DateTime Field in the models should parse a String and DateTime types
NB. i added the copyWith method to the models but it resets everytime i change the schema.prisma and generate a client

I'll take some time to look at it. In fact, another problem has arisen. FromJson does not handle time strings correctly.

another problem has arisen. FromJson does not handle time strings correctly.

Yeah, i encountered that many time i added an extra step to parse string to dates and assigning it to the model in my apps before mentioning it here.

another problem has arisen. FromJson does not handle time strings correctly.

Yeah, i encountered that many time i added an extra step to parse string to dates and assigning it to the model in my apps before mentioning it here.


Update media-services-portal-manage-streaming-endpoints.md

Spelling correction

@afnw35342 : Thanks for your contribution! The author, @Juliako, has been notified to review your proposed change.

#sign-off


Is it possible define foreign key constraints in tables between databases ?

i have two databases defined in one app, one is legacy from an old app.
i don't like to copy the tables from the legacy database to the application database (only last resort), it's posible that schema_plus support this foreign key ?

Yes, you should be able to specify, e.g.:
t.integer :thing_id, :foreign_key => { references: "other_database.things" }

I don't know if Postgres supports this, but I suspect it does not.  I know MSSQL does not.  The problem is that each database is an independently restorable entity.  What happens when you restore one database back to a version that predates the other?  Suddenly the foreign key relationship may be inconsistent.
In general, when faced with this situation I have followed the advice in http://stackoverflow.com/a/4452586/1795300 - I keep a table in the foreign key databases that contains only the primary keys of the table in the primary key database, and then use triggers in the primary key database to maintain the table in the foreign key database.  You have to be careful with restores, though.


Colab doesn't seem to work

I setup an environment in colab by pip install plotly_express and that seems to have worked but both line and line_3d report errors
px.line(demo_df,
            x='left_dir_x',
            y='left_dir_y',
           animation_frame='index')

I get the error
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/IPython/core/formatters.py in __call__(self, obj)
    913             method = get_real_method(obj, self.print_method)
    914             if method is not None:
--> 915                 method()
    916                 return True
    917

/usr/local/lib/python3.6/dist-packages/plotly_express/_core.py in _ipython_display_(self)
     36             init_notebook_mode()
     37             ExpressFigure.offline_initialized = True
---> 38         iplot(self, show_link=False, auto_play=False)
     39
     40

TypeError: iplot() got an unexpected keyword argument 'auto_play'

line_3d reports ValueError: Invalid property specified for object of type plotly.graph_objs.Scatter3d: 'hovertemplate'

Upgrading to plotly 3.7.1 seems to fix the issue (version used in binder)
https://github.com/plotly/plotly_express/blob/master/requirements.txt#L2


[FEATURE REQUEST] yank a particular version of a cookbook

It looks like there is an undocumented feature of stove which is to remove a cookbook from the supermarket.  However unbeknownst to me, it appears to completely remove the cookbook.  It would be a nice feature to be able to just remove a particular version of a cookbook in case it was improperly published.

Use https://docs.chef.io/knife_cookbook_site.html#unshare
The reason it's undocumented is so that you don't use it and if you do use it then you should read the code. Yanking an entire cookbook or even has version has potentially serious ramifications for anyone downstream so it's s generally discouraged thing to do anyway.

@cheeseplus should it just be pulled out then?

It's probably something we should remove


feat: Add IP Adapter to InvokeAI (Node & Linear)

What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[x] Yes
[ ] No, because:

Have you updated all relevant documentation?

[ ] Yes
[ ] No

Description (edit by @blessedcoolant , @RyanJDick )
This PR adds support for IP-Adapters (a technique for image-based prompts) in Invoke AI. Currently only available in the Node UI.
IP-Adapter Paper: IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models
IP-Adapter reference code: https://github.com/tencent-ailab/IP-Adapter
On order to test, install the following models via the InvokeAI UI:
Image Encoders:
InvokeAI/ip_adapter_sd_image_encoder
InvokeAI/ip_adapter_sdxl_image_encoder
IP-Adapters:
InvokeAI/ip_adapter_sd15
InvokeAI/ip_adapter_plus_sd15
InvokeAI/ip_adapter_plus_face_sd15
InvokeAI/ip_adapter_sdxl
Old instructions (for reference only):

In order to test, you need to download and place the following models in your InvokeAI models directory.

SD 1.5 - https://huggingface.co/h94/IP-Adapter/tree/main/models --> Download the models and the image_encoder folder to models/core/ip_adapters/sd-1
SDXL - https://huggingface.co/h94/IP-Adapter/tree/main/sdxl_models -Download the models and the image_encoder folder to models/core/ip_adapaters/sdxl

This is only temporary. This needs to be handled differently. I outlined them here. https://github.com/invoke-ai/InvokeAI/pull/4429#issuecomment-1705776570

Examples using this PR
Image variations, no text prompt
Leftmost image in each row is original image used for input to IP-Adapter. The other rows are example outputs with different seeds, other parameters identical.

Related Tickets & Documents

Related Issue #
Closes #

QA Instructions, Screenshots, Recordings

Added/updated tests?

[ ] Yes
[ ] No : please replace this line with details on why tests
have not been included

[optional] Are there any post deployment tasks we need to perform?

Synced this PR up with main and a made a couple of changes.

Added version data for the new nodes.
I updated the model paths to be models/core/ip_adapters/sd-1 for SD1 adapter and models/core/ip_adapters/sdxl for the SDXL version. The downloaded bin and image_encoder files need to go within these folders for the time being.

However, these are control models. So what we need to do is ...

Keep the image_encoder models as core more models and put then under misc because they can also be used as clip vision models <---- The installer should handle these.
Retrieve the actual control_net models from the controlnet folder .. so a user can put other related adapters if they want to.

I think this is ready for another round of testing/review. See the PR description for updated instructions on how to install the IP-Adapter models.
Here is a list of known issues / future work. I want to call them out, but don't think any are blockers for merging this.
Known Issues

IP-Adapters are not compatible with prompts containing .swap() (aka cross-attention control) - both features override the UNet's attention blocks. The current behaviour is to silently skip the IP-Adapter if both features are enabled.
Users must manually install both the IP-Adapter model and the corresponding CLIP Vision model. DenoiseLatents will fail if the expected CLIP Vision model is not installed.

Future Work

We are not using the PyTorch 2.0 attention processors. These would likely be faster and more memory efficient. This is left for future work.
The option to install IP-Adapter models has not been integrated into the installation CLI yet.
We have defined our own custom model structure. Some effort will be needed to support future IP-Adapters.
We currently load the CLIP Vision model into memory at the same time as the UNet model and IP-Adapter weights. With some more refactoring, this could be done sequentially to reduce peak memory utilization.
IP-Adapter models and CLIP Vision models are not yet included in the Model Manager model list UI.
We load the IP-Adapter's image_encoder.txt file from disk on every pass. This should really be stored in the model config for fast access, but there is some messiness with how the model configs are handled that makes this difficult. I'm hopeful that this will be easier to add after the planned MM refactor.
We don't currently support running multiple IP-Adapter models or using multiple image prompts at the same time. There is no particular blocker to doing this, but it is non-trivial so is left to a future PR.
Add it to the Linear UI.
@GreggHelt2 Is planning to add start/end steps and a weight schedule as parameters to the IP-Adapter. @GreggHelt2 , it's up to you if you want to include that in this PR or add it in a follow-up.

@blessedcoolant - Merged in your UI update, but we'll need a bugfix committed to this PR before it goes in. Using IP adapter from linear gives error
"...InvokeAI\invokeai\app\invocations\ip_adapter.py", line 69, in invoke
os.path.join(context.services.configuration.get_config().models_path, ip_adapter_info["path"])
TypeError: 'NoneType' object is not subscriptable
[2023-09-16 11:05:01,748]::[InvokeAI]::ERROR --> Error while invoking:
'NoneType' object is not subscriptable"

@RyanJDick - Something in the IP Adapter node is not configured/typed correctly. Unable to use the IP Adapter field in the editor without turning validation off.
cc: @psychedelicious, in case you have any insight

Getting a "not a valid model" on previously loaded LoRAs after pulling this PR.
IP Adapter then worked with a different/new LoRA i downloaded and added - Not entirely clear whether this is related to some model mgmt change that was made, but would be nice to see if someone else experiences the same.

Bug: Able to use SDXL IP Adapter model on 1.5 model selections (i.e., IP adapter model not compatibility checked)

Gave this some testing today and functionality wise, didn't notice anything that hasn't been already called out! Can't wait for this to be out in users' hands
A couple points of  UI feedback:

Once multiple adapters are supported, we should probably mirror the ControlNet enabling/disabling
Image is only able to be added when the adapter is active - I think we would want a user to be able to add an image regardless of active status
The image preview is rather large and makes the LinearUI longer than needed, especially with multiple enabled

Bug: Able to use SDXL IP Adapter model on 1.5 model selections (i.e., IP adapter model not compatibility checked/reset if a 1.5 model is picked)

This has been fixed in 382e213.
New behaviour: If we switch to an incompatible sub-model, we disable IP-Adapter and clear all IP-Adapter settings. (Intended to replicate the ControlNet clearing behaviour.)

Getting a "not a valid model" on previously loaded LoRAs after pulling this PR.
IP Adapter then worked with a different/new LoRA i downloaded and added - Not entirely clear whether this is related to some model mgmt change that was made, but would be nice to see if someone else experiences the same.

I tried to reproduce this with https://models.invoke.ai/Vhey/action-sdxl (the model that @hipsterusername initially saw this with).
I did discover the following issue, which is also present main: https://github.com/invoke-ai/InvokeAI/issues/4580
I was not able to reproduce the "not a valid model" error. The Vhey/action-sdxl was successfully auto-imported, and could be used alongside IP-Adapter.
I'd still like to hear if anyone else is seeing this error. @hipsterusername, let me know if you think it's worth pairing up to try to figure out why this is happening on your setup.

This is close to being ready to merge. @lstein , @StAlKeR7779 I'd love to get your eyes on this review, if you have time.

@GreggHelt2 I switched to using torch 2.0 attention in b05b8ef. It is much more memory-efficient. I know you had experienced issues with this in your initial implementation. Can you confirm that it's working now on your machine?

@GreggHelt2 I switched to using torch 2.0 attention in b05b8ef. It is much more memory-efficient. I know you had experienced issues with this in your initial implementation. Can you confirm that it's working now on your machine?

Testing after latest changes. Everything is working, I agree looks good to merge!

@GreggHelt2 did you mean to close?

@GreggHelt2 did you mean to close?

No, sorry I hit the wrong button. You beat me to it before I could re-open :)

Linking some relevant Discord discussions for visibility:

General PR discussion: https://discord.com/channels/1020123559063990373/1149513722688180304/1153691334197129227
Summary of AttnProcessor discussion: https://discord.com/channels/1020123559063990373/1149513722688180304/1153704670259318794


Incompatible provider version: darwin_amd64

Running terraform init I receive the following error on macOS:
Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Finding devoteamgcloud/looker versions matching "0.2.10"...
- Finding hashicorp/google versions matching "4.65.2"...
- Installing hashicorp/google v4.65.2...
- Installed hashicorp/google v4.65.2 (signed by HashiCorp)
╷
│ Error: Incompatible provider version
│
│ Provider registry.terraform.io/devoteamgcloud/looker v0.2.10 does not have
│ a package available for your current platform, darwin_amd64.
│
│ Provider releases are separate from Terraform CLI releases, so not all
│ providers are available for all platforms. Other versions of this provider
│ may have different platforms supported.
╵

ERRO[0004] Terraform invocation failed in /path/to/project
ERRO[0004] 1 error occurred:
	* exit status 1

Can darwin_amd64 and darwin_arm64 versions also be published?

Hi @Yanson,
We just released v0.2.11 that supports your platform. 👌🏻
Hope it helps !
Nabil Lahssini

Thank you. I was able to init successfully with v0.2.11.


Don't echo env vars

We print the environment key values from the pipeline.yml to the build log. Should we do this always? Should we do it when debug: true is enabled (as it's done when it prints the args)

I think the echo is just something left around from testing, and we can safely remove it. It's printed later when the full command is output.
I don't think this whole thing is a problem security-wise though. If someone sets debug: true, and uploads their pipeline.yml with an secret env interpolated into the yml, it'll be in the build output. But that's not a good thing anyone should be doing anyhow.

Thanks @sj26 & @lox!


When multiple processes write to an event/metric file, that file can become corrupted easily

We have seen this when scoping applications like apt, that create multiple child processes. The events.json, metrics.json files can become mangled.
In a container:
apt update
scope run -- apt install -y python3 nginx firefox
scope events -a

There are are a number of possible approaches here:

Do nothing.  Suggest that using the cli to write to files is not ideal because of the issue described here, and that the workaround is to use tcp or unix destinations instead.
Switch the CLI to configure scoped processes to sent their data to the cli over tcp or unix transports.
Then the cli can write received data to a file in a way that prevents corruption.
Use SCOPE_PID to configured the library to write to files with pid-specific names.  The cli would need to be improved to look for an arbitrary number of files with this approach.


Need to align the behavior when Navigation app started with Bluetooth transport

Bug Report
Need to align the behavior when Navigation app started with Bluetooth transport
Reproduction Steps

Prerequisite: SDL Core is lower than 5.0 (i.e. 4.5 or lower). Bluetooth connection is established.
Without connecting with USB, start Navigation app, whose MultiplexTransportConfig has requiresHighBandwidth = true.

Expected Behavior
Even though the app has requiresHighBandwidth flag set, the connection with SDLCore should work and RegisterAppInterface should work with Bluetooth transport.
Observed Behavior
When starting protocol session, SDL Proxy refuses the connection, and eventually proxy is closed.
OS & Version Information

Android Version: Android 7.0
SDL Android Version: commit 13e04232 from release/4.7.0-rc1 branch
Testing Against: running with SDLCore 4.5, generic HMI.

Test Case, Sample Code, and / or Example App
I thought this behavior would be OK when running with older SDLCore that does not support secondary transport. However when I looked into how iOS SDL Proxy works, it works in the following way.
a) Suppose iAP is connected with Bluetooth. When proxy gets started on Navigation app, it works normally; i.e. RegisterAppInterface works on iAP (BT).
b) When the app gets HMI_FULL state, the app checks to see hmiCapability, which is returned in OnRegisterAppInterfaceResponse, and if videoStreaming is false, the app won't start video streaming; instead, it shows "Please connect USB cable" message on HU (e.g. by using non-Media template).
c) When USB is connected, iOS proxy automatically restarts with refreshed EA session (USB), and then  performs RegisterAppInterface. The hmiCapability now returns videoStreaming = true, then the app starts video streaming when it gets HMI_FULL status.
I think we should do the same thing on Android, so that the UX would be aligned with iOS. If running with SDLCore 5.0, RegisterAppInterface works with BT already, so this should be OK.
In order to do this, all I needed to do in SDL Proxy is just commenting out some lines in SdlProtocol.java, something like:
                    if (requiresHighBandwidth
                            && TransportType.BLUETOOTH.equals(transportRecord.getType())) {
                        //transport can't support high bandwidth, but we allow apps to register with BT
                        //onTransportNotAccepted(transportRecord.getType() + " can't support high bandwidth requirement, and secondary transport not supported in this protocol version: " + version);
                        //return;
                    }

In addition to changing the proxy, we probably should update a guideline for developer.

I disagree with this implementation. It should be up to the developer if they wish to connect while over bluetooth or not, hence the requiresHighBandwidth flag. If they set that to false, then they have the opportunity to display any information they want while connected to bluetooth. When USB is connected they will be informed and be able to make a choice. They proposed fix will not result in the behavior desired as the proxy is much more complicated when connected to the router service for the USB transport. Also simply commenting out lines is not a correct way to change behavior.
We should not decide an app's user experience for them. I believe iOS should also have an issue raised as it is possible that a core implementation does not support video streaming while the USB cord is plugged in and therefore the message of "Please connect USB cable" does not make sense.

This would require a major reworking of how the proxy is managed and therefore require an evolution proposal. At this point there is no way it can be included in this next release (4.7) which will mean it will also become a breaking change as it will alter what the developer can expect from how the library handles the said situation.
A developer can use the flags and and the MultiplexConfigTransport.TransportListener to find out when USB becomes available if they wish to stay connected while bluetooth is enabled.
The only reason iOS stays connected is because there is no way to tell the difference between a bluetooth or USB EASession on the app's side.


stack traces should go somewhere

set up optional reporting of version and line number to help find / prioritize bugs.

We could look at something like sentry for this. There are pretty obvious privacy implications, so it should be opt-in.


Support veterinarians who handle horses

From Paulo:

As a product owner,
I want horse type entries when the pet clinic database is initially populated,
so that I can demo the feature to veterinarians who take care of horses.

Acceptance criteria:

One can have horse as pet
The test data contains new pet names for horses

/paulo - can you check now?

/tina - done.


Optional JSON Object to pass to tonic-chart component

Added optional object to be passed to 'src' attribute of tonic-chart component, thus not relying on a static JSON file.

:tada:

sick!
On Wed, Nov 21, 2018 at 4:51 PM paolo f<EMAIL_ADDRESS>wrote:

🎉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hxoht/components/pull/6#issuecomment-440870676, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAC8avto_DvXM_yZxhA5RGGsrYMcl18qks5uxfUkgaJpZM4YueRq
.


Issue 503 alllow invisible developers

Admins can view invisible developer profiles #503

[x]  Allow admins to view invisible developer profiles

Pull request checklist

[x] My code contains tests covering the code I modified
[x] I linted and tested the project with bin/check
[x] I added significant changes and product updates to the changelog

Looking good! I think there's an #admin? method in ApplicationPolicy that we could use instead. Can you check and make that change? Then we are good to merge!

Looking good! I think there's an #admin? method in ApplicationPolicy that we could use instead. Can you check and make that change? Then we are good to merge!

@joemasilotti Added changes. Please review

Perfect. Thanks for the contribution!