Feature Req: Possibility to define bridges and other virt. ifaces and attach these to LAGs, ...

Issue type
[x] Feature request
[ ] Bug report
[ ] Documentation
Hi,
I like to submit the following feature request:

more specific virtual interfaces types aka 'Form Factor' for bridges, vlan other than the provided 'other'-type
the possibility to attach these to a parent interface. Right now it is possible only to attach to 'Parent LAG'
to connect LAGs to each other for documentation / visualization

Perhaps a picture says more ...

Kind regards,
Henrik

From the contributing guide:

Good feature requests are very narrowly defined. Be sure to thoroughly describe the functionality and data model(s) being proposed. The more effort you put into writing a feature request, the better its chance is of being implemented. Overly broad feature requests will be closed.

Please modify your issue to address only one specific feature request.


Write tests for CLI

After we regoganized our CLI in https://github.com/ioki-mobility/go-outline/pull/50, we are now able to write test for the "actions".
We should do it 😁

Currently I was in the mood to write (unit) tests for the cli.
Basically copying the stuff @rsjethani did here.
However, I also thought about creating an integration test for the cli.
Being said, an test (basically just an GitHub action? 🤔 ) that executes the cli:

Create a collection
Update the name of the collection
Create a document inside that collection
Update the document inside that collection
Delete the collection

What do you think about this @rsjethani ? 🤔
Does this make sense?
And further:
Should we add this additionally to the unit tests or exclusivly? Or shouldn't we write integration tests at all?
Let me know what you think 👍


[$500] Web - The 'green line and new text' doesn't appear when you click mark unread for the last completed task text

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any chat > Assign Task
Complete the task by clicking the box
Reopen the task by clicking the box
Repeat step 3 and 4 and complete the task
Hover over on each completed and reopened task text's and try to mark unread

Expected Result:
The green line should appear for the last completed task text
Actual Result:
The green line doesn't appear for the last completed task text
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/79bfef17-1ddd-49cc-babc-37423f40f92d
https://github.com/Expensify/App/assets/93399543/056a68a9-0589-461b-a84c-c57d1f5e6cec
Expensify/Expensify Issue URL:
Issue reported by: @@Yokabdk
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695215232530069
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0137062903059fb1b7
Upwork Job ID:<PHONE_NUMBER>586768384
Last Price Increase: 2023-09-22

Proposal
Please re-state the problem that we are trying to solve in this issue.
The 'green line and new text' doesn't appear when you click mark unread for the last completed task text
What is the root cause of that problem?
The context menu loses references to the correct report actions due to originalReportID:
https://github.com/Expensify/App/blob/4ea4a55ad2c9ecdb66d45cc1872612ea22e4605f/src/pages/home/report/ContextMenu/BaseReportActionContextMenu.js#L174-L177
With the originalReportID,  report actions other than CREATED and ADDCOMMENT are not included.
What changes do you think we should make in order to solve the problem?
Change originalReportID to reportID so that it includes the complete report actions:
 reportActions: {
            key: ({reportID}) => `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`,
            canEvict: false,
 },

What alternative solutions did you explore? (Optional)
N/A

Proposal
Please re-state the problem that we are trying to solve in this issue.
The "green line and new text" doesn't appear in correct position when you click "Mark as unread" for completed/reopened task texts. It only appears over the last task action text.
What is the root cause of that problem?

Every task action message contains data of child report, which is the report of current task.
https://github.com/Expensify/App/blob/d61f55ac16b797f831e4cb1b9669ba326ac7b8f9/src/libs/ReportUtils.js#L690-L692
So every task action message is recognized as first chat message by isThreadFirstChat function.
https://github.com/Expensify/App/blob/d61f55ac16b797f831e4cb1b9669ba326ac7b8f9/src/libs/ReportUtils.js#L3439-L3441
If it's first chat message, getOriginalReportID function returns ID of parent report to get correct action data.
But for this issue, it's not working correctly.
Because we can get data of task action messages from task report, not parent report.
What changes do you think we should make in order to solve the problem?
To fix this issue in FE without affecting other parts, I think we need to fix getOriginalReportID function.
We need to add below code so we can get correct report ID.
if (ReportActionsUtils.isTaskAction(reportAction)) {
    return reportID;
}

What alternative solutions did you explore? (Optional)
N/A

Was out of the office but I'm back now. Triaging this and will update.

I'm not able to recreate the behavior in the OP comment video.

Mac/OS Chrome
staging.new.expensify.com
Marking unread puts the greenline on the last message.
https://github.com/Expensify/App/assets/10925636/2911d974-b6d5-44f2-8fc5-a17da8013cf9

@@Yokabdk @kbecciv - Are you still able to recreate this? It looks correct to me in my testing.

Tried again and it's working as expected. No updates from the reporter or QA so I'm closing for now and we can reopen if we need to.


Duplicated records in Hive query

Hi Dmitry,
I try your build with cassandra 1.2.3/hive 0.9.0, I have a issue that I always get the duplicated records in Hive.
Cassandra column family:
CREATE COLUMN FAMILY users
WITH comparator = UTF8Type
AND key_validation_class=UTF8Type
AND column_metadata = [
{column_name: full_name, validation_class: UTF8Type} {column_name: email, validation_class: UTF8Type} {column_name: state, validation_class: UTF8Type} {column_name: gender, validation_class: UTF8Type} {column_name: birth_year, validation_class: LongType}
];
Hive Table:
CREATE EXTERNAL TABLE IF NOT EXISTS
users (key string, full_name string)
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
WITH SERDEPROPERTIES ("cassandra.columns.mapping" = ":key,users:full_name" , "cassandra.cf.name" = "users")
TBLPROPERTIES ("cassandra.ks.name" = "ks33");
Hive Query:
select * from users;
always return duplicated rows (one row appears twice)
select count(1) from users;
return 2 but exactly I only insert one row.
Do you have any idea why this happen?

Closed. Fixed upstream.


Update README.md

Add Crisp BigQuery under new Cloud Data Warehousing heading.

Merged, thank you @winwiz1 !


🚀 Feature Request: c3 should list  framework versions in the menu

Describe the solution
Currently we list only names, but it's unclear to users what they'll get:

Could we please add a major version number after each item in the menu?

Duplicate of #3908

After looking into this and brainstorming ways of supporting it, I don’t think we can support this at the moment. There’s a number of issues that make this challenging to tackle.
The biggest problem is that we version framework scaffolding tools (like create-react-app), not the frameworks themselves.
In many cases, these tools don’t even version the frameworks. Here’s a few examples of package.json files where a framework version is nowhere to be found:

solid
next
remix

Furthermore, most frameworks don’t have a coordinated matching version with their scaffolding tools. For example, the latest version of create-svelte as of this writing is 5.1.1, where the latest version of svelte is 4.2.2.
Most of these tools actually pull from template repos to copy their initial files. These templates will have a package.json that actually pins the version of the framework.
Because of these factors, it’s quite difficult to determine the mapping between the version of frameworks and their scaffolding tools.
We considered inspecting the artifacts of our e2e runs on dependabot PRs, inspecting the resultant package.json for the version and committing it along with the version bump. Even this won’t quite give us a correct result however, since the framework version isn’t really deterministic for multiple runs of the same scaffolding tool. This is because many of them allow you to select or specify a template, which may have different framework version. Not only that, but these templates are often pulled directly from github as raw files, not installed as a dependency via npm, meaning they aren’t actually versioned by the scaffolding tools and can change at any time.
Without a viable strategy to handle this, it seems as if it’s better to not tell users a version than to tell them a version that’s possibly incorrect.


Make sure RRArbiter's lastGrant has an initial value

The round robin arbiter uses a register to determine which of its inputs gets priority. It's set based on which one was last accepted. The initial value does not really matter, but we shouldn't rely on random initialization to set it in simulation, since that could be turned off.

Since the initial value doesn't matter, why spend the hardware to reset it?

It's in the standard library and FIRRTL gives the option to not initialize the register value. If you used that option in simulation, there would be an X and the arbiter wouldn't function correctly. Maybe then the solution is to simply disallow turning off randomization in simulation.

That will be a problem with any register that is not reset; this is just a band-aid (and one that adds HW cost).
If you turn off randomization in FIRRTL, you need to tell your simulator not to X-initialize.

We do also have a problem with the arbiter selector not being initialized. Although, you provided an insight why it is intentionally not initialized, it clearly can break some downstream simulation flows when you cannot tell simulator to not X-initialize. We also would like to have a reproducible behavior in simulation. So for those, who may need it, can we have a parameter to the arbiter to initialize it?

@aayupov The problem here is that lots of designs in Chisel, including other utilities in the standard library, deliberately do not initialize registers whose initial values don't actually matter.  It's inconsistent to add a flag to fix this for only one module.  (Another example is the Queue datapath, where correct designs can fall victim to X-pessimism.  However, few people would be willing to pay for the entire Queue datapath to be reset, just to please their simulation environments.)
Perhaps this should be treated as a backend issue, rather than as a Chisel issue.  It might make sense to have an optional Firrtl pass to reset all flops.

Maybe, make it possible to set the initial value of lastGrant in RRArbiter, and then set it to 0 in PTW?

Should we re-consider this PR to avoid X propogation issues? I think the lastGrant here is one of the most popular X-prop sources in Chisel designs that are used across a wide range of projects. It does not take much to initialize this register, given that it's not wide registers in the datapath.
Previously the PLRU state in rocket-chip is not initialized as well and brings X-prop issues. However, by the end of 2020, they have added reset values to the registers. So do these arbiters.

Should we re-consider this PR to avoid X propogation issues? I think the lastGrant here is one of the most popular X-prop sources in Chisel designs that are used across a wide range of projects. It does not take much to initialize this register, given that it's not wide registers in the datapath.

The main problem is that not initializing lastGrant is a special case of a valid Chisel or Verilog design pattern. We can patch it for lastGrant, but it doesn't fix the underlying problem of what to do about Verilog X-pessimism (other than clearly indicating that randomization or VCS xprop may be required and that the user needs to understand how to setup their simulation environment to avoid x-pessimism).
That said, Chisel likely needs better APIs for describing intentionally uninitialized registers and intentional, legal reads of these registers. Compilers can then provide better static or dynamic warnings/errors when bad things happen or add assertions to dynamically catch issues. Some type of uninitialzed sanitizer, relying on instrumentation, could also be built.

Perhaps this should be treated as a backend issue, rather than as a Chisel issue. It might make sense to have an optional Firrtl pass to reset all flops.

This is actually doable today if a user is willing to switch to the MLIR-based FIRRTL Compiler. That supports a documented, but not publicized FullAsyncResetAnnotation. This can be used to indicate that a specific port is an async reset and to use it as the async reset for all registers under that point in the hierarchy. (This annotation may change in the future! I anticipate some variant of this API always existing, though.)
E.g.:
circuit Foo:
  module Foo:
    input clock: Clock
    input reset: AsyncReset
    input d: UInt<1>
    output q: UInt<1>

    reg r: UInt<1>, clock
    r <= d
    q <= r

[
 {
   "class":"sifive.enterprise.firrtl.FullAsyncResetAnnotation",
   "target":"~Foo|Foo>reset"
  }
]

Becomes:
module Foo(
  input  clock,
         reset,
         d,
  output q);

  reg r;
  always @(posedge clock or posedge reset) begin
    if (reset)
      r <= 1'h0;
    else
      r <= d;
  assign q = r;
endmodule

That said, Chisel likely needs better APIs for describing intentionally uninitialized registers and intentional, legal reads of these registers.

I agree. Uninitialized registers is a fundamental issue of simulators and we have to come up with some intelligent methods to address this issue. If Chisel allows the users to specify registers that are intentionally left uninitialized, it would be much better. For example, if the user can annotate some registers and let the Chisel compiler to generate a list, which would be further used for deposit/force in the Verilog simulator, the issue may be solved.
Why we really want this: Verilog is the signoff language for hardware at least in 2022. Now Chisel generates a macro that initializes all registers, from which the designer cannot even tell how many registers are left uninitialized and whether they really affects the functionality. Chisel do need to provide an elegant way for the users to know whether the uninitialized registers would cause errors. This is the current workflow from us: mark all registers to be uninitialized and find all the registers causing x-prop. Then we have to manually create a deposit/force file that cannot be generated with the default open-source transforms. Or we have to initialize these registers in Chisel.
I agree that some registers can be intentially left uninitialized and this is a real hardware design requirement. I think the main issue is that the users must know the range of registers that are intentially left uninitialized and do not affect functionality. Chisel should not make decisions for the users to randomly initialize all registers. However, since Chisel currently don't have the transforms/annotations to allow the users to specify the list of uninitialized registers, should we provide a temporary workaround to resolve the X issues?
That is, in 2022, to please the verilog simulators and the signoff workflows, Chisel users must address the X issues. Since we don't have these intelligent methods now, should we provide low but effective patches to temporarily fix this issue?
Though we now want these stupid patches to initialize the registers, we will transfer to CIRCT in the visible feature and would like to create useful transforms to address the issues we met when using Chisel, as we have did with the scala compiler. These two workarounds are not mutually exclusive.

Can we just make this library component take an argument if it wants to be initialized like this? And extend the arbiter
test that it works with both forms?

That said, Chisel likely needs better APIs for describing intentionally uninitialized registers and intentional, legal reads of these registers.

Doesn't Reg(...) already declare an  intentionally uninitialized register? I generally use RegInit(...) unless I am pretty sure that the initial value does not matter. Is this maybe a problem with how these two functions are named? I would be curious if there are any actual bugs with register initialization in the Chisel library that people found. Most PRs and issues seem to be about false positives.

It is not bug but causes x-propagation in VCS and other simulators with X states. Since this arbiter usually lies in the control path, instead of the data path, this uninitialized register always causes the system to abort due to lots of X in the circuit.

It is not bug but causes x-propagation in VCS and other simulators with X states. Since this arbiter usually lies in the control path, instead of the data path, this uninitialized register always causes the system to abort due to lots of X in the circuit.

Yes, I understand. Have you considered writing a firrtl pass that allows you to add reset values to registers after the Chisel is elaborated? You could use an aspect to select which registers you want to target.

Doesn't Reg(...) already declare an intentionally uninitialized register?

Sorry, unclear by me. I'm worried about separation of an intentional read of an uninitialized register vs. an incorrect (unintentional) read of an uninitialized register.
E.g., separation of reads of lastGrant vs reads of a program counter.

I am having the same issue here with Icarus backend.
I understand that on real hardware this is not an issue, but it wold be much easier to debug if there is a default value IMO.
if someone really doesn't want the extra overhead, can there be an argument to explicitly not initialize the register? Make the default initialized and a option to make it undefined for advanced usage.

I am having the same issue here with Icarus backend.

Is this with chiseltest? We really need to enable randomization by default.

Is this with chiseltest?
Yes, it is.
I was using Icarus because the results are closer to Vivado's behavior simulation.


Unsupported lookup 'in' for FSMField or join on the field not permitted.

Given status is an FSMField, querying this: status__in': ['planned', 'confirmed'], raises, Unsupported lookup 'in' for FSMField or join on the field not permitted.
WHY? Any workaround?

We'd need some more example to see what you are seeing.  I've tried where the state field is a FSMField():
>> pp = MyObject.objects.filter(state__in=['Waiting', 'Completed'])
>> pp
<QuerySet [... results ...]>

Are you potentially using the FSMKeyField? That is a FK lookup so your filter would be a bit different:
https://github.com/viewflow/django-fsm#foreign-key-constraints-support
Using the example code from the link above, you have to filter into the FK relation:
posts = BlogPost.object.filter(state__label__in=['_NEW_', '_PUBLISHED_'])

Hope this helps.


Fix Multiple Java source file compilation

This will fix javac compilation issue #112 when multiple java files are present in the src

I signed it!


Add code formatting

ChatGPT formats code examples in its answer with MD markup. e.g. `inline command` and ```rust rust multiline code ``` and so on.
Telegram also capable to mark some parts of a message as a code, without sytax highlighting though.
Anyway even this realisation would be useful, as tg allows to copy such code alike message parts with one click.
Here's the message from the bot. All std::thread and rust code block could be formatted in telegram as well.
In Rust, multithreading can be implemented using the `std::thread` module. Here's a simple example:

```rust
use std::thread;

fn main() {
    let handle = thread::spawn(|| {
        // thread code goes here
        println!("Hello from thread!");
    });

    // wait for thread to finish
    handle.join().unwrap();

    println!("Main thread exiting.");
}
```

In this example, we create a new thread using `thread::spawn()`. The argument to `thread::spawn()` is a closure containing the code that will run in the new thread. In this case, we just print a message to the console.

After the thread is created, we use the `join()` method on the `handle` object to wait for the thread to finish. This ensures that the main thread doesn't exit before the new thread has finished running.

It's important to note that Rust threads are not meant to be used for parallelism by default. Rust's ownership and borrowing system make it difficult to safely share data between threads. Instead, Rust encourages the use of message-passing concurrency using channels.

UPD with example.

Code formatting is available in Code Assistant mode https://github.com/karfly/chatgpt_telegram_bot/blob/main/config/chat_modes.yml#L16

My bad, thanks!


Add badges to README

I think, we can use badges from https://shields.io/.

repo name needs to be updated for badges to display properly (-> unpywall). Some are only configured for the master branch.

@bganglia can you get the travis badge up and running?

@bganglia ok I updated the build badge, but I noticed a delay loading badges from shields.io

@naustica Sorry about the delay. Did you want me to do something about the travis badge? I have not tried setting up badges yet.
Also, I am fine with renaming the repo

@bganglia I would rename the repo when we have our first release. The travis badge should now be properly integrated (is pointing to master).
Also, I think that the delayed loading of the badges is only a temporary problem.


Object reference not set to an instance of an object.

Think there may be a bug accessing public WASB.
You have to use the storage key to access the public container by creating and passing in a credential object.
CREATE MASTER KEY;

CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential WITH IDENTITY = 'user', SECRET = '<storage account key>';

-- Pass CREDENTIAL object even if container is public
CREATE EXTERNAL DATA SOURCE publicds WITH (TYPE=hadoop<EMAIL_ADDRESS>CREDENTIAL=AzureStorageCredential);

create external table t1_ext
(id int)
WITH
(LOCATION='/bands.dat', DATA_SOURCE = publicds, FILE_FORMAT = pipe_delimited_text);
Note:
With the public datasources, you can use AZcopy to copy the data to your own private one.

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

ID: 06a4bd53-5cdc-3bae-2864-92adc4f2125b
Version Independent ID: 9631c7ff-6384-318e-105e-f6a6bbbb7f33
Content: Load Contoso Retail data to Azure SQL Data Warehouse
Content Source: articles/sql-data-warehouse/sql-data-warehouse-load-from-azure-blob-storage-with-polybase.md
Service: sql-data-warehouse
GitHub Login: @Ckarst
Microsoft Alias: cakarst

@wwoomobile Thank you very much for the detailed feedback. There is another tutorial that is experiencing the same issue:

I am having the same issue with this and the other New York cab data that I believe your referencing.

yes, this would be true for all public datasources, including the NYC data set.
Copy the data to your own blob using azcopy

When I tried to load data following this instruction,
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/load-data-from-azure-blob-storage-using-polybase
When creating the table from external sources, it errors out as below,
Msg 110813, Level 16, State 1, Line 89
Object reference not set to an instance of an object.
---Scrtips---
CREATE EXTERNAL TABLE [ext].[Date]
(
[DateID] int NOT NULL,
[Date] datetime NULL,
[DateBKey] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DaySuffix] varchar(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfWeek] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfWeekInMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfWeekInYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfQuarter] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DayOfYear] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[WeekOfMonth] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[WeekOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[WeekOfYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Month] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MonthName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MonthOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Quarter] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[QuarterName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Year] char(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[YearName] char(7) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MonthYear] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MMYYYY] char(6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[FirstDayOfMonth] date NULL,
[LastDayOfMonth] date NULL,
[FirstDayOfQuarter] date NULL,
[LastDayOfQuarter] date NULL,
[FirstDayOfYear] date NULL,
[LastDayOfYear] date NULL,
[IsHolidayUSA] bit NULL,
[IsWeekday] bit NULL,
[HolidayUSA] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
)
WITH
(
LOCATION = 'Date',
DATA_SOURCE = NYTPublic,
FILE_FORMAT = uncompressedcsv,
REJECT_TYPE = value,
REJECT_VALUE = 0
);

When I tried to load data following this instruction,
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/load-data-from-azure-blob-storage-using-polybase
When creating the table from external sources, it errors out as below,
Msg 110813, Level 16, State 1, Line 89 Object reference not set to an instance of an object.
---Scrtips--- CREATE EXTERNAL TABLE [ext].[Date] ( [DateID] int NOT NULL, [Date] datetime NULL, [DateBKey] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DaySuffix] varchar(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfWeek] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfWeekInMonth] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfWeekInYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfQuarter] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [DayOfYear] varchar(3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [WeekOfMonth] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [WeekOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [WeekOfYear] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Month] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [MonthName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [MonthOfQuarter] varchar(2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Quarter] char(1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [QuarterName] varchar(9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Year] char(4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [YearName] char(7) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [MonthYear] char(10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [MMYYYY] char(6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [FirstDayOfMonth] date NULL, [LastDayOfMonth] date NULL, [FirstDayOfQuarter] date NULL, [LastDayOfQuarter] date NULL, [FirstDayOfYear] date NULL, [LastDayOfYear] date NULL, [IsHolidayUSA] bit NULL, [IsWeekday] bit NULL, [HolidayUSA] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) WITH ( LOCATION = 'Date', DATA_SOURCE = NYTPublic, FILE_FORMAT = uncompressedcsv, REJECT_TYPE = value, REJECT_VALUE = 0 );

Please see the message above, there may be an issue with the public link. Best is to create your blob storage with an access key. Use azCopy to copy the files from the public to your private and use the snippet to point to your private blob store.

@derekdai1978 Per the suggestion by @wwoomobile:

Please see the message above, there may be an issue with the public link. Best is to create your blob storage with an access key. Use azCopy to copy the files from the public to your private and use the snippet to point to your private blob store.

Hello both,
The source location is
CREATE EXTERNAL DATA SOURCE NYTPublic
WITH
(
TYPE = Hadoop,
LOCATION =<EMAIL_ADDRESS>);
could you let me know how I can copy this type of storage ("wasbs://") to my own? I understand AZCOPY but not sure how I can convert the "wasbs://" to a "http://" source endpoint that azcopy support.

to report back.
1, Tried dozens of time sin AZ copy windows utility, didn't work
2, switched to Azure Portal Bash, it worked as below,
azcopy --source https://nytaxiblob.blob.core.windows.net/2013 --destination https://dwhstorage.blob.core.windows.net/hadoopfile --dest-key "myKeyHere" --recursive
......
Finished: 426 file(s), 8.681 GB; Average Speed:19.65 MB/s.
Finished 427 of total 427 file(s).
Total files transferred: 427
Transfer successfully: 427
Transfer skipped: 0
Transfer failed: 0
Elapsed time: 00.00:07:32

Glad you got it working.
If you need, here is the syntax I used for Azcopy
azcopy /Source:https://nytaxiblob.blob.core.windows.net/2013 /Dest:https://wwcontosoretail.blob.core.windows.net/taxi /Destkey:mykey /S
Finished 427 of total 427 file(s).
[2018/11/20 11:58:52] Transfer summary:
Total files transferred: 427
Transfer successfully:   427
Transfer skipped:        0
Transfer failed:         0
Elapsed time:            00.00:04:54
You would need to change the /Dest and the Destkey of course.

@wwoomobile We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Add char limit for tags

resolves #201
Added a character limit of 70 on tags

Codecov Report

Merging #230 (d81bc44) into master (7e5408a) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #230      +/-   ##
============================================
+ Coverage     67.02%   67.05%   +0.02%
- Complexity      688      689       +1
============================================
  Files           122      122
  Lines          2311     2313       +2
  Branches        280      281       +1
============================================
+ Hits           1549     1551       +2
  Misses          636      636
  Partials        126      126

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/tag/Tag.java
80.00% <ø> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
80.19% <100.00%> (+0.40%)
:arrow_up:

...in/java/seedu/address/model/order/DateChecker.java
75.00% <0.00%> (ø)

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 7e5408a...d81bc44. Read the comment docs.


Issue when compiling OpenFAST with VS Code 2022 and IFX Fortran Compiler

Dear all,
I am trying to compile OpenFAST following the documentation provided here: https://openfast.readthedocs.io/en/dev/source/install/install_vs_windows.html. I am using VSCode Community 2022 and the IFX Intel Fortran Compiler (as IFORT as recently be deprecated). However I always facing the same error that I don't manage to solve alone (x64\Release\simclist.obj: not a COFF object, bitcode, archive, import library or resource file
FASTlib : error PRJ0019: A tool returned an error code). I attached below the entire build output.
Do you have any insights on how I can solve this?
Thanks for you help.
Error_compiling_OpenFAST.txt

The dev branch of OpenFAST 3.5.4

I was able to reproduce the issue on my Windows system, though I'm not sure what's causing it. As a temporary workaround, I was able to get the system to build by opening vs-build/MAPlib/MAP_dll.sln and building that solution first, then building FAST from FAST.sln. Please give this a try and see if it works while we try to come up with a better solution.

@ajmlu, could you try compiling again with the latest dev branch?

Thanks a lot for your help!
@andrew-platt I just tried to compile again from the latest dev branch and I still get the same error (
Error_compiling_OpenFAST.txt)... Could that be due to an other thing than using IFX?
@deslaughter Thanks for this workaround! Where can I find this file vs-build/MAPlib/MAP_dll.sln? I could not find it anywhere on the Github repository.
Thanks again for your time and support!

@ajmlu I apologize, the MAP_dll.sln that I had was left over from a previous version of OpenFAST. However, I was able to build the full solution with the latest changes to the dev branch. Please try removing the build directory and cleaning the solution before rebuilding. Sometimes Visual Studio will try to reuse files that it thinks haven't changed so it's best to start clean when troubleshooting these issues.


Verify if message was sent

Hello I was wondering if there is a way to check if a message was delivered correctly, I tried to send a message and disconnect from the internet to see if it would give an error, but it continued like normal and put it in the log, even though the message was not delivered.

@sodes-proxy it checks internet before sending message, so probably we can make a thread to check internet connection during the sending process

Hey @sodes-proxy, thanks for the suggestion. We can surely fix this as mentioned by @Naman23-coder. Will be updated in the next version.


Changes after signup procedure review

[ ] Add the content provided in #353, #354, #355, #356
[x] Implement the comments in the tickets mentioned above

Blocked until the content is provided.


Add English Accents Map

Otherwise LGTM.
Oh, by the way: type attribute for <script> equals text/javascript by default, so you don’t need to include it, ever.

Thanks for reviewing. Indentation is fixed now.

LGTM. Merging and closing.


Link to operation mapping

Link stands for a relationship from one resource to the other, not an action between them, for example, from a book store resource to a book collection resource. With the relationship, the client actually can do more than one operations, i.e., get books (GET), add a book (POST), etc. Thus, link to operation is not one-one mapping, but one-to-many mapping.
In OAI's Link Object, I see operationRef or operationId is a singular attribute. This seems like not fully comply with the link relation's original intention.

@gentlewind Yes, a link represents a relationship between two resources.  However, it is important not to interpret the term "relationship" too strictly.  RFC 5988 provides a lot of flexibility in its definition.

Link relation types can also be used to indicate that the target
resource has particular attributes, or exhibits particular
behaviours; for example, a "service" link implies that the identified
resource is part of a defined protocol (in this case, a service
description).  https://tools.ietf.org/html/rfc5988#section-4

You are also correct that link relation types should ideally be usable in more than one context.  However, there is a distinction between link and link relation type  (aka the rel).  A link that is defined in an OpenAPI definition is more like a link instance.  I have theorized that the key used to identify the link in the operation definition could be a link relation type.  However, it may be better if we actually add a 'rel' property to the link.
Link definitions can be placed within the components section and referenced in different operations.  This would allow you to effectively define the behaviour of a link relation type and then create link instances in multiple operations.
Would this address your concerns?

@darrelmiller , thanks for your answering. It's nice to define links independently and late bound to operations as link instances. The other use case that shall get benefits from this is, in a resource response, there could be multiple links with the same rel name. Some popular media types support this scenario. For instance, in HAL (hypertext application language), a link object's key is the rel, and its value could either be a link object or an array of link objects. We would love to see this flexibility in OAI.

Thanks for raising this @gentlewind. I am using HAL and I am not currently able to easily express the scenario where the "rel" refers to an array of link objects. OAS3 is a big improvement over OAS2, but there are still some gaps and I believe this might be one of them.

Having a rel property would allow you to have multiple links with the same link relation type, but a different name.
I have so many thoughts about this and not nearly enough time to write them all down.  JSON HAL allows multiple links with the same name, but provides no way to identify them  The original XML version of HAL did, because I asked Mike Kelly to add a name attribute to link so that you could differentiate them.
But if you do that, you risk introducing out of band coupling between a client and those link names.  Formats like JSON Home from Mark Nottingham don't allow multiple links with the same rel value in a resource.  I believe part of the reasoning being, how does a client differentiate between them.  If you really want to have multiple, then point to a resource that is specifically a collection of those things.
I do think it is definitely worth having a thorough conversation about the value of adding a rel property.

Good to know. At anywhere, the rel name is the primary key to identify a link type. Which other link attributes can be used as the secondary key is up to the media type. JSON Home is a specific media type to describe API home, and I am not surprised it does not allow repeated links;-)
In general, I agree a collection would be primary design principle if there many objects with the same link type. However, it's still useful to have links with the same rel name in some real world cases, when the count is small, typically 2 ~ 5.

JSON Hyper-Schema allows multiple links with the same rel (it may be one of the few that does, apparently?)  Our assumption is that, in terms of rel driving the semantics of the link, if you have multiple links with the same rel then they should be treated the same.  There's no clear mechanism of distinction that makes a lot of sense, or at least not that we've found so far.
You may end up using the target and/or context URI to distinguish them (or even target attributes like title, although I'd advise against using human-oriented fields for machine processing), but that doesn't change the information imparted by rel.
Note that in draft-04, people used this to repeat links separately for each HTTP method.  This was not the intended model and not the use case for the feature.


Adding post_push hook to auto-build

This script will be triggered when an auto-build finishes. Please refer to here for definition of auto-builds.
Environmental variables used in the script:

DOCKER_REPO: the name of the Docker repository being built.
DOCKER_TAG: the Docker repository tag being built.
IMAGE_NAME: the name and tag of the Docker repository being built. (This variable is a combination of DOCKER_REPO:DOCKER_TAG.)

Say that the auto-build creates a image called rocm/tensorflow-autobuilds:latest, this script will tag the image to a different name rocm/tensorflow-autobuilds:"YYMMDD", eg: rocm/tensorflow-autobuilds:190522
Test done:
Everything are already tested in my personal fork of tensorflow-upstream.

Immediately after this PR I will create another hook called pre_build, such that it will only build when there are code changes to ci_build folder

The overall concept is a great idea. Might consider the following:

Add another Dockerfile for building TF itself.  Not sure where the best location would be.  But it would use a FROM with the docker image that was created by ci_build/Dockerfile.rocm
Add a more detailed image tag (beyond %y%m%d), especially if the plan is to push an image for develop-upstream-related events.  Would need to be descriptive enough to allow us to tie together the image tag with the event (e.g. the commit, PR, or ..).

Nice feedback. I've thought of both when working with it in the past week.

I agree this should be the direction to go. One question is that currently the Dockerhub repository is private, I'm not sure if we want to push the repository/tag to a public space. (In the mean time, I have created a private github repo that has this Dockerfile and also attached autobuilds to it. I can share the Dockerfile, so that everyone can use it as a template for their own autobuilds, to add their most frequently used tool, etc...)
Adding commit id or PR comment is a one line change. One potential question is that if we updated the Dockerfile a few times a day, it will create multiple images for one day. I'm not sure if we want to go to that granularity. Having it tagged by date only implicitly keep the final commit of the date, should there be more images otherwise.

To sum up, I don't feel a strong opinion to both points. I can update now if you feel either is important. Or we can start with what we have now and update anytime in next PR.

Yeah, I don't have a strong opinion on these either.  Was trying to think about what would make it most useful in a general case.
Let's start with incremental steps.  LGTM

One question is that currently the Dockerhub repository is private, I'm not sure if we want to push the repository/tag to a public space.

To me it's fine to public the rocm/tensorflow-autobuilds dockerhub repo, that can be a good reference for our community users as well.
Just I'd like to keep the public rocm/tensorflow dockerhub repo clean, and have it only contains well-tested docker containers.

@sunway513 I can setup a separate automated builds in the public repository. Maybe name it as rocm/tensorflow-nightly? Since all our commits have already passed CI checks, I think those images qualify for being stable ones.
Regarding path and filename, does tensorflow-upstream/tensorflow/tools/ci_build/ and Dockerfile.rocm-nightly sounds good to you?


Add Airbyte integration

Airbyte  is arguably the leading data ingestion solution (source: State of Data survey), and so I propose to add its notification webhooks to Zulip integrations.
These notification webhooks are used for monitoring data synchronization jobs, as explained in this official article.
The more technical docomentation is here, including example payloads.
Basically, here is the payload format as of September 25th, 2024:
{
    "data": {
        "workspace": {
            "id":"b510e39b-e9e2-4833-9a3a-963e51d35fb4",
            "name":"Workspace1",
            "url":"https://link/to/ws"
        },
        "connection":{
            "id":"64d901a1-2520-4d91-93c8-9df438668ff0",
            "name":"Connection",
            "url":"https://link/to/connection"
        },
        "source":{
            "id":"c0655b08-1511-4e72-b7da-24c5d54de532",
            "name":"Source",
            "url":"https://link/to/source"
        },
        "destination":{
            "id":"5621c38f-8048-4abb-85ca-b34ff8d9a298",
            "name":"Destination",
            "url":"https://link/to/destination"
        },
        "jobId":9988,
        "startedAt":"2024-01-01T00:00:00Z",
        "finishedAt":"2024-01-01T01:00:00Z",
        "bytesEmitted":1000,
        "bytesCommitted":1000,
        "recordsEmitted":89,
        "recordsCommitted":89,
        "bytesEmittedFormatted": "1000 B",
        "bytesCommittedFormatted":"90 B",
        "success":true,
        "durationInSeconds":3600,
        "durationFormatted":"1 hours 0 min"
    }
}

if "success":false then there's an additional errorMessage field with the error message.

@zulipbot claim

@zulipbot claim

@zulipbot claim

I received a personal message from @17AnuragMishra asking whether they need to set up anything on Airbyte to complete the integration. I am replying here for visibility.
I believe it can't be necessary to onboard Airbyte just to develop an integration. An example payload can be found in the first post here (as well as the official documentation), which should be sufficient to use as a test fixture.
The only time when one might need Airbyte is to add some screenshots to the integration documentation, for example "Settings -> Notifications":

Hi @aniebietafia, I noticed you've claimed this issue a few days ago. Are you currently working on it? Thanks!

Hey @Aditya8840, thanks for reaching out. Yes I am currently working on this issue. I have wrapped up the views and writing the unit test. I should be able to make the first PR for initial review in the coming days.

Awesome! @timabbott, when is this expected to go live for Zulip Cloud customers? Does it simply follow the https://github.com/zulip/zulip/releases ?

No, it should be on Cloud considerably sooner than that -- you can watch https://chat.zulip.org/#narrow/channel/8-commits/topic/zulip.20.2F.20zulip-cloud-current/near/1975612.
Usually changes reach Cloud in 1-2 weeks, but there are occasionally delays when we have interesting regressions to track down or someone is on vacation. https://zulip.readthedocs.io/en/latest/overview/release-lifecycle.html documents this, though maybe we could make that easier to find.


Develop Code of Conduct

Code of conduct will need to be developed and included into the repository prior to launch

This task is complete:
https://github.com/project-zot/zot#contributing

We use the CNCF code of conduct.


Move to docsy as Hugo module

Fixes: #889
Signed-off-by: Daniel Holbach<EMAIL_ADDRESS>

@dholbach this broke the tabs https://deploy-preview-1136--fluxcd.netlify.app/flux/installation/

@kingdonb Pinging you as I'm not sure if it'll need changes to the Dockerfile - I personally don't use it for developing.

Now I see lots of errors in the console around web fonts

I let upstream know about the issue and updated Font-Awesome to what it needs to be (they need to update their respective go.mod).

It works locally, but not on Netlify. I'll move this to draft mode for now.

It's working now! :tada:


Address HANA cluster settings modal quirks

the modal closes when we successfully save settings
now the modal closes when we click on the backdrop
we have a close button in the upper corner
pointer turns to a hand when hovering the accordion toggle
catalog results are now sorted and don't get mixed up every refresh

This addresses a lot of #454


Proposal: avoid Container objects in the framework

Containers have suboptimal performance; there are several linter rules that recommend not using them when you can avoid it.

Ideally, I would like two things to happen:

Add a section to the style guide to advise against using Container objects
Refactor the containers currently in the repository into other widget types.

Even though technically I'm able to update the style guide now, I'm going to hold off for a bit, since Containers are the only good option for a couple of things:

Specifying a decoration with a clipBehavior
Automatically applying a decoration's intrinsic padding


Update rubocop

Removes version constraint on Rubocop
Add rubocop-minitest

I deliberately did not apply any rubocop auto corrections in this branch. There are a lot of them and not all of them are correct or desirable, so we should do those in smaller batches.

Coverage decreased (-2.007%) to 95.822% when pulling 1ea4a7edda798b9c41d0f0af97848bc16ddb31ce on olbrich:update-rubocop into e44c646322ab1ef4bac7f67bd8a604ddf84b54a0 on devise-security:master.


merge from arlac77/template-arlac77-github,arlac77/template-esm-only

package.json

chore(deps): add ^17.1.1 remove ^17.1.0 (devDependencies.semantic-release)

.npmignore

chore: add .github ()
chore: add  remove  ()
chore: remove  ()

:tada: This PR is included in version 1.1.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


disqualified message still appears if text is entered but box is unchecked

Question, why do we have a checkbox for dq but not rule violation.


updated xquartz (2.7.8)

Thank you for the contribution. It was merged directly as c26517c4366bda6fe0bf8306c8bf7bc5a2a702e5 to keep commit history cleaner. Your contribution is still credited to you.


feat: add upgrading info outputs to internal-prepare

General
This PR starts the work of improving the logging discussed on #372 by adding explicit logging of packages and dependencies that have changed.
Below I will include examples as they are implemented for open discussion
TODO

[x] info level logging of changes to packages in Prepare stage
[x] info level logging of published packages in Publish stage
[x] ~debug~ trace level logging of cargo commands executed in Publish stage

This was already implemented

[x] Increase verify-conditions info log level to debug
[x] Add a log-level flag that's mutually-exclusive, and overriding of, the verbosity flag

Examples
Verify
Info Level
$ ../../target/release/semantic-release-cargo -v prepare 2.0.0
semantic_release_cargo: Building package graph
semantic_release_cargo: Setting version information for packages in the workspace.
semantic_release_cargo: Setting the version of dependencies to 2.0.0
semantic_release_cargo: Upgrading dependency of dep1 to<EMAIL_ADDRESS>semantic_release_cargo: Upgrading build-dependency of build1 to<EMAIL_ADDRESS>semantic_release_cargo: Setting the version of build1 to 2.0.0
semantic_release_cargo: Setting the version of dep1 to 2.0.0

Log Level Flag
$ ../../target/release/semantic-release-cargo --log-level=info prepare 2.0.0
semantic_release_cargo: Setting the version of dependencies to 2.0.0
semantic_release_cargo: Upgrading dependency of dep1 to<EMAIL_ADDRESS>semantic_release_cargo: Upgrading build-dependency of build1 to<EMAIL_ADDRESS>semantic_release_cargo: Setting the version of build1 to 2.0.0
semantic_release_cargo: Setting the version of dep1 to 2.0.0

$ ../../target/release/semantic-release-cargo --log-level=debug prepare 2.0.0
semantic_release_cargo: Building package graph
semantic_release_cargo: manifest_path: None
semantic_release_cargo: Setting version information for packages in the workspace.
semantic_release_cargo: reading /workspaces/semantic-release-cargo/test_data/dependencies/Cargo.toml
semantic_release_cargo: Setting the version of dependencies to 2.0.0
semantic_release_cargo: Upgrading dependency of dep1 to<EMAIL_ADDRESS>semantic_release_cargo: Upgrading build-dependency of build1 to<EMAIL_ADDRESS>semantic_release_cargo: writing /workspaces/semantic-release-cargo/test_data/dependencies/Cargo.toml
semantic_release_cargo: reading /workspaces/semantic-release-cargo/test_data/dependencies/Cargo.lock
semantic_release_cargo: writing /workspaces/semantic-release-cargo/test_data/dependencies/Cargo.lock
semantic_release_cargo: reading /workspaces/semantic-release-cargo/test_data/dependencies/build1/Cargo.toml
semantic_release_cargo: Setting the version of build1 to 2.0.0
semantic_release_cargo: writing /workspaces/semantic-release-cargo/test_data/dependencies/build1/Cargo.toml
semantic_release_cargo: reading /workspaces/semantic-release-cargo/test_data/dependencies/dep1/Cargo.toml
semantic_release_cargo: Setting the version of dep1 to 2.0.0
semantic_release_cargo: writing /workspaces/semantic-release-cargo/test_data/dependencies/dep1/Cargo.toml

Other Changes

Updates info log-level to output to stdout

Open questions

There is some inconsistency between capitalized logs. I'd assume we'd want to standardize on one or the other

https://github.com/semantic-release-cargo/semantic-release-cargo/blob/12b8347f63d471d21d6f022c5aed439e131b7764/src/lib.rs#L798
https://github.com/semantic-release-cargo/semantic-release-cargo/blob/12b8347f63d471d21d6f022c5aed439e131b7764/src/lib.rs#L630

I changed the log level for Info to output to stdout out, should we also remove the exception for the other log levels?

Is there a reason we double-output errors in the verify-condition stage?

There is no good reason, please feel free to simplify!

I changed the log level for Info to output to stdout out, should we also remove the exception for the other log levels?

I'm not entirely sure what consequence this has, but I assume if it's safe to do for info, it's safe to do for debug and trace.

There is some inconsistency between capitalized logs. I'd assume we'd want to standardize on one or the other

Looks like you standardized to sentence-case logs, looks good to me 👍

Is there a reason we double-output errors in the verify-condition stage?

There is no good reason, please feel free to simplify!

Perfect, I may come through with a follow-up PR for that and the log targets in the future.


Update repository names for new GitHub structure

Update references to GitHub repositories. Mostly, replaces references to the CDLUC3 organization with references to the new CDL-Dryad organization, and updates the corresponding repository names where they have changed.
Also changes the name "Dash" to "Dryad" in places where it makes sense to change, but not in places where the underlying resources are still named "Dash".
Note that some of these names may not reference currently existing resources, since the resources didn't exist in the former location (e.g., https://github.com/CDLUC3/stash-wrapper). These will need to be cleaned up in the future.

This looks good.  I didn't realize there was so much stuff with the github repo in it.


Make update details payload consistent

Move validate_and_return_updater_request to utils
This is a general function to check updated_by for all write requests.
Add support for both update_details and updated_by JSON fields
Change validate_and_return_updater_request to accept either update_details or a top-level updated_by field.
This is an intermediate step to make all API endpoints use the helper function and make the update payload format consistent across all endpoints.
Once the apiclient and frontend apps have been updated to always use one of the formats we can drop support for the other one.
Use updater validation helper in framework and supplier views
Makes sure all API endpoints are using the valudate updater details utils function.
Use JSONUpdateTestMixin to test for missing update details
Remove ad-hoc endpoint tests in favour of JSONUpdateTestMixin test for missing update details.
Clean-up some duplicate tests and set endpoint and method on update view tests. Add support for using object attributes in endpoint, to make it possible to use the mixin with test classes that create the relevant object during test setup.
This updates most of the view tests with the exception of drafts and briefs. Briefs and drafts don't split tests between classes for each endpoint, so setting JSONUpdateTestMixin with one endpoint and method won't have the same benefit.

One minor comment, but looks fine as it is - nice to get this consistent, and the Mixin is sweet :+1:


Integration Test - Release - 2019/06/07 20:51:31

Auto create for integration test. IssueCommandFlow

@PRMergerTest3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Using Dropbox Uploader to upload a file from FTP to Dropbox

Hi, first of all thanks for this amazing project.
My issue:
Dropbox uploader can upload a file from local directory to dropbox. My question is, how can I use it to upload a file from FTP server to Dropbox?
For example: I have a file "backup.zip" in an FTP directory . So how can upload that file to Dropbox using FTP credentials.
I know I have to do this using cURL by editing function "request() " in DropboxUploader.php  but I'm unable to do that. Please help...

Hi thank you for asking your question(s). I'd like to answer them like the following:

My question is, how can I use it to upload a file from FTP server to Dropbox?

You can't.

For example: I have a file "backup.zip" in an FTP directory . So how can upload that file to Dropbox using FTP credentials.

You can't with this Dropbox Uploader class.

I know I have to do this using cURL by editing function "request() " in DropboxUploader.php but I'm unable to do that. Please help...

That could be, and for sure, you ask for help. But honestly I personally don't have any plans to do that. But I won't decline any progress on this issue if you make it. If you by yourself find out how or you find a developer who does, please feel free to file a pull-request and I'll take a further look if it's suitable.


Theme should be able to selectively overwrite vars based on which is defined or not

Is your feature request related to a problem? Please describe.
I would like to have an option to make stylex.createTheme() to selectively overwrite vars, instead of overwriting all vars from the base var group.
Here is my usecase:
A themeable Button, themed by a global theme, which could be selectively overridden by a variant theme (ie. Rounded Button, Filled Button, Outlined Button, Elevated Button, ...), which could be selectively overridden by a theme provided in props (ie. Blue Rounded Button).
Today it is not possible to do so, because each theme embed all base vars, so I cannot just create a variant with a different text color.
Also, it is not possible to just copy all the base var group because it depends of the global/variant theme used.
// tokens.stylex.ts
import * as stylex from '@stylexjs/stylex';

const vars = {
  background: 'transparent',
  size: '40px',
  borderRadius: 'none',
  // ...a lot of other properties
};

export const styleXVars = stylex.defineVars(vars);
export const globalTheme = stylex.createTheme(styleXVars, vars);

import React from 'react';
import * as stylex from '@stylexjs/stylex';

import { styleXVars, globalTheme } from './tokens.stylex';

// Variant: make a Rounded Button
const roundedTheme = stylex.createTheme(styleXVars, {
  borderRadius: '10px',
});

const styles = stylex.styles({
  container: {
    backgroundColor: styleXVars.background,
    // ...
  },
});

export const RoundedButton = ({ overridenTheme = undefined }) => {
  const globalTheme = useComponentTheme('Button'); // returns globalTheme
  const variantTheme = useComponentTheme('RoundedButton'); // returns roundedTheme

  return <div {...stylex.props({ globalTheme, variantTheme, userTheme, styles.container })}>...</div>
};

// Possible usage: make a blue rounded button
// const blueRoundedTheme = stylex.createTheme(styleXVars, { background: 'blue' });
// <RoundedButton overridenTheme={blueRoundedTheme} />

You may say that it does not comply with the stylex philosophy or, or that my usage is incorrect, but i would love to hear from you about this usecase. Thanks.

This is already fixed on main and will be in the next release.

Just to be sure that we are on the same page @nmn, I am not talking about the typing limitation that requires all group var to be overwritten in a theme (https://github.com/facebook/stylex/issues/188), but rather the way that the vars are overwritten (the entire var group is always overwritten even if only one var is set in theme).


fix: ensure timestamps of events are inorder

fix #411

:broken_heart: Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2021-11-10T22:29:43.004+0000

Duration: 5 min 14 sec

Commit: 3ba485bfd96ab173d27e1bd935d4ad709418082e

Steps errors
Expand to view the steps failures

Restore files previously stashed

Took 0 min 11 sec . View more details here
Description: source

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


IE8, IE9- node.currentStyle is null or not an object

I'm getting JS error when trying to use it in IE8 and IE9:
line: 1
char: 13551

Would you please recreate this on codepen or your favorite code sharing service?

I have the exact same error. @tporeba do you have a codepen already in place? If not i could do one.

Here is what I tried to do: http://codepen.io/anon/pen/qbpQzv
Attached you may find a complete html file.
I don't have real IE9 at hand now to confirm this example behaves exactly the same as my original attempt. IE9 emulation mode in IE11 doesn't give the same error. And this codepen thing seems to complain IE9 is not supported anyway.
I can confirm and fix the example on Monday if necessary.
test.html.txt

Having some of the same issues with certain markup. Can't reproduce consistently though.
In one case I had an element with display: none, if I removed that element or the display: none style, the error went away.

经测试，ie10以下的浏览器都不兼容

1
2
3
4

+1

Can confirm this issue. Can reproduce it with adding inline style="display: none;" to a flex item. Problem appears here https://github.com/10up/flexibility/blob/master/lib/walk.js#L10-L12. Commenting out this lines will fix error, but guess we need proper way of handling hidden elements.

I am currently experiencing the same issue, however I do not have a flex element with display: none; directly on it. It does however contain an element with display: none;. As the previous comment suggested, I removed the line from flexibility.js. This does however force the hidden element to no longer be hidden.

A check was required on currentStyle which is now in v2.


[BUG] Restore from backup sometimes failed if having high frequent recurring backup job w/ retention

Describe the bug
Restoring from a backup is failing.
To Reproduce
Steps to reproduce the behavior:

Deploy Longhorn and set backup target as S3
Create volume bak on longhorn
Use bak create PV “bak” PVC “myclaim” from longhorn UI
Deploy pod “mypod1”

kind: Pod
apiVersion: v1
metadata:
  name: mypod1
  namespace: default
spec:
  containers:
    - name: testfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/usr/share/nginx/html/"
        name: mypod1
  volumes:
    - name: mypod1
      persistentVolumeClaim:
        claimName: myclaim

In mypod1 shell, execute sh -c "echo 'Hello from Kubernetes storage' > /usr/share/nginx/html/index.html"
Create recurring back job, 3 retain, 1 concurrency, every minute
Create manual backup
Restore manual backup to volume v1
Restored volumes becomes faulted

Expected behavior
The restore should never fail
Log
longhorn-support-bundle_31ac3144-3ee9-4f59-86f5-3f9051e009b8_2021-09-22T23-17-01Z.zip
Environment:

Longhorn version: v1.2.x-head
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl

cc @jenting @shuo-wu

I think no.
There is an issue related https://github.com/longhorn/longhorn/issues/3016 which is at version 1.1.x

I think no.
There is an issue related #3016 which is at version 1.1.2

So you mean it probably not a regression? Please check a bit and have a further update.

We've 3 locks in the backup driver. The backup/restore/deletion lock.
The type 2 lock is the deletion lock, it makes sure during backup/restore operation, it can't delete the remote backup, and vice versa. The lock is to protect the consistency of the backupstore. Since it can be used by multiple clusters simultaneously (active and DR volume).
From my understanding now is the recurring job retain=3 and run every min. It would delete the old backup every min and contains only 3 backups.
If the user creates a manual backup and restores the manual backup, during restoration, the recurring job can't delete the backup at the moment until the restoration process is finished.
To improve this, we could do error message parsing on the delete backup/backupvolume API call, and do not enqueue immediately but the Backup/BackupVolume CR could be reconciled in the controller next reconcile time (30 seconds by default).

This is reproducible on v1.2.0 as well. I tried 5 times and observed this issue twice. Sometimes, only one/two replica fails and volume gets restored with degraded state.

@khushboo-rancher I just removed the kind/regression first, because it's actually happening in 1.2.0 already. Also, if possible, could you try to verify in 1.1.2 as well to see if this is also possible to reproduce.
From my view, this is more like an existing behavior instead of any new introduction (Please correct me if I am wrong @jenting @joshimoo ), so at least we need to understand what cases will cause this problem, then identify the areas to fix later.

What case will cause the faulted volume & what's the workaround
What case will cause the degraded volume & what's the workaround
What is the lock mechanism among the restore, backup, and backup deletion
How volume restore work

Also add some comment from @joshimoo

Correct backup/restore cannot be done while a delete operation is in progress. And vice versa the locks is necessary to protect the consistency of the backupstore. Since it can be used by multiple clusters simultanously (i.e active and DR cluster)
For the control flow the lock failures should be treated as intermediate and the backup crd should be requed at a future time.
There is a tech debt epic, for generally improving the error communication mechanism, so we can make it consistent and include a code + message. So that other components can act acurately on the returned errors instead of having to do some error msg parsing.
https://github.com/longhorn/longhorn/issues/1875

So my expectation for a new restore volume request is that the volume creation will remain pending. In the case where the restore operation has failed due to an existing lock or any other intermediate failures. Currently we don't have a good way to signal these types of failures. Therefore I created this tech debt epic to improve the general error communication + structure. https://github.com/longhorn/longhorn/issues/1875
@jenting Now that we have Backup cr it would be nice during the volumeCreate call to verify the existence of the backup. This way if a restore is requested for a backup that doesn't actually exists we can notify the caller and prevent the volume creation. It's possible I already added something like this in the prior implementation but I would have to check :)

Update current what I finding.

After discussion with Chris, he did the test with "echo 'Hello from Kubernetes storage' > /usr/share/nginx/html/index.html", and then ssh to the node and run dd if=/dev/urandom of=/dev/longhorn/bak status=progress. This dd command would format the device so makes the /usr/share/nginx/html/index.html gone. So, it's the reason why restore the volume the file /usr/share/nginx/html/index.html missing.
For type 2 lock acquisition failure is because recurring job retain=3 will delete the older backup every min, and restoring the backup manually. Since the lock is per-volume basis, so during the restoration, the recurring job deletion older backup would not work. So the longhorn-manager Pods floods with error message failed lock backupstore/volumes/17/22/bak/locks/lock-49c8c5b6feca4a36.lck type 2 acquisition.
For the error message Failed to initiate the backup restore, will do revert and cleanup then.. Since longhorn-engine performs restoration per-replica, which means by default we have 3 replicas, each replica will run restoring simultaneously and separately. There might be a possible case that replica1 restoration -> deletion -> replica2 restoration ->replica3 restoration. It would cause the replica2 and replicas3 restoration to fail because acquires the restore lock error (type 1 lock).

So I think Chris hits situation 1 and Kushboo hits situation 3.
However, I haven't reproduced situation 3 locally.

This is reproducible on v1.1.2 as well.
longhorn-support-bundle_e5fd2315-3415-4f86-8306-d3e2900699cd_2021-09-24T23-23-09Z.zip

This is reproducible on v1.1.2 as well.
longhorn-support-bundle_e5fd2315-3415-4f86-8306-d3e2900699cd_2021-09-24T23-23-09Z.zip

Thanks @khushboo-rancher verification!

Hey team! Please add your planning poker estimate with ZenHub @jenting @PhanLe1010 @shuo-wu @joshimoo

So my expectation for a new restore volume request is that the volume creation will remain pending. In the case where the restore operation has failed due to an existing lock or any other intermediate failures. Currently we don't have a good way to signal these types of failures. Therefore I created this tech debt epic to improve the general error communication + structure. #1875
@jenting Now that we have Backup cr it would be nice during the volumeCreate call to verify the existence of the backup. This way if a restore is requested for a backup that doesn't actually exists we can notify the caller and prevent the volume creation. It's possible I already added something like this in the prior implementation but I would have to check :)

We've implement the check already.

@jenting anything left for this issue? 👇

For the error message Failed to initiate the backup restore, will do revert and cleanup then.. Since longhorn-engine performs restoration per-replica, which means by default we have 3 replicas, each replica will run restoring simultaneously and separately. There might be a possible case that replica1 restoration -> deletion -> replica2 restoration ->replica3 restoration. It would cause the replica2 and replicas3 restoration to fail because acquires the restore lock error (type 1 lock).

The update from @jenting
If I remember correctly, the problem/step is

The recurring job call RESTful API to delete Backup (the deletion is background delete)
User clicks restore, LH manager validates okay by checking the Backup CR is exist (since the deletion is background delete, so the Backup CR exists)
The backup_controller deletes the Backup from the remote backup target (this step, the deletion lock acquired)
The longhorn engine restore replicas from the remote backup target (this step, the restore lock acquisition failed)
Failed replicas occur

That's the reason why should we check the DeletionTimestamp also since the Backup CR deletion is async, check the Backup CR exists or not probably not enough.

Verified on master-head 20220829

longhorn master-head (cccabbf)
longhorn-manager master-head ( 76f0fb4)

The test steps

Install Longhorn master-head
Create a volume "bak" on longhorn
Create volume "bak"'s PV(name:bak) & PVC (name:myclaim) from longhorn UI
Deploy pod “mypod1” via cli kubctl apply -f mypod1.yaml

kind: Pod
apiVersion: v1
metadata:
  name: mypod1
  namespace: default
spec:
  containers:
    - name: testfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/usr/share/nginx/html/"
        name: mypod1
  volumes:
    - name: mypod1
      persistentVolumeClaim:
        claimName: myclaim

Enter mypod1 shell kubectl exec --stdin --tty mypod1 -- /bin/bash
execute echo 'Hello from Kubernetes storage' > /usr/share/nginx/html/index.html
Create recurring back job, 3 retain, 1 concurrency, every minute
Create a manual backup
Restore manual backup to volume-v1
Check whether or not the error was printed

Result Pass
After restored, we didn’t observe the error symptoms.
longhorn-support-bundle_a334ca16-9b8c-4e6f-822e-711b32e42777_2022-08-29T06-15-10Z.zip
.


[BUG][Azure-Idenetity] VisualStudioCacheAccessor #getUserSettings should strip comments

Since vscode settings.json supports json with comments like:
{
/* key foo */
"foo":"bar" // this is a test
}

Possible fix:  VisualStudioCacheAccessor.getUserSettings
mapper.configure(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(), true);
        mapper.configure(JsonReadFeature.ALLOW_JAVA_COMMENTS.mappedFeature(), true);

BTW, the class name of VisualStudioCacheAccessor is not good, better name would be VisualStudioCodeCacheAccessor

Possible fix:  VisualStudioCacheAccessor.getUserSettings
mapper.configure(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(), true);
        mapper.configure(JsonReadFeature.ALLOW_JAVA_COMMENTS.mappedFeature(), true);

BTW, the class name of VisualStudioCacheAccessor is not good, better name would be VisualStudioCodeCacheAccessor

#19444

@andxu
The fix for this issue has been released.
Use the latest Identity release:
<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-identity</artifactId>
  <version>1.2.5</version>
</dependency>

Let us know if you need any further help on this issue.


visual studio code extension only installable from proprietary vscode

VSCode's ToS disallow installing extensions from their proprietary marketplace. That makes it such that users of vscodium and other open vscode compatible editors do not have access to the polarity extension.
Open VSX is a registry that can be used by both proprietary and open distributions of the vscode editor.
Since the closed distribution of vscode does not configure the open-vsx registry as a standard registry, it is probably not a good idea to switch to only open-vsx because that requires additional setup for users using the closed distribution.
I would still find it nice if the polarity extension would also be published to open-vsx.

https://github.com/marketplace/actions/publish-vs-code-extension
There seems to be this which can do both

Ah - curious, I didn’t know of this repo and was manically searching for the vscode extension :P

Applied for verified status here: https://github.com/EclipseFdn/open-vsx.org/issues/3167


syz-ci/manager.go: don't upload empty reports

I observe empty reports.
I'm sure it happens because of the connection timeouts etc.

please stamp

Thank you!


Added missing dependency for proxy support

Fix for #1175

Pull Request Test Coverage Report for Build 1572

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.325%

Totals

Change from base Build 1570:
0.0%

Covered Lines:
4800

Relevant Lines:
7543

💛  - Coveralls


Main search input won't be auto-focused after in-page search dismissed.

Version: 0.5.1
OS: macOS 10.12.5
Reproduce steps:

Press Command+F to active in-page search;
Press ESC to dismiss in-page search;
Main search input won't be focused until clicking any area in the main window.

This issue has been fixed but another similar issue appears:
When using Cmd+TAB to switch to Devdocs-app, search bar is not active unless you click any area in the main window.

It should be completely fixed in v0.6.3


Airdrop notification

Hi, I am confused to where my fate lay.
I haven't received any lume airdrop neither did I get a direct message as to why is that.
I joined a keybase some weeks ago after recommendations by a friend and now I'm so confused about what is going on

I have the same issue.. I really would like to recieve my last airdrop

I am also wondering about this. I read something that said a lot of fake accounts have been removed, and the airdrop will still happen but in one go rather than spread over the next few months, but now I can’t seem to find any information about it... is it still happening? Are we still getting our Stellar Lumens airdrop or...?

I got my drop now!

Some have received airdrop...
I keep 🤔wandering when will i get mine.. The whole airdrop thing has not been very transparent


Integrate welcome bot

I can add a welcome bot config file having a proper message that will show up when any user will open up an issue or pull-request for the first time.
For reference, check out: https://github.com/apps/welcome
If you feel this is a great idea!
Please assign it to me.

I can add a welcome bot config file having a proper message that will show up when any user will open up an issue or pull-request for the first time.
For reference, check out: https://github.com/apps/welcome
If you feel this is a great idea!
Please assign it to me.

I would love to work on this issue as a part of DWOC.Kindly assign it to me

I can add a welcome bot config file having a proper message that will show up when any user will open up an issue or pull-request for the first time.
For reference, check out: https://github.com/apps/welcome
If you feel this is a great idea!
Please assign it to me.

I would love to work on this issue as a part of DWOC.Kindly assign it to me

@muthuannamalai12 Done, Go Ahead.

@muthuannamalai12 Done, Go Ahead.

I have created a pull request. Kindly review it @SanjayMarreddi

I have created a pull request. Kindly review it @SanjayMarreddi

@SanjayMarreddi Can you please add the level label of my PR here?

@muthuannamalai12  This PR is not merged. Instead you made a new PR (#20) which was merged & Level Label is added too.

@muthuannamalai12  This PR is not merged. Instead you made a new PR (#20) which was merged & Level Label is added too.

Ok Thank you. Sorry for inconvenience


"The encapsulation symbol needs to be retained under --gc-sections properly"

The current master branch fails to build on FreeBSD 14.0-CURRENT amd64, even though it still works on FreeBSD stable/13.
$ cargo test
...
  = note: ld: error: undefined symbol: __start_linkme_SHENANIGANS
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::SHENANIGANS::hca25c6519cd4df0f)
          >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc)

          ld: error: undefined symbol: __stop_linkme_SHENANIGANS
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::SHENANIGANS::hca25c6519cd4df0f)

          ld: error: undefined symbol: __start_linkme_EMPTY
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::test_empty::EMPTY::h31c7f9e37773eb8f)
          >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc)

          ld: error: undefined symbol: __stop_linkme_EMPTY
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::test_empty::EMPTY::h31c7f9e37773eb8f)

          ld: error: undefined symbol: __start_linkme_NONCOPY
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::test_non_copy::NONCOPY::h920eb5b4a050a94d)
          >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc)

          ld: error: undefined symbol: __stop_linkme_NONCOPY
          >>> referenced by x4z07wsgcl2z4i4
          >>>               /usr/home/somers/src/rust/linkme/target/debug/deps/distributed_slice-425b465e5440679a.x4z07wsgcl2z4i4.rcgu.o:(distributed_slice::test_non_copy::NONCOPY::h920eb5b4a050a94d)
          cc: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `linkme` due to previous error
error: could not compile `linkme` due to previous error
error: could not compile `linkme` due to previous error

LLVM's instructions on how to solve the problem in C are here, but I don't know the Rust compiler well enough to apply its advice:
https://lld.llvm.org/ELF/start-stop-gc
A workaround is to use RUSTFLAGS="-C link-dead-code".

Mentioning @knan-md @allanjude in case either of you know of a way to fix this. The FreeBSD implementation is from #42.

I see what looks like the same error on Linux (Fedora 36, using either Fedora's Rust or Rust 1.65.0 installed using rustup) if I link with clang/ld.lld (which I was doing by having
[target.'cfg(not(any(target_os = "windows", target_arch = "wasm32")))']
rustflags = ["-C", "linker=clang", "-C", "link-args=-fuse-ld=/usr/bin/ld.lld"]

in ~/.cargo/config.toml, which I'd copied from somewhere a while back to slightly speed up builds and forgot about...).
If I read https://lld.llvm.org/ELF/start-stop-gc right that's expected, ld.lld after 13.0.0 on any ELF platform probably triggers it (or GNU ld before October 2015, but using a linker that old that to link Rust is probably a less common combination).
(I don't know enough about linkers and how Rust interacts with them to help fix this, sorry...)

Putting #[used] on the static variable seems like it should resolve this, but it does not help.

I get this same error targeting Chromeos and Android:
https://ci.chromium.org/ui/p/chrome/builders/try/linux-chromeos-compile-chrome/249317/overview
https://ci.chromium.org/ui/p/chromium/builders/try/android-12-x64-rel/469563/overview
For some reason it's not appearing for Linux and MacOS, though they are using lld.

A workaround is to use RUSTFLAGS="-C link-dead-code".

This does not help us in Chromium, it seems. Applying that to the crate that has the static variable does not remove these errors when we try to link that crate into a .so.

These errors are resolved for me by enabling the used_linker feature. I did not need to add any extra #[used] attr on to the static slice variable itself.
Example successful link here: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8774385254500438081/+/u/compile__with_patch_/stdout#L41799_0

These errors are resolved for me by enabling the used_linker feature. I did not need to add any extra #[used] attr on to the static slice variable itself.
Example successful link here: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8774385254500438081/+/u/compile__with_patch_/stdout#L41799_0

This workaround also helped me with a very basic example I was building. It appears that lld is a common thread in the problematic configurations. It's also fairly unpleasant to have to pepper the code with #![feature(used_with_arg)] and depend on unstable features.


Elasticsearch integration spec fix

Here is the implementation of index_document in elasticseach-model gem,
def index_document(options={})
  document = as_indexed_json
  request = { index: index_name,
              id:    id,
              body:  document }
  request.merge!(type: document_type) if document_type
  client.index(request.merge!(options))
end

This spec is failing because the as_indexed_json method returns nil, resulting in body key to nil, which should not be.
To fix this spec, I have implemented the as_indexed_json method in MyModel class, but I am not sure whether this is the correct way.
pr #518
@dblock @michaelherold

Thank you! Is this as_indexed_json something that was introduced in a more recent version or ES? It used to work, right?

Thank you! Is this as_indexed_json something that was introduced in a more recent version or ES? It used to work, right?

It was there before, but body argument was optional. Therefore, it was not raising the error.


1 week task completed

Please remove the merge commit in the history of commits in the pull request.
There should be a video on this on the gajabaar resource drive + some discussion
on discord. Let me/TAs know if you need help fixing it.


Invalid Header value in request for credentials

It seems like the Generated header based on credentials includes \n characters. I'm pretty sure this is a bug.
botocore.exceptions.HTTPClientError: An HTTP Client raised and unhandled exception: Invalid header value b'AWS4-HMAC-SHA256 Credential=-n ACCESS_KEY\n/00000000/eu-west-1/athena/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=XXXXXXXXXX'

@LeonardAukea - Thank you for your post. I would need some more information in order to debug the issue. How have you configured credentials ? Can you provide code sample you are using ? It would be helpful if you could provide me debug log. You can enable log by adding boto3.set_stream_logger('') to your code.

@swetashre  understandable, the credentials are picked up as envs AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY by boto3. In addtion to the providing the workgroup in the below func query
import argparse
import json
import logging
import time
import re

import boto3

def get_client(region=None):
    """Builds a client to the AWS Athena API."""
    client = boto3.client("athena", region_name=region)
    return client

def query(client, query, database, output, workgroup=None):
    """Executes an AWS Athena query."""
    params = dict(
        QueryString=query,
        QueryExecutionContext={"Database": database},
        ResultConfiguration={"OutputLocation": output,},
    )
    if workgroup:
        params.update(dict(WorkGroup=workgroup))

    response = client.start_query_execution(**params)

    execution_id = response["QueryExecutionId"]
    logging.info("Execution ID: %s", execution_id)

    # Athena query is aync call, we need to fetch results and wait for execution
    state = "RUNNING"
    max_execution = (
        5  # TODO: this should be an optional parameter from users. or use timeout
    )

    while max_execution > 0 and state in ["RUNNING"]:
        max_execution = max_execution - 1
        response = client.get_query_execution(QueryExecutionId=execution_id)

        if (
            "QueryExecution" in response
            and "Status" in response["QueryExecution"]
            and "State" in response["QueryExecution"]["Status"]
        ):
            state = response["QueryExecution"]["Status"]["State"]
            if state == "FAILED":
                raise Exception("Athena Query Failed")
            elif state == "SUCCEEDED":
                s3_path = response["QueryExecution"]["ResultConfiguration"][
                    "OutputLocation"
                ]
                # could be multiple files?
                filename = re.findall(".*\/(.*)", s3_path)[0]
                logging.info("S3 output file name %s", filename)
                break
        time.sleep(5)

    # TODO:(@Jeffwan) Add more details.
    result = {
        "total_bytes_processed": response["QueryExecution"]["Statistics"][
            "DataScannedInBytes"
        ],
        "filename": filename,
    }

    return result

I'll look through the debug log and see if I find anything interesting.  Although, it does not look correct that \n is in the generated header ACCESS_KEY\n
 b'AWS4-HMAC-SHA256 Credential=-n ACCESS_KEY\n/XXXXXXXX/eu-west-1/athena/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=XXXXXXXXXX'

In your case a new line is getting appended at the end of env vars. Are you using any tool to manage the credentials ?
Have you tried passing credentials directly during client creation ?

@swetashre they are being picked up from a kubernetes secret using the following pattern.
def use_aws_secret(secret_name='aws-secret', aws_access_key_id_name='AWS_ACCESS_KEY_ID', aws_secret_access_key_name='AWS_SECRET_ACCESS_KEY'):
    """An operator that configures the container to use AWS credentials.
        AWS doesn't create secret along with kubeflow deployment and it requires users
        to manually create credential secret with proper permissions.
        ---
        apiVersion: v1
        kind: Secret
        metadata:
          name: aws-secret
        type: Opaque
        data:
          AWS_ACCESS_KEY_ID: BASE64_YOUR_AWS_ACCESS_KEY_ID
          AWS_SECRET_ACCESS_KEY: BASE64_YOUR_AWS_SECRET_ACCESS_KEY
    """

    def _use_aws_secret(task):
        from kubernetes import client as k8s_client
        (
            task.container
                .add_env_variable(
                    k8s_client.V1EnvVar(
                        name='AWS_ACCESS_KEY_ID',
                        value_from=k8s_client.V1EnvVarSource(
                            secret_key_ref=k8s_client.V1SecretKeySelector(
                                name=secret_name,
                                key=aws_access_key_id_name
                            )
                        )
                    )
                )
                .add_env_variable(
                    k8s_client.V1EnvVar(
                        name='AWS_SECRET_ACCESS_KEY',
                        value_from=k8s_client.V1EnvVarSource(
                            secret_key_ref=k8s_client.V1SecretKeySelector(
                                name=secret_name,
                                key=aws_secret_access_key_name
                            )
                        )
                    )
                )
        )
        return task

    return _use_aws_secret

@swetashre

@LeonardAukea - Sorry for replying late. How are you converting your credentials to base64 format ? I found the same issue in kubernetes GitHub that might be helpful:
https://github.com/kubernetes/kubernetes/issues/23404

@swetashre the credentials are converted correctly and work just fine in other contexts using other boto3 botocore resources. What differs here is the addition of workgroup.

I don't know if it helps, but I've encountered a similar issue. The problem I had was that I downloaded a new key as CSV from AWS console, and it contained CRLF. Bash hides it when running env, but reading os.environ in python includes these at the end.
What I did to resolve it is creating a new file on the target platform, and pasted the characters there. You can also use the dos2unix utility if it's available (sudo apt-get install dos2unix on ubuntu).
If you plan on fixing this in botocore, I suggest using str.strip(), which also helped me when reading the variables from the environment. I'm pretty sure that having whitespace/unprintables around the credentials is not something that should ever happen.

this generally happens when you have a trailing space in your secret keys

@LeonardAukea - Were you able to solve the problem ? Did any of the problem suggested above work for you ?

I inherited a kubernetes secret that was base64 encoded with a final newline and it generated a similar error -- I was able to resolve the issue by re-encoding the secret without the newline.

Faced the same problem, where ever you are reading aws keys from environment k8 use .strip("\n")
eg:
AWS_ACCESS_KEY_ID = os.environ.get("AWS_ACCESS_KEY_ID").strip("\n")
AWS_SECRET_ACCESS_KEY = os.environ.get("AWS_SECRET_ACCESS_KEY").strip("\n")

Hi all, looks like this is resolved. If you are still encountering issues with this, please open up a new issue and refer to this one. Thanks for your comments to help resolve!


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 798931d, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 8972 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in ee9a953.


I added the ability to read strings by modifying 'parseReadMessageResponse(data)' method. I add this to the case/ switch:             case 672:                  this.controller_value = data.toString('ascii', 8);                 break;

Current Behavior

Expected Behavior

Possible Solution (Optional)

Context

Steps to Reproduce (for bugs only)

Your Environment

Package version (Use npm list - e.g. 1.0.6):
Node Version (Use node --version - e.g. 9.8.0):
Operating System and version:
Controller Type (eg 1756-L83E/B):
Controller Firmware (eg 30.11):

L83...High power!  We're actually actively working on integrating string read/write in a more general way along with UDTs right now. Come join us on gitter for more discussion!

@tjusticeus  How exactly were you able to read strings? I really need the ability to just read strings but haven't been able to figure it out yet.

It has been awhile since i looked at this. I will have to refresh my memory. Get back to you soon.
Sent from Yahoo Mail on Android
On Thu, Jul 18, 2019 at 5:02 PM<EMAIL_ADDRESS>wrote:
@tjusticeus How exactly were you able to read strings? I really need the ability to just read strings but haven't been able to figure it out yet.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

go to ethernet-ip/src/tag/index.js
go to method 'parseReadMessageResponse(data)'    //Line 304
under the 'break' of case BOOL, I added another case
case 672:
this.controller_value = data.toString('ascii', 8);
break;

@tjusticeus Thanks for the help!

any know how to write string?


docs: update custom rule example

PR checklist

[x] Addresses an existing issue: fixes #4870
[ ] New feature, bugfix, or enhancement
[ ] Includes tests
[x] Documentation update

Overview of change:
Documentation update to reflect
Is there anything you'd like reviewers to focus on?

CHANGELOG.md entry:

Thanks for your interest in palantir/tslint, @drexler! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.


Add support for custom images

This would be very useful to me. Internally pig creates a ProgressiveImage object for each image. The ProgressiveImage constructor (in TypeScript) looks like:
class ProgressiveImage {
  constructor(image: ImageData, index: number, pig: Pig) { ... }

  /**
   * Load the image element associated with this ProgressiveImage into the DOM.
   *
   * This function will append the figure into the DOM, create and insert the
   * thumbnail, and create and insert the full image.
   */
  load() { ... }

  /**
   * Removes the figure from the DOM, removes the thumbnail and full image, and
   * deletes the this.thumbnail and this.fullImage properties off of the
   * ProgressiveImage object.
   */
  hide() { ... }

  /**
   * Get the DOM element associated with this ProgressiveImage. We default to
   * using this.element, and we create it if it doesn't exist.
   *
   * @returns {HTMLElement} The DOM element associated with this instance.
   */
  getElement() { ... }
}

interface ImageData {
  filename: string;
  aspectRatio: number;
}

interface Pig {
  settings: PigSettings;
  container: HTMLElement;
}

interface PigSettings {
  classPrefix: string;
  figureTagName: string;
  urlForSize: (filename: string, thumbnailSize: number) => string;
  thumbnailSize: number;
  getImageSize: (lastWindowWidth: number) => number;
  lastWindowWidth: number;
}

So any ProgressiveImage replacement would have to provide the same interface. The replacement could be provided by an options key that defaults to a value of ProgressiveImage, but could be set to another class.

Done in 3fb9a26830a96aa6b174f09b68d4470d1186950f and 4ae79a86c969707a04180edd6835c495f63fa949.


Unable to Mark Stories as Unread

I have one particular feed that is behaving strangely. The feed URL is: https://www.ncbirdingtrail.org/feed/
I added this feed (which is new to me) to my account, and all the pre-existing stories were marked as read. I typically browse in the river of news mode, showing only unread only, sorted oldest to newest. As a result, it appeared as if this feed had no stories to view.
I changed my view to show all stories, and I am able to see the stories in the feed just fine. However, if I try to mark any of the stories as unread (by pressing [U]), they immediately get marked as read again. See the screenshot below for what's happening. I'm using the latest version of Chrome, and I did a force refresh of the site (Ctrl + F5) to flush anything that might have been cached).

I should also mention that this is the only feed that is behaving this way for me. All other feeds are working as I would expect them to.

Note that the story is from May 10th, which is more than 30 days old. NewsBlur only allows for 30 days of unreads.

I didn't realize about that limit. Does that even apply to paid accounts?

The limit is 14 days for free accounts and 30 days for paid subscribers.

Ok, thanks for the info! Keep up the great work.


/ocm/send endpoint disappeared from Reva

NC/OC-10 can no longer send shares in Network Beta because the /ocm/send endpoint was removed from Reva

The endpoint was renamed to /sciencemesh/generate-invite. By default it generates the invitation, and if an email is passed then it also sends the token, thus doing what the former /ocm/send used to do (despite not belonging to OCM strictly speaking)

No, it's not the same, /ocm/send was an endpoint where the EFSS can tell reva to create an outgoing share and do an OCM call.
We need to move https://github.com/cs3org/reva/blob/v1.22.0/internal/http/services/ocmd/ocmd.go#L126-L128 and https://github.com/cs3org/reva/blob/v1.22.0/internal/http/services/ocmd/send.go to the sciencemesh service, I'll have a go at that tomorrow.


switch from positional to named argparse argument

Traceback (most recent call last):
  File "convert.py", line 91, in <module>
    with open(sys.argv[1]) as f:
FileNotFoundError: [Errno 2] No such file or directory: '--filename'

Whoops! Thanks for the catch.


Update latest training operator images in v1.7 branch

Training operator images are updated to the latest in the released branch

/assign @tenzen-y


Fix leader election RBAC

I was getting this error from the controller when deploying:
E0324 10:11:15.744823 1 leaderelection.go:325] error retrieving resource lock external-secrets-system/external-secrets-controller: leases.coordination.k8s.io "external-secrets-controller" is forbidden: User "system:serviceaccount:external-secrets-system:default" cannot get resource "leases" in API group "coordination.k8s.io" in the namespace "external-secrets-system"

This PR adds the needed RBAC permissions to allow the leader election.
I couldn't find much about how/why this error appeared, so if anyone can help me understand why this happened, I'd appreciate it.
I'm using Kubernetes v1.17 and building the Operator from the current main branch locally.

This happened during the update from sigs.k8s.io/controller-runtime from 0.6.x to >0.7 https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.7.0
Occurred in commit https://github.com/external-secrets/external-secrets/commit/adb4de943d8bda69eee95c2ac354c3ce92d605ed#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6 but doesn't have seemed to have been notice because this project doesn't have really any significant e2e coverage outside that the pod starts.

/approve

/merge


Exchange the first two arguments of check_csrf/3 for better indexing

Exchanging the first two arguments of check_csrf/3 would enable first-argument indexing and avoid a spurious choice-point when calling the predicate:
https://github.com/brog45/prologWebScanner/blob/4772fe02c1cc665895da143c6d5ff426997cb8b1/demo_fuzz_har.pl#L87-L90
See https://www.swi-prolog.org/pldoc/man?section=jitindex for details on SWI-Prolog implementation of indexing.

Thanks, Paulo!