Check X-Scope-OrgID in the header before replacing it with tenand_id in the code

Hi,
Thank you for writing this simple and powerful piece of software.
My problem
Currently, the cortex-gw replaces the X-Scope-OrgID without checking if it is already set in the header. Here is the code that is doing it link
I am sending the correct dynamically configured X-Scope-OrgID and do not want it to be replaced after the jwt token verification.
Can you please suggest on how I can prevent the override without adding any other proxy route ?
Is it possible to check for a preset X-Scope-OrgID?

Hi,
I am struggling to understand the usecase for your request.
This gateway can be run in untrusted environments and therefore it is not supposed to accept other X-Scope-OrgID headers.

@weeco Thank you for quick turnaround.
My use case is so, I am passing the orgId with a valid jwt token. I am assuming that the trust is established once the jwt is verified. After verification the orgId coming from upstream is okay to be allowed. Am I understanding this correctly?

Hi @weeco,
Please let me explain the complete scenario.
I have prometheus servers sending metrics to a back end cortex setup via cortex-gw. Since prometheus does not allow adding custom payload, I am creating a token for all my prometheus servers with a dummy tenantid:0 and expecting it reset it the receiver side. The private-key to this is not shared with any of the senders and only available to cortex-gw for decrypting the incoming bearer token.
Further, on the cortex-gw side, I have an ingress receiving the traffic and adding the right header like so
nginx.ingress.kubernetes.io/configuration-snippet: "proxy_set_header X-Scope-OrgID {{ .Values.tenant.id }};".
The data is then forwarded from ingress to cortex-gw.
Problem is, the cortex-gw replaces this X-Scope-OrgID with the tenant id that I am sending encoded in the bearer token.
I understand that you have designed the cortex-gw to provide tenantid from the senders side. But I had to do this work around as the sender is prometheus which does not allow to add tenantid in the header. Also this design makes sure that the private key is not shared anywhere.
To summarize. -- prometheusServer(bearer token with dummy tenantid = 0) --> Ingress(adding the desired X-Scope-OrgID) --> Cortex-gw(replacing the X-Scope-OrgID)
Is there anything we can do to address this use case ? Any help is appreciated.
Best

Thanks for explaining your usecase. Given that this gateway is fairly simple and only a few lines of code I'd recommend you to fork it for your own needs. As of now we don't want to add more features so that we can keep it as straight forward as possible.
Keep in mind that the Cortex team is also going to develop an official gateway maybe your usecase can be considered there?

Okay. I understand that. Thank you for taking the time to understand my use case.
About the cortex team working on official gateway. Is there a work in progress repo or a formal announce page where I can learn more ?
Appreciate all the help.

@gauscian I think there's no dedicated issues in the Cortex repo, just some note here and there (in their slack and in the grafana blog), see: https://grafana.com/blog/2020/01/21/the-future-of-cortex-into-the-next-decade/
If you can't find an issue for the gateway I think you can submit an issue for it in the Cortex repo or just ask in their slack for it. Closing this issue for now.


[Toolkit bug]: Camera light not working

Contact Details (Optional)
No response
Describe the bug
Selection gives no light
How do you reproduce the bug?
Open Toolkit, press light settings, select Camera light. Behold the darkness.
What is the expected behavior?
Bless my space with enlightenment
Version
2024.1.1

I've created REMIX-2684.

Hi @PappaSlask - we believe a recent build of the toolkit should address this issue. Will you please check on the latest build and let us know if this persists? Thank you!

Hi @PappaSlask - we believe a recent build of the toolkit should address this issue. Will you please check on the latest build and let us know if this persists? Thank you!

Was this implemented in the AMD fix hotfix update that came May 14'th? I don't believe a more recent build was released. Because the camera light was still not present in the update before that, you know the last major Remix and Toolkit update.
Thanks for connecting back to this issue 👍

I apologize, I did speak too soon - we think it should be addressed in the upcoming toolkit release build. I'll be sure to check in again once it's made public and see how this is affected for you.

Hi @PappaSlask - we believe this camera light issue should be addressed in the latest toolkit release build. Will you please give it a shot in the new build and let us know if this is fixed for you? Thanks!

Hey @PappaSlask - checking in to see if you've been able to confirm this light issue is now fixed in the latest toolkit release. Thank you!


[Bug] Can't use DirectX capture method

Describe the bug
Hi, I can't use directX capture method, whether it is capturing the whole screen or part of the screen, but it still work with the BitBlt capture method.
Here is the error message:

   at System.Threading.Tasks.Task.Dispose(Boolean disposing)    at System.Threading.Tasks.Task.Dispose()    at ScreenToGif.Capture.BaseCapture.DisposeInternal() in C:\Users\nicke\source\ScreenToGif\ScreenToGif\Capture\BaseCapture.cs:line 175    at ScreenToGif.Capture.BaseCapture.DisposeAsync() in C:\Users\nicke\source\ScreenToGif\ScreenToGif\Capture\BaseCapture.cs:line 184    at ScreenToGif.Windows.NewRecorder.PrepareCapture(Boolean isNew) in C:\Users\nicke\source\ScreenToGif\ScreenToGif\Windows\NewRecorder.xaml.cs:line 1394    at ScreenToGif.Windows.NewRecorder.Record() in C:\Users\nicke\source\ScreenToGif\ScreenToGif\Windows\NewRecorder.xaml.cs:line 1033
Desktop (please complete the following information):
Windows 11 22H2 22621.900
Windows Feature Experience Pack 1000.22638.1000.0
Graphics Card: AMD 5700XT Adrenalin 22.5.1 Recommended (WHQL)
ScreenToGif version: 2.37.1

Sorry, it's ready. Something is wrong with my graphics driver 😂


Provide a way to check if a process is running

Given a process's PID, pub needs a way to determine whether that process is still running. Ideally it would also have a way to find the process's name.

any news about it?

by the way, Dcli has the ProcessHelper().isProcessRunning('process_name') method
https://pub.dev/documentation/dcli/latest/dcli/ProcessHelper-class.html

@nex3 I would prefer that there were separate apis for getting just the process name and the arguments rather than one for both.
I'm rarely interested in the command args and would prefer not to parse them everytime.
There is a question as to whether we should be including the path as otherwise we may not be able to determine which process is actually running.

Ran into this today. :)  Maybe in the world of FFI it's time to just have a package outside of dart:* which provides process management like this.


Modify parsed attribute names to allow the open angle character.

This in addition to #137 will almost fully complete the HTML5 spec for supported attribute names as far as commonly used characters go.
This would allow scenarios such as: <p cl<ass="hello"></p>.

Doesn't look like Angular or other libraries presently require this, so moving to RC1.

No plans to do this without a strong reason


As a student who constantly travels, I can view my created cards online

so that I can revise them on my mobile devices.

slightly similar to the different device one, but this one deals with uploading the flashcards to the cloud


Fixed SSPI fallback to NTLM

Fix fallback if no kerberos credentials are found
Move library detection to WinPR
Add option to disable NTLM fallback
Fix client NLA abort on unexpected message (no need to wait for activation timeout here)

@freerdp-bot test

@hardening agree with that. but I think that would be something bigger that should be addressed in another pr.


packaage installing error in deeplearning envoirment

when i installing the package of python through the pip it is giving me the following error
please resolve it
Could not install packages due to an EnvironmentError: [WinError 32] The process cannot access the file because it is being used by another process:
Consider using the --user option or check the permissions.

See #236


Issues with min/max over big_decimal field when using Multi-stage engine

A simple min/max over a big_decimal fails when using the multi-stage engine,
Query:
select min(block_number) from org_2dYiMRMfas142XRKQ3bJIqmN3V6_erc20_balance_changes limit 10
Error:
Error Code: 200

QueryExecutionError:
Received error query execution result block: {1000=Unable to create DataBlock
java.lang.RuntimeException: Unable to create DataBlock
	at org.apache.pinot.query.runtime.blocks.TransferableBlock.getDataBlock(TransferableBlock.java:140)
	at org.apache.pinot.query.mailbox.GrpcSendingMailbox.toMailboxContent(GrpcSendingMailbox.java:121)
	at org.apache.pinot.query.mailbox.GrpcSendingMailbox.send(GrpcSendingMailbox.java:72)
	at org.apache.pinot.query.runtime.operator.exchange.BlockExchange.sendBlock(BlockExchange.java:126)
...
Caused by: java.lang.ClassCastException: class java.lang.Double cannot be cast to class java.math.BigDecimal (java.lang.Double and java.math.BigDecimal are in module java.base of loader 'bootstrap')
	at org.apache.pinot.core.common.datablock.DataBlockBuilder.buildFromRows(DataBlockBuilder.java:148)
	at org.apache.pinot.query.runtime.blocks.TransferableBlock.getDataBlock(TransferableBlock.java:133)
	... 16 more}
org.apache.pinot.query.service.dispatch.QueryDispatcher.getResultTable(QueryDispatcher.java:332)
org.apache.pinot.query.service.dispatch.QueryDispatcher.runReducer(QueryDispatcher.java:276)
org.apache.pinot.query.service.dispatch.QueryDispatcher.submitAndReduce(QueryDispatcher.java:100)
org.apache.pinot.broker.requesthandler.MultiStageBrokerRequestHandler.handleRequest(MultiStageBrokerRequestHandler.java:199)

the same query works on v1 query engine.

Can you try select min(cast(block_number as double)) from org_2dYiMRMfas142XRKQ3bJIqmN3V6_erc20_balance_changes limit 10 and see if it works? Even in v1 this query won't be executed on big_decimal, but on double with potential precision loss

The original query select min(block_number) from org_2dYiMRMfas142XRKQ3bJIqmN3V6_erc20_balance_changes limit 10
works well on v1 for us; casting as double works,

v2 is strong typed, and currently min() takes double as input and return double, that is why it failed in v2. Ideally min() should be able to directly take big_decimal and return big_decimal.

Ideally it would support all the types that other calcite compatible DBs would accept

All numeric data types
All date/time types
String data types:

The problem here is that the engine is using two different operators.
I was able to replicate the issue with the following quickstart query:
select min(cast(AirTime as DECIMAL)) from airlineStats limit 10

Which produces the following plan:
Execution Plan
LogicalSort(fetch=[10])
  PinotLogicalSortExchange(distribution=[hash], collation=[[]], isSortOnSender=[false], isSortOnReceiver=[false])
    PinotLogicalAggregate(group=[{}], agg#0=[MIN($0)], aggType=[FINAL])  <-- whose return type is DECIMAL
      PinotLogicalExchange(distribution=[hash]) <-- whose return type is double
        PinotLogicalAggregate(group=[{}], agg#0=[MIN($0)], aggType=[LEAF]) <-- whose return type is DOUBLE
          LogicalProject($f0=[CAST($4):DECIMAL(1000, 0) NOT NULL])
            LogicalTableScan(table=[[default, airlineStats]])

Therefore the leaf stage sends doubles while the intermediate state expects big decimals. Therefore the issue here is not SSE (aka V1) but the way we resolve functions. I still don't know where, but it looks like at some point one of our rules has to be breaking the type matching. Ideally we should always use the correct aggregate function (AFAIK we should be able to do that now that the registry has been unified) but in case we are not, at least we should add a transformation node that automatically converts (aka casts) values.

The issue here is that we're registering the standard operator for aggregation functions like MIN / MAX / SUM from Calcite's SqlStdOperatorTable. These operators infer the return type as DECIMAL if the input operand type is DECIMAL. However, the actual aggregation function implementation in Pinot returns a double value regardless of the input operand type. This causes an issue during data exchange because we cast the output value based on the expected output type from the query plan. This works fine for the other numeric types since double values can be cast to int, long, float but not to BigDecimal. There are two ways to fix this -

Update all the aggregation function implementations in Pinot to use the appropriate intermediate and final return type based on the input operand type (possibly a big change with implications to backward compatibility even in the v1 engine).

Register a custom operator that defines the return type for these aggregation functions as DOUBLE instead of using the standard SQL operators. This is not ideal but reflects the state of the current aggregation functions in Pinot accurately and will resolve the error described in this issue.


Update performace

Looking into the implementation of Update, it seems to me that the filtering of rows happens again and again for each column while this could be a one-time operation.
As a broad overview, the current situation looks like:
fun updateImpl() {
    df.replace(columns).with { it: DataColumn -> /* filter, given entire df row and replace column */ }
}

while it could be
fun updateImpl() {
    df.filter { /* Filter rows */ }.replace(columns).with { it: DataColumn -> /* replace column */ }
}

There is of course also a trade-off, because this doesn't work with Update.perCol {}, since it would supply a filtered column instead of the entire column like now. So we need to think this through thoroughly.

df.filter { /* Filter rows */ }.replace(columns)... would be incorrect, as it will return DataFrame with reduced number of rows, but update should keep all original rows and just update some values based on given predicate.
We can not avoid filtering inside every column, because filter may use it argument that represents current value in the column: RowValueFilter = DataRow<T>.(it: C) -> Boolean

To implement this performance optimization we need to add another where clause without access to currently updated value. For example:
df.update { columns }.whereRow{  expression }...

perRow can be used for new value computation, similar to perCol / perRowCol, but not for filtering - that would be very confusing.

So it's similar to with. Still confusing for users to choose between with and perRow in that case, right?


[PDI-16684] Every click on the PDI UI sending a request to the Pentaho Server

[PDI-16684] Every click on the PDI UI sending a request to the Pentaho Server
cache was added for versioningConfiguration property
It is not necessary to check VersioningEnabled on the server every time.
The property versioningConfiguration depends on files
server/pentaho-server/pentaho-solutions/system/ImportHandlerMimeTypeDefinitions.xml
server/pentaho-server/pentaho-solutions/system/repository.spring.properties
Live changes in these files are not supported. If we do changes in these files it doesn't change behavior without pentaho-server restart. So we don't need rechecked this property in server every time. It is enough to check it one time.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/base/AbstractMeta.java
  engine/src/main/java/org/pentaho/di/core/EngineMetaInterface.java
  engine/src/test/java/org/pentaho/di/base/AbstractMetaTest.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/SpoonSlave.java
  ui/src/test/java/org/pentaho/di/ui/spoon/SpoonTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.base.AbstractMeta

Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:
Method Change: -1.1% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/base/AbstractMeta.java
  engine/src/main/java/org/pentaho/di/core/EngineMetaInterface.java
  engine/src/test/java/org/pentaho/di/base/AbstractMetaTest.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/SpoonSlave.java
  ui/src/test/java/org/pentaho/di/ui/spoon/SpoonTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.base.AbstractMeta

Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:
Method Change: -1.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -3.1% :small_red_triangle_down:
Complexity Change: -3.1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.4% :small_red_triangle_down:
Complexity Change: -3.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.setvalueconstant.SetValueConstantMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -10.3% :small_red_triangle_down:
Complexity Change: -7.7% :small_red_triangle_down:
Instruction Change: -10.2% :small_red_triangle_down:
Line Change: -10.7% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:


Support for key classes and all keys capture

I want to do things like this...
Mousetrap.bind('__alpha__', handleAllAlphaKeys);
Mousetrap.bind('ctrl+ __num__', handleAllNumberKeys);
// other classes

Let's say I want to save some content to the server as the user types it.
I trigger a timeout on each keypress and debounce it until some delay after which I take the content and send it to the server. In such cases, I need to catch ALL the keys. There is no way to do it via Mousetrap currently.
I want to do this:
Mousetrap.bind('__all__', handleAllKeys);

+1
I need that as well

+1

+1

+1

+1


Fix hang when worker.looping=false (#161)

worker.perform() needs to be run regardless of self.looping value.
worker.peform() also has a check for self.looping and will determine if self.pause() is called.
With self.looping=false the worker will stop after the first message and will not check the queue again until worker.poll() is run.

Looks like that multiWorker test fails because of race condition in the test - if I add 1000 to the timeout the test passes.

Yup - re-ran the tests and it passed... ;)

This change will make it so that with a sufficiently large queue to work, even with looping=false, you will work more than one job, yes?  This is not the desired behavior.

According to my tests if looping=false it will process only one job. Processing can be manually triggered with worker.poll().
Without this change if looping=false then the job will be taken from the queue and vanish into the great void (i.e. the job callback in my code to do console.log() will never run) - surely that can't be intentional?

P.S. what do you mean by "sufficiently large"? Is there some magic number somewhere? How large?


New version: JetBrains.dotUltimate version 2023.3.4

Created by 🥟 Dumplings in Run #3618.
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


5th birthday

I've retained the existing favicons folder renamed as favicons_normal to make it simple to (eventually) revert.

Niklas B checked this on http://samdutton.github.io/webrtc-org — so I'm going to merge without LGTM, but feel free to update.
FYI @louquillio @juberti


Parameters starting such as reg_ in url are being converted to %C2%AE

Parameters being passed in to remote_function call to build a url that start with reg_ in url are being converted to %C2%AE, as url should have been &reg_key=some_key&reg_value=some_value but instead it is being nuilt as %C2%AE_key=some_key%C2%AE_value=some_value. To fix this issue changed variable names to registry_key, registry_value
Issue #1920
Issue #1921
@Fryguy @tenderlove i am not sure if this issue was introduced with Ruby 2.0 or could it be jquery, please review.

%C2%AE is the registered trademark symbol: ®  Seems like since the value comes after the & in the URL, it sees &reg in the URL and converts it.  Curious where that's happening,.

Who provides the method remote_function...seems that is not accurately escaping the URL data given to it.

remote_function method is /home/hkataria/.rvm/gems/ruby-2.0.0-p598/bundler/gems/jquery-rjs-33e0fc1c0b25/lib/action_view/helpers/jquery_helper.rb

@martinpovolny @fryguy @tenderlove any suggestions on this fix.

I think it's because it's getting marked as html_safe here.
@h-kataria as an experiment can you change some of the calls to remote_function to be remote_function(yourparams).to_str, and see if that fixes it?

@tenderlove doing a to_str to remote_function call  fixes the issue remote_function(:url => url).to_str, please suggest should i back out my previous changes and wrap the remote_function calls with to_str.

@h-kataria for now, yes.  I think the real issue is here in jquery-rjs.  We will need to fix this upstream.  But, we might consider adding an initializer that monkey patches jquery-rjs.

@tenderlove changing the line you pointed out above to ERB::Util.html_escape(function).html_safe had fixed the issue as well in my local environment.

@tenderlove for now, implemented your suggestion and backed out my previous changes.

@dclarizio can you please review/test.

@h-kataria : will you make a PR for jquery-rjs, please?

@martinpovolny i think @tenderlove is going to create a patch for jquery-rjs fix separately.

@martinpovolny I'll take care of it today! :)
@h-kataria can you show me how to reproduce the escaping issue you were seeing so that I can make a demo when I upstream the patch?

@tenderlove:
Steps to reproduce:

Go to Configure/Configuration in UI, then on Setting accordion, go to Analysis Profiles in the tree on left
Make a copy of the OOTB 'VM' Analysis profile.
Select the new profile,click 'Configuration',click 'Edit this Analysis profile'
Attempt to delete registry entries under 'Registry' tab.Observe that registry entries don't get deleted.
Url being sent upto server in this case had parameters name starting with reg_ which was being converted to %C2%AE, url should have been &reg_key=some_key&reg_value=some_value but instead it is being built as %C2%AE_key=some_key%C2%AE_value=some_value.

@h-kataria perfect, thanks!

@tenderlove Was there a PR for this?  Just want to get the issues linked up.  Also, I don't know which jquery-rjs repo is canonical...I can't find it on rubygems.org >_<

@h-kataria May need to rebase.

Verified fix.  Discovered new issue and created #2109

Fixes #1920
Fixes #1921


Release 0.2.0

Codecov Report

Merging #9 (6de7df2) into main (46496b5) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 6de7df2 differs from pull request most recent head 1aaa542. Consider uploading reports for the commit 1aaa542 to get more accurate results

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   79.13%   79.13%
=======================================
  Files           3        3
  Lines         139      139
=======================================
  Hits          110      110
  Misses         29       29

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Documentation does not match Production UI.

Hello,
It appears the documentation is out of date and does not match the UI of security.microsoft.com.
Specifically, the following section.
Options for Microsoft reporting tools:
Outlook section > Select an Outlook report button configuration section > When the Report button is clicked:

Show a pop-up message before email is reported: Select this setting to show users a pop-up notification in Outlook before they report a message.

To customize the text in the notification, select Customize before message. In the flyout that opens, enter the text in the Title and Message boxes. Use the variable %type% to include the submission type (junk, not junk, phishing, etc.). When you're finished in the flyout, select Confirm.

There is no longer an option to customize the pre-submission pop-up, only a checkbox. (With no customize link) "Ask the user to confirm before reporting."
(Although previously configured messages are still being presented to our users.)
It would be nice if the documentation was kept up to date when product changes are made. Alas, this is a pipe dream.
Anyways, I would greatly appreciate it if you could review this document for accuracy.

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

ID: e53205b5-8850-42b6-0b0c-8a61b7ef7776
Version Independent ID: 0a9e7903-ce3c-e877-e6b3-b45d09642308
Content: User reported settings
Content Source: microsoft-365/security/office-365-security/submissions-user-reported-messages-custom-mailbox.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@erihnbapsjfdb, funny you should ask. I had updates sitting in the bullpen ready to go. I just got the greenlight to publish.
Thanks for the feedback.
Closing


row.styles in tables

When adding new rows to a table using the ModifyTable class, it currently applies the styles of row 0 to the new rows (well actually an empty style object and this seems to be powerpoints default behaviour for that). For instance, if row 0 is a header with larger and bold text, and rows 1-3 have normal smaller text, calling modify with 10 rows results in rows 1-3 keeping their original text style, while rows 4-9 have the header text style.
Although it's possible to override this using the style object for each row, it requires the application to be aware of the table styling, instead of allowing the user to freely style it in the template file and have the styles respected.
It doesn't actually matter in my use of this library whatsoever but I did stumble upon it, and it seemed perhaps suboptimal.
To address this, we could introduce a "has header" toggle or a "repeatLastRowStyles" option that repeats last row style rather than empty row style. This would allow the user to choose how new rows should inherit styles from existing rows, providing a more flexible solution.
Something like this ?  What do you think :)
setRows() {
  const lastRowIndex = this.data.body.length - 1;
  const lastRowStyles = this.data.body[lastRowIndex]?.styles || {};

  this.data.body.forEach((row: TableRow, r: number) => {
    row.values.forEach((cell: number | string, c: number) => {
      let rowStyles = {};

      if (row.styles && row.styles[c]) {
        rowStyles = row.styles[c];
      } else if (this.data.repeatLastRowStyles) {
        rowStyles = lastRowStyles[c] ? lastRowStyles[c] : {};
      } else {
        rowStyles = {};
      }

      this.table.modify(
        this.row(r, this.column(c, this.cell(cell, rowStyles))),
      );
      this.table.modify({
        'a16:rowId': {
          index: r,
          modify: ModifyXmlHelper.attribute('val', r),
        },
      });
    });
  });
}

Hi! I was also stumbling upon this in the past. To grub out the roots: I guess it is because of this.templates[tag] below.
src/helper/modify-xml-helper.ts
assertElement(
    collection: HTMLCollectionOf<Element>,
    index: number,
    tag: string,
    parent: XmlDocument | XmlElement,
    modifier: Modification,
  ): XmlDocument | XmlElement | boolean {
    if (!collection[index]) {
      if (collection[collection.length - 1] === undefined) {
        this.createElement(parent, tag);
      } else {
        const previousSibling = collection[collection.length - 1];

        // this.templates[tag] will be taken by default, and this is your first row:
        const newChild =
          this.templates[tag] && !modifier.fromPrevious
            ? this.templates[tag].cloneNode(true)
            : previousSibling.cloneNode(true);

        XmlHelper.insertAfter(newChild, previousSibling);
      }
    }

I'm not sure on this, but using fromPrevious could be your solution.
src/modify/modify-table.ts
  row = (index: number, children: ModificationTags): ModificationTags => {
    return {
      'a:tr': {
        // like this, but it will be best to let the user decide:
        fromPrevious: true,
        index: index,
        children: children,
      },
    };
  };

I did not test this, but it should change the behaviour as expected!
Thanks again for pointing out!

@singerla So I am using a more high-level API in the form of modify.setTableData.
And what I see with that is if I am adding 3 rows and set say background colour on row 2 then it also applies to row 3 (as it seems to clone that node not the vanilla node I have in the actual file). Is it possible to say that there should not be any colour set using modify.setTableData?

I have canged it to forceCreate: true
  row = (index: number, children: ModificationTags): ModificationTags => {
    return {
      'a:tr': {
        forceCreate: true,
        index: index,
        children: children,
      },
    };
  };

as this also has crashed one of my projects.


(Speech recognition) hope to get inside sMBR, MWER tensorflow code

System information

TensorFlow version (you are using): 1.12
TensorFlow Addons version: Not used yet
Is it in the tf.contrib (if so, where):No
Are you willing to contribute it (yes/no):Yes
Are you willing to maintain it going forward? (yes/no):yes

Describe the feature and the current behavior/state.
Smbr and mwer are important loss functions for speech recognition, and google has published many papers based on these two losses, I hope to get open source code.
Will this change the current api? How?
Who will benefit with this feature?
All speech recognition researchers
Any Other info.

How do I +1 to this?

@liangzhenlin123 Hi, would you mind listing the original papers? and if possible, its open source reference implementation in other framework (say, pytorch)

Would love to work on this - given more information!
Here are some resuources I found for them:
sMBR
MWER

Welcome, Utkarsh! Feel free to reach out us if you need any help :-)

Hi, @utkarshsimha are you taking this? I would like to pick it up if this is open. @facaiy

Welcome, Prakhar!
@utkarshsimha Hi, Utkarsh, could you keep us updated? Thanks?

@facaiy @prakharcode - Sorry for the delayed reply.
I have been reading the paper and understanding the mechanics.
Prakhar, if you would like to collaborate, I would be open to that! :)
Thanks!

@facaiy @utkarshsimha @prakharcode sorry for the delayed reply :(  I have received inspiration elsewhere, and I will finished the N-best MWER in two days, maybe include the sample MWER though it is more difficult than N-best....

@facaiy @utkarshsimha @prakharcode sorry for the delayed reply :( I have received inspiration elsewhere, and I will finished the N-best MWER in two days, maybe include the sample MWER though it is more difficult than N-best....

Can you share MWER for us, or tell us where are your inspiration.

System information

TensorFlow version (you are using): 1.12
TensorFlow Addons version: Not used yet
Is it in the tf.contrib (if so, where):No
Are you willing to contribute it (yes/no):Yes
Are you willing to maintain it going forward? (yes/no):yes

Describe the feature and the current behavior/state.
Smbr and mwer are important loss functions for speech recognition, and google has published many papers based on these two losses, I hope to get open source code.
Will this change the current api? How?
Who will benefit with this feature?
All speech recognition researchers
Any Other info.

There is a repo which may be helpeful to you: https://github.com/datemoon/tf-code-acoustics. There are some SDT methods.

TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP


add Rakuten Viber

used icon from fa6-brands and official colors from https://www.viber.com/en/brand-center/

Thank you!


Battery Percentage refresh issue

I am using the battery module, with xf86-video-intel everything works fine.
But now I am using the modsetting driver.
Now the screen has 5% brightness but polybar displays 10% (The module displays the backlight +/- 5% and somethimes correctly). So I decided to write a Custom script.
#! /bin/bash
max=$(cat /sys/class/backlight/intel_backlight/max_brightness)
actual=$(cat /sys/class/backlight/intel_backlight/brightness)
echo "$actual / $max * 100"| bc -l | sed 's/[.].*$//'
After I execute it to see if evertything works properly polybar updates the internal battery and displays the correct percentage.
I guess its a bug because polybar updates the battery module just after I execute
cat /sys/class/backlight/intel_backlight/brightness
Or maybe the file is the problem.

Duplicate of #1180


libkbfs: separate clean and dirty block caches

Issue: KBFS-1103

Ready for review.  cc: @akalin-keybase.

I'll leave the detailed review to @jzila, but :+1: on doing this, and a couple of questions.

Looks great. A few minor nits and a larger question regarding the relationship between blocks that could exist in both caches.


Add template for scatter-gather pattern

Purpose
Fixing https://github.com/wso2/ballerina-integrator/issues/216

Moved to https://github.com/wso2/ballerina-integrator/pull/227


Change Pep517HookCaller to not read pyproject.toml directly

Modify the low-level wrappers to leave reading of pyproject.toml to the caller.
When trying to use the wrappers from pip, the fact that the wrappers do their own parsing and validation of pyproject.toml clashes with pip's own parsing and validation. Rather than trying to get the two to work together, it seems to me better to take the approach that it's the caller's responsibility to parse the pyproject.toml file, and pass the relevant information (the backend name and the source directory) to the wrappers, rather than have the wrappers try to do two unrelated jobs.
I'm not going to merge this change immediately, as it's a change to the external API, and I'd like some feedback on whether it's OK.

I'm not aware of any external consumers of this project yet, so I think whatever makes sense for pip is OK.
It does have an internal consumer in the pep517.check module which may need a minor change.

It does have an internal consumer in the pep517.check module which may need a minor change.

It's been updated.

Oh, thanks, I missed that.


Milestones and progress

We agreed to get 1.0 out fast and then work on the next. Some pull requests seem perfectly valid, like #438 #439 and #441 .
I suggest we create a 1.0.1 (or 1.1) milestone, and close or move the open issues from the 0.3.0 milestone to it. Does that seem reasonable?

Agreed!

@larsnaesbye think we can go further, seems we still have couple of bugs like https://github.com/voxpupuli/puppetboard/pull/521 that need to be checked.
I also noticed slow page loading while running on large puppet environments, guess we should check https://github.com/voxpupuli/puppetboard/pull/512
I think we can also work on python 2.7 removal ?

@othalla +1 for dropping python 2.7 :)

@othalla Yes absolutely. Python 2.7 is dead and should be removed.

I added #525 to at least warn people for now.

Now that the awesome 1.1.0 release is out, I'm closing this issue :-)


Typemap reimplementation

Under the orchestration of @mpickering, reimplements the genTypeMap function in a new module.
A Typechecked module is only traveresed once.
This reimplementation should have a lower memory footprint but is likely to increase the first startup time of modules.
Some parts may no longer have a type on hover.
Implementation has already been merged into #1126. There it is said to be working!
TODO:

[ ] More Documentation

Closes #1156

@mpickering Anything missing for this PR? Or do you think we should rather wait for your PR to be merged?

You should quickly check the ghc-mod source to see if there are any other hover points it supports so this doesn't regress behaviour?
Will do, thanks!
Also, are there any tests for hover? It would be good to add some if there aren't but it shouldn't block merging this MR.
I think there are some tests, but I will investigate

When the tests run through, this should be ready to merge, imo.

Given what a big change this is, I suggest we merge it after the April release, which is due in a few days.

CI looks to be failing still on 8.2.2 and 8.2.1.
@alanz Are you sure you don't want to merge this? It improves one of the big complaints about HIE which is high memory usage.

@mpickering  Tests fail because the API of Show and Eq seem to have changed over different ghc versions?
However, this has no effect on the feature.
Should the test case be solved via CPP?

CI fails are imo unrelated to this PR.

This can be merged now I think?

I think so, I presume the CI is transient.

In other words, I guess I should actually take a look at it now.


HLS.js usage: bugfix, stability improvements and resilience improvement

I propose the following changes to the HLS.js:

BUGFIX: pass "video" element to create() on restart triggering fatal-error
STABILITY: await MEDIA_ATTACHED event before performing "loadSource" on HLS
STABILITY: await MANIFEST_PARSED event before performing "play" on video element
RESILIENCE: on "MEDIA_ERROR" event perform "recoverMediaError" on HLS

Code was now adjusted.

merged, thanks


[BACKLOG-23395] Adds metadata injection support for the Get System In…

…fo step

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/trans/steps/systemdata/SystemData.java
  engine/src/main/java/org/pentaho/di/trans/steps/systemdata/SystemDataMeta.java
  engine/src/main/java/org/pentaho/di/trans/steps/systemdata/SystemDataTypes.java
  engine/src/main/resources/org/pentaho/di/trans/steps/systemdata/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/systemdata/messages/messages_fr_FR.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/systemdata/messages/messages_it_IT.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/systemdata/messages/messages_ja_JP.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/systemdata/messages/messages_ko_KR.properties
  engine/src/test/java/org/pentaho/di/trans/steps/systemdata/SystemDataMetaInjectionTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/systemdata/SystemDataMetaTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/systemdata/SystemDataTest.java
  ui/src/main/java/org/pentaho/di/ui/trans/steps/systemdata/SystemDataDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.systemdata.SystemDataMeta

Branch Change: -5.4% :small_red_triangle_down:
Complexity Change: -3.5% :small_red_triangle_down:
Instruction Change: -2.1% :small_red_triangle_down:
Line Change: -1.6% :small_red_triangle_down:
Method Change: -2.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.systemdata.SystemDataTypes

Branch Change: -20% :small_red_triangle_down:
Complexity Change: -30.8% :small_red_triangle_down:
Instruction Change: -0.5% :small_red_triangle_down:
Line Change: -2.6% :small_red_triangle_down:
Method Change: -25% :small_red_triangle_down:

org.pentaho.di.trans.steps.googleanalytics.GaInputStepMeta

Branch Change: -1.9% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/steps/systemdata/SystemDataTypes.java

:heavy_exclamation_mark: '{' at column 29 should have line break after. at Line: 161 Column: 29

:heavy_exclamation_mark: '{' at column 49 should have line break after. at Line: 163 Column: 49

:heavy_exclamation_mark: 'if' construct must use '{}'s. at Line: 167

:heavy_exclamation_mark: '||' should be on a new line. at Line: 167 Column: 50

:heavy_exclamation_mark: '||' should be on a new line. at Line: 168 Column: 56

Making more changes


timeline.fit() cuts off box items with align: left

When displaying box items on the timeline with left-aligned branches the fit() function doesn't take the repositioned box into consideration, cutting off the last items. Is there the ability to fit the item boxes as well as the timeline points?

On a side note, is the refactoring of this repo still in progress? Thanks.

Are you sure that this is an issue with the directive, and not the way that the vis library works? I don’t think that the directive sizes the DOM container, so I think that this is just the way that the library works in which case you should raise the issue against the main visjs repository…


mesh's events

Coverage increased (+1.5%) to 93.59% when pulling f42ca062bd664a3de81f52d314ebd5c9f992782f on feature/events into 237d7dd43f4a07ca86e088a7a9458dab87be0bf2 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


string_parser needs to initialize success flag

The string_parser::call needs to initialize the success out value to
true.
Here, in the string_parser::call function:
https://github.com/tzlaine/parser/blob/develop/include/boost/parser/parser.hpp#L6913
the only change to the success flag is to false.  This is definitely
wrong.  It needs to be initialized to true at the start of the
function.  Otherwise, if the success flag is passed as false, it will
not change its value, despite the parse being successful.

Setting the status to true would be superfluous.  It is a precondition of each parser that success == true.  success is a bool &.  If we got into any parser and it were not true, that would mean that the parse failed, and yet the caller decided to start a new parse.  That doesn't happen. for obvious reasons.


Wip for what a managed config system might look like

Here's a rough outline for what a managed config system might look like.
https://github.com/kentik/ktranslate/tree/wip-managed-config/pkg/config/local
Is an example of something which looks for a config change on a local file and restarts things if it sees this.
https://github.com/kentik/ktranslate/tree/wip-managed-config/pkg/config/nr
is a stub where you can pass data to NR.
Thoughts here, especially on this interface?
type ConfigManager interface {
	Run(context.Context, func(*ktranslate.Config) error) // Run takes a context and a callback function to call whenever there is a new update to process
	DeviceDiscovery(kt.DeviceMap)                        // called whenever there is a new snmp device discovery to parse.
	Close()                                              // Called on shutdown of ktrans.
}

I realized that there wasn't a flag to set the config provider option. Now this is in place.


[REST CLIENT] yields data pages with requests context

Tell us what you do here

guesses the single entity endpoints from the path when creating resources
NOTE: data_selector is JSONPath now, backward compatile with string names
yielded page data is an extended list with requests context
all tests are passing

@rudolfix I'm merging it, let's address the trailing slash in a follow-up request.


Clean forked project theopenlab/packer and theopenlab/machine

Use upstream projects to instead of OpenLab forked projects to
avoid syncing with upstream manually.
Add UTC-0 04:00 in periodic pipeline in order to have more chance
to trigger periodic jobs and show issue of periodic jobs

Closes: theopenlab/openlab#133

thank you


Make .Internal namespaces types to internal types

Noooo. Why?

I want to second @khellang here: Why is this being done? What’s the problem with public but messaged-as-internal types?

🆙 📅

Plan on merging this today. Let me know if there's any additional feedback.


A problem occured configuring project ':isar_flutter_libs'.

I created new fresh flutter project and added isar database. But when i try to run project i get this error:
FAILURE: Build failed with an exception.

What went wrong:
A problem occurred configuring project ':isar_flutter_libs'.

Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

 If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.

BU�LD FAILED in 2s
Running Gradle task 'assembleDebug'...                              3,1s
Error: Gradle task assembleDebug failed with exit code 1

You can manually upgrade the Gradle to version 8.x in native side

You can manually upgrade the Gradle to version 8.x in native side

I updated but I still get the same error.
android>gradle>wrapper>gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-8.2.1-all.zip

@ZhuJHua
I couldn't find where to add the parts you mentioned.
I open it with Android Studio. There are two build.gradle files.
Gradle Version: 8.10.2
JDK Version: 23.0.1
Dart Version:  3.5.4 (stable)
Flutter Version: 3.24.4
DevTools Version: 2.37.3
Android SDK API Level: 35
android\build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

android\app\build.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.muhammedarslan.test_app.test_app"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.muhammedarslan.test_app.test_app"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

Folder Structure:

I would be very grateful if you can find a solution.
Thanks.

@ZhuJHua
I couldn't find where to add the parts you mentioned.
I open it with Android Studio. There are two build.gradle files.
Gradle Version: 8.10.2 JDK Version: 23.0.1 Dart Version: 3.5.4 (stable) Flutter Version: 3.24.4 DevTools Version: 2.37.3 Android SDK API Level: 35
android\build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

android\app\build.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.muhammedarslan.test_app.test_app"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.muhammedarslan.test_app.test_app"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

Folder Structure:
I would be very grateful if you can find a solution. Thanks.

open the android project in your android studio

@ZhuJHua
I couldn't find where to add the parts you mentioned.
I open it with Android Studio. There are two build.gradle files.
Gradle Version: 8.10.2 JDK Version: 23.0.1 Dart Version: 3.5.4 (stable) Flutter Version: 3.24.4 DevTools Version: 2.37.3 Android SDK API Level: 35
android\build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

android\app\build.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.muhammedarslan.test_app.test_app"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.muhammedarslan.test_app.test_app"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

Folder Structure:
I would be very grateful if you can find a solution. Thanks.

just like this

the first is the flutter project, the second is the android project in flutter project

@ZhuJHua I opened where you said

@ZhuJHua I opened where you said

Waiting for the build to finish may take a little time, then you can edit the build.gradle of isar

@ZhuJHua the same error occurred here.

@ZhuJHua the same error occurred here.

Can you show me the build.gradle at android/app/build.gradle

@ZhuJHua the same error occurred here.

Can you show me the build.gradle at android/app/build.gradle

plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.example.todo_app_news"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.example.todo_app_news"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

@ZhuJHua the same error occurred here.

Can you show me the build.gradle at android/app/build.gradle

plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.example.todo_app_news"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.example.todo_app_news"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

Can you share your peoject in github? I can try to fix it.

@ZhuJHua  https://github.com/muharsln/todo_app_test

@ZhuJHua https://github.com/muharsln/todo_app_test

I think that is nothing with isar. I can build it successfully.

@ZhuJHuaI just installed flutter on my computer and the error it gives is namespace error. But there is a namespace definition. So what could it be caused by?

@ZhuJHuaI just installed flutter on my computer and the error it gives is namespace error. But there is a namespace definition. So what could it be caused by?

just try upgrade the flutter version, and then create a new project

@ZhuJHua aren't these the most updated versions at the moment?
Gradle Version: 8.10.2
JDK Version: 23.0.1
Dart Version: 3.5.4 (stable)
Flutter Version: 3.24.4
DevTools Version: 2.37.3
Android SDK API Level: 35

@ZhuJHua aren't these the most updated versions at the moment?
Gradle Version: 8.10.2 JDK Version: 23.0.1 Dart Version: 3.5.4 (stable) Flutter Version: 3.24.4 DevTools Version: 2.37.3 Android SDK API Level: 35

I mean , create a new project without any dependencies.

@ZhuJHua aren't these the most updated versions at the moment?
Gradle Version: 8.10.2 JDK Version: 23.0.1 Dart Version: 3.5.4 (stable) Flutter Version: 3.24.4 DevTools Version: 2.37.3 Android SDK API Level: 35

If a empty project can build successfully, add the dependencies  that you need one by one. In this way you can determined whether isar causes error.

i created a new project and added isar, I have the same issue
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':isar_flutter_libs'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
   > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

     If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 11s
Error: Gradle task assembleDebug failed with exit code 1

Exited (1).

and here is flutter doctor
flutter doctor -v
[✓] Flutter (Channel stable, 3.24.4, on Microsoft Windows [Version 10.0.22631.4317], locale en-US)
    • Flutter version 3.24.4 on channel stable at E:\.cache\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 603104015d (2 weeks ago), 2024-10-24 08:01:25 -0700
    • Engine revision db49896cf2
    • Dart version 3.5.4
    • DevTools version 2.37.3

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at E:\.cache\android
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Java\jdk-20\bin\java
    • Java version Java(TM) SE Runtime Environment (build 20.0.2+9-78)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[✗] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.9.2)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.9.34622.214
    • Windows 10 SDK version 10.0.22621.0

[✓] Android Studio (version 2024.2)
    • Android Studio at C:\Users\me\AppData\Local\Programs\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-12282718-b509.11)

[✓] VS Code (version 1.95.2)
    • VS Code at C:\Users\me\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.100.0

[✓] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 12 (API 31) (emulator)
    • Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.22631.4317]
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 130.0.2849.56

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

@mhamriI think there's a different problem. I can't figure it out. I'm still trying to figure it out.

@mhamri  https://github.com/isar-community/isar I recommend you to use the repo and v3.1.8. These problems are solved.

@muharsln thanks, but how? it's not published yet
https://pub.dev/packages/isar/versions

@mhamri  I didn't use the official repo, I used the cleaned up version that the community wrote. You can check the link I provided.

Unfortunately, I can't contribute to solving the problem. I just wanted to report back that I am also experiencing the errors described above.
I installed Flutter today, created a new project (without code and without any dependencies). Then I added Isar as described here (, section 1). So my project is still practically completely empty, but already now it cannot be compiled.

@Samurd: Not sure whom you are addressing. I were not ble to solve it. But I really hope somebody does.
I tried the current version (v3.1.0+1), I tried v3.1.8 (as @muhrsln suggested) and I also tried the coing v4 beta. And I run into problems with all of them,
It's too bad, because I would love to use Isar and actually can't wait to start working on my app.

Root cause: Isar 3.x does not support gradle 8.x.
Workaround: https://github.com/isar/isar/issues/1470#issuecomment-2398877965
Basically, make a change in android/buid.gradle:
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}

// add this part:
subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
        }
    }
}

subprojects {
    project.evaluationDependsOn(":app")
}

Note: new subproject block must be before the one with evaluationDependsOn.

well, maybe before, try to upgrade everything, and do the clean build as I started with this issue and ended up with the one linked above...

I tried @pawel0987 suggestion on a different development machine of mine. And here it's working perfectly. Thank you so much @pawel0987!!
The issues I mentioned in my previous post must be related to a broken installation of Android or Flutter or Gradle or ... sorry for any confusions!


Add copy as markdown button

Added a button to copy the converted text as markdown, as requested in #7

sorry just saw this, this looks good, im curious though do you think we should also move the copy html interface to entirely clipboard? i feel theres a benefit to being able to see the text being copied but it /is/ cleaner

I personally think the cleanest way to do this would be to have a button more similar to how you did the html to show the md, and add a copy to clipboard button to the bottom of both these divs.
The only reason i didnt do this, was that this is the first time im doing anything js, and i wanted to keep it a bit simpler, hence why i also didnt abstract the generation code to a shared method, which would be my preferred way of doing this
If any of these ideas are wanted ill glady take another look and read more into js to implement them

more than happy to handle that end in that case! will test asap and merge thanks!


Fix resources not available in Docker environment

@andreas-goebel Just a heads-up - I ran into a problem copying dashboard, the widget types did not get initialized. The new asset type and widget type creation approach does not report an error when it doesn't find any files in the specified path. And the files were missing because the Dockerfile did not copy them.
I suggest using a common directory ("resources" here in this CL) to make it clear that we need these files at runtime.
And/Or making the "InitializeAssets" function throw an error or warning if it matches no files. Fail fast.


Fix build on DragonFly BSD

Need use gcc > 8 for building:
sudo pkg install gcc-12_5
export CC=/usr/local/bin/gcc; export CXX=/usr/local/bin/g++ cmake -G "Unix Makefiles" .
make

Apologies for the delay, real life has been busy. Thank you very much for this contribution, it will be part of the next release (3.0.4)!


Fix scheduled Aggregation fuzzer job which uses presto as source of truth

Eg of failing workflow : https://github.com/facebookincubator/velox/actions/runs/8516830503/job/23327269263 .
As part of migration to GHA, the scheduled aggregation job did not check out Velox , which is fixed in this PR.

Ah sorry, I missed that it uses stuff from scripts.


Create minimum viable SBOM

Must include:
Supplier Name
Component Name
Unique Identifier
Version String
Component Hash
Relationship
Author Name
Create using (TBD -- in process of evaluating SPDX, SWID, CyclineDX) format

resource: https://www.ntia.doc.gov/files/ntia/publications/ntia_sbom_framing_2nd_edition_20211021.pdf

@nvoxland explained to me that the current POM is what we use to report/use as current SBOM. First step will be to see if this meets the minimum viable requirements for our users. If it does, we can hold on rest of work as related to expanding/improving the SBOM until we see more demand.


OpenAPI 3.0 validation does not check for valid $ref's in pathitems

Summary
When validating an openapi 3.0 specification, the validation does not check for a valid $ref as part of a PathItem Object. As a result PathItem objects that use $ref's (but that cannot be resolved e.g. to missing files) are incorrectly passing validation.
There is an explicit check for each child field name
A valid PathItem Object according to the spec may include a $ref.
Example snippet:
paths:
    /SomePath:
        $ref: "paths/something.yml#/paths/SomePath"

I would expect behaviour for valid spec to be one of:

An error saying that it cannot resolve $ref on line X
An error stating that "paths/info.yml" does not exist on line X
An error stating that path/~1SomePath is not a valid PathItem object (invalid JSON Reference)

Or something else equally helpful
Checklist

[x] Validation: I believe my source definition is intentionally invalid OpenAPI 3.0.x but the validator fails to complain

I've published v2.7.0 - validating (not using the validateSync method) now resolves external references, and the testRunner has been updated to use this mode. Please let me know if it now correctly validates your definition(s).

@MikeRalphson This worked a treat. Thank you!


Update to VSCJDBC 10.0.1

Update dependencies to use enhanced Datatype Detection For Result Sets from virtual-schemas-common-jdbc

Already done with release 2.0.2


#10 better parallelization

Async uses fast-glob streams to speed up replacing
Replace async available in benchmark test suite
README benchmark section update

Pull Request Test Coverage Report for Build 34

30 of 32 (93.75%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.07%) to 95.935%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/replace.js
30
32
93.75%

Totals

Change from base Build 32:
-4.07%

Covered Lines:
73

Relevant Lines:
75

💛  - Coveralls

Pull Request Test Coverage Report for Build 34

30 of 32 (93.75%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.07%) to 95.935%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/replace.js
30
32
93.75%

Totals

Change from base Build 32:
-4.07%

Covered Lines:
73

Relevant Lines:
75

💛  - Coveralls


[Package Request]: SleepTimer Ultimate

How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://www.sleeptimer.net/en/download/sleeptimer-2-installer/
Publisher: Christian Handorf
Package Name: ChristianHandorf.SleepTimerUltimate
Description: Feature rich freeware shutdown timer on Windows XP and above
Package Version: 2.5.1
Installer URL: https://www.sleeptimer.net/download/sleeptimer-2-installer/?wpdmdl=486

@JustMyGithub - Sorry, it seems this package is unable to submit to the repository.

Copy the download URL from the browser, we get something like https://www.sleeptimer.net/download/sleeptimer-2-installer/?wpdmdl=486&refresh=6669c74b00f141718208331. Parameter refresh= is dynamic and automatically generated by the server. winget.exe doesn't support these kinds of packages.
If we remove refresh= part from parameters, we'll get errors in Komac as follows.
00:06:54 D:\...\winget-pkgs  [master ≡] 4m 36.331s 0x0001 pwsh> komac new --output .
> Package identifier: SleepTimer.SleepTimer.Ultimate
> Package version: 2.5.1
> 1st Installer URL https://www.sleeptimer.net/download/sleeptimer-2-installer/?wpdmdl=486
? 2nd Installer URL <canceled>
Error:
   0: Failed to get content length from 'https://www.sleeptimer.net/download/sleeptimer-2-installer/?wpdmdl=486'

Also on the download page, when we click Download button, a German version of "General Terms and Conditions of Use" (originally "Allgemeine Nutzungsbedingungen") is shown. Users have to explicitly accept it to start downloading.

I tested the installer URL without the refresh and it worked and it still works - and it even works in another browser. According to your winget error message it seems that the server does not provide "content length" - Firefox just shows that size and therefore download time are not known during download, but nevrtheless the download works. Is winget not capable to handle downloads without "content length" ?
Winget does support "Terms and Conditions", an example is veracrypt (where you have to use --accept-package-agreements), so that should not be an issue either


Error installing on Windows. Maybe due to old sqlite dependency

I am using:

windows 10
node v.10.1.0

I tried to install tuql:
alexa@DESKTOP-6C4V66Q C:\Users\alexa\test-tuql
$ npm i --save sqlite3

><EMAIL_ADDRESS>install C:\Users\alexa\test-tuql\node_modules\sqlite3
> node-pre-gyp install --fallback-to-build

[sqlite3] Success: "C:\Users\alexa\test-tuql\node_modules\sqlite3\lib\binding\node-v64-win32-x64\node_sqlite3.node" is installed via remote
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.

+<EMAIL_ADDRESS>
added 68 packages from 48 contributors in 8.057s
[+] no known vulnerabilities found [97 packages audited]

alexa@DESKTOP-6C4V66Q C:\Users\alexa\test-tuql
$ npm i -s tuql
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
  unpack_sqlite_dep
  sqlite3.c
  win_delay_load_hook.cc
  sqlite3.vcxproj -> C:\Users\alexa\test-tuql\node_modules\tuql\node_modules\sqlite3\build\Release\\sqlite3.lib
  database.cc
  node_sqlite3.cc
  statement.cc
  win_delay_load_hook.cc
c:\users\alexa\test-tuql\node_modules\tuql\node_modules\nan\nan_maybe_43_inl.h(112): error C2039: 'ForceSet': is not a member of 'v8::Object' (compiling source file ..\src\statement.cc) [C:\Users\alexa\test-tuql\node_modules\tuql\node_modu
les\sqlite3\build\node_sqlite3.vcxproj]

It did not work without installing sqlite3 first. So that is what I decided to do.
I did see that tuql has an own dependency on sqlite3 in Version 3.1.13.
So I tried to install sqlite3 v3.1.13 directly and got this:
alexa@DESKTOP-6C4V66Q C:\Users\alexa\test-tuql
$ npm i --save<EMAIL_ADDRESS>
><EMAIL_ADDRESS>install C:\Users\alexa\test-tuql\node_modules\sqlite3
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v64-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v64 ABI) (falling back to source compile with node-gyp)
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
  unpack_sqlite_dep
  sqlite3.c
  win_delay_load_hook.cc
  sqlite3.vcxproj -> C:\Users\alexa\test-tuql\node_modules\sqlite3\build\Release\\sqlite3.lib
  database.cc
  node_sqlite3.cc
  statement.cc
  win_delay_load_hook.cc
c:\users\alexa\test-tuql\node_modules\nan\nan_maybe_43_inl.h(112): error C2039: 'ForceSet': is not a member of 'v8::Object' (compiling source file ..\src\statement.cc) [C:\Users\alexa\test-tuql\node_modules\sqlite3\build\node_sqlite3.vcxpr oj]

So it seems that for some reason building sqlite3 on Windows errors out. But this only happens because tuql tries to install a version of sqlite3 for which there exists no prepared binary.
If this interpretation is correct, it would be of great help to Windows users if you could update the sqlite3-dependency to a recent version.

Actually, yarn has a feature to deal with such problems: resolutions (https://yarnpkg.com/lang/en/docs/selective-version-resolutions/).
Using them I can successfully install tuql on my windows machine. I have to use this package.json file:
{
  "name": "test-tuql",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "sqlite3": "^4.0.1",
    "tuql": "^1.5.0"
  },
  "resolutions": {
    "sqlite3": "4.0.1"
  }
}

I stell feel this issue makes it hard for windows users to use tuql though.
Plus I now have a different issue which may actually be caused by the fact that sqlite used is a too recent version.

Please let me know if you still have this issue with 1.7.0


Add more Map notes

The first thing I had done was allow for more than one map note to be processed. Secondly I utilized the tint and tile command code to allow the tint to be and for individual region lights to be set.

The diff appears to be messed up. Looks like the entire file has been replaced. You may need to add this to your local hooks for it to commit correctly.
This is a client side hook so all developers need to update their .git/hooks/pre-commit with what I have provided.
hooks/pre-commit-1.0.js

Developers can just rename to pre-commit (no extension) then copy and paste in .git/hooks/

When updates are needed the shared hook should be updated and the local .git hook can be found here and also be updated.
.git/hooks/pre-commit

This pre-commit should only effect the .json files but not sure why the .js would have an issue with your latest commit in the diff.

The hook is only for the /data folders of the demo. Wouldn't be useless to extend it to the script itself, so a single change of indentation don't make it looks like the whole script was changed. I will see what I can do tomorrow


fix linker error

Hi,
while trying to compile the firmware I ran into a linker error:
/usr/lib/gcc/arm-none-eabi/12.2.1/../../../arm-none-eabi/bin/ld: build/usbd_gs_can.o: in function `USBD_GS_CAN_DataOut':
/budgetcan_fw/Portable/board_budgetcan_g0/../../Core/Src/usbd_gs_can.c:554: undefined reference to `USBD_GS_CAN_PrepareReceive'
/usr/lib/gcc/arm-none-eabi/12.2.1/../../../arm-none-eabi/bin/ld: /budgetcan_fw/Portable/board_budgetcan_g0/../../Core/Src/usbd_gs_can.c:548: undefined reference to `USBD_GS_CAN_PrepareReceive'
/usr/lib/gcc/arm-none-eabi/12.2.1/../../../arm-none-eabi/bin/ld: build/usbd_gs_can.o: in function `USBD_GS_CAN_Start':
/budgetcan_fw/Portable/board_budgetcan_g0/../../Core/Src/usbd_gs_can.c:300: undefined reference to `USBD_GS_CAN_PrepareReceive'
collect2: error: ld returned 1 exit status
make: *** [Makefile:197: build/budgetcan_g0_fw.elf] Fout 1

This was caused by a missing reference in a header file. Adding the missing prototype fixed the issue for me.

The issue is actually due to the lack of a "static" classifier on the USBD_GS_CAN_PrepareReceive() function.  We shouldn't need to add the function to the header file as it has local scope.  I'll make a change in the .c file to fix this.


Rankings depend on OS

Hi,
I observe that the rankings obtained using XGBRanker are not the same whether I use Windows or Linux. (I use xgboost 1.3.3)
from xgboost import XGBRanker
import numpy as np
import pandas as pd

# Training set.
seed = 1
np.random.seed(seed)
input_df = pd.DataFrame({
    "feature_1": np.random.rand(1000),
    "feature_2": np.random.rand(1000)
})

# Target column has a simple relation with respect to the feature columns.
input_df["target"] = input_df["feature_1"] * input_df["feature_2"]

feature_columns = ["feature_1", "feature_2"]
target_columns = "target"

estimator = XGBRanker(
        base_score=0.5, booster="gbtree", colsample_bylevel=1.0,
        colsample_bynode=1.0, colsample_bytree=1.0, gamma=0.5, gpu_id=-1,
        importance_type='gain', interaction_constraints='',
        learning_rate=0.3, max_delta_step=1, max_depth=3,
        min_child_weight=5, missing=np.nan, monotone_constraints='()',
        n_estimators=50, n_jobs=1, num_parallel_tree=1,
        random_state=0, reg_alpha=0, reg_lambda=1.0,
        scale_pos_weight=None, subsample=1.0, tree_method="exact",
        validate_parameters=False, verbosity=0, nthread=1
)

X = input_df[feature_columns].copy()
y = input_df[target_columns].copy()
group = np.array([len(X)])

estimator.fit(X=X, y=y, group=group, sample_weight=None, base_margin=None,
              eval_set=None, sample_weight_eval_set=None,
              eval_group=None, eval_metric=None,
              early_stopping_rounds=None, verbose=False, xgb_model=None,
              feature_weights=None, callbacks=None)

print("Feature importance:", estimator.feature_importances_)

# Dataset for predictions.
np.random.seed(seed + 1)
to_predict_df = pd.DataFrame({
    "feature_1": np.random.rand(1000),
    "feature_2": np.random.rand(1000)
})
to_predict_df["result"] = estimator.predict(data=to_predict_df)

to_predict_df["answer"] = to_predict_df["feature_1"] * to_predict_df["feature_2"]
to_predict_df["answer_rank"] = to_predict_df["answer"].rank().astype(int)
to_predict_df["result_rank"] = to_predict_df["result"].rank().astype(int)
to_predict_df["rank_error"] = abs(to_predict_df["result_rank"] - to_predict_df["answer_rank"])

print("Mean rank error:", to_predict_df["rank_error"].sum() / len(to_predict_df))

Windows 10 output:
Feature importance: [0.47474855 0.5252515 ]
Mean rank error: 12.312

to_predict_df
	feature_1 	feature_2 	result 		answer 		 answer_rank result_rank rank_error
0 	0.435995 	0.621843 	1.746030 	0.271120 	669 		679 		10
1 	0.025926 	0.565579 	-4.864852 	0.014663 	71 		59 		12
2 	0.549662 	0.152671 	-1.752274 	0.083917 	317 		316 		1
3 	0.435322 	0.813437 	2.556569 	0.354107 	748 		753 		5
4 	0.420368 	0.983462 	3.193708 	0.413416 	799 		807 		8
... 	... 		... 		... 		... 		... 			... 			...
995 	0.598505 	0.339895 	0.660354 	0.203429 	572 		564 		8
996 	0.358920 	0.884508 	2.221937 	0.317468 	710 		717 		7
997 	0.680391 	0.940445 	5.266938 	0.639871 	930 		923 		7
998 	0.853200 	0.759583 	5.297351 	0.648076 	932 		928 		4
999 	0.792843 	0.236106 	0.339883 	0.187195 	545 		536 		9

Linux output (Amazon Linux AMI 2018.03, kernel 4.14.214-118.339.amzn1.x86_64):
Feature importance: [0.5133879  0.48661205]
Mean rank error: 12.831

to_predict_df
	feature_1 	feature_2 	result 		answer 		answer_rank 	result_rank  	rank_error
0 	0.435995 	0.621843 	1.481333 	0.271120 	669 		662 		7
1 	0.025926 	0.565579 	-4.684215 	0.014663 	71 		61 		10
2 	0.549662 	0.152671 	-1.649529 	0.083917 	317 		322 		5
3 	0.435322 	0.813437 	2.654828 	0.354107 	748 		759 		11
4 	0.420368 	0.983462 	3.061021 	0.413416 	799 		792 		7
... 	... 		... 		... 		... 		... 			... 			...
995 	0.598505 	0.339895 	0.751275 	0.203429 	572 		580 		8
996 	0.358920 	0.884508 	2.387831 	0.317468 	710 		729 		19
997 	0.680391 	0.940445 	5.248150 	0.639871 	930 		925 		5
998 	0.853200 	0.759583 	5.553242 	0.648076 	932 		939 		7
999 	0.792843 	0.236106 	0.337867 	0.187195 	545 		522 		23

My understanding is that nothing in this computation should involve randomness: Am I wrong?
Thanks,
Guillaume

Could you please confirm the generated data is the same, and share the difference between output?

I confirm the generated data is exactly the same.

There's many contributing factors to floating point difference, like different hardware, different compiler optimisations etc.   It's quite difficult to get portable result if possible at all.   I will look into it later to see if there's any human error on xgboost s side.  But I can't promise to get the exact result for 2 platforms.

I agree that it's not possible to get the exact same results, up to machine precision. Here however something doesn't seem quite right.
When I take the same code snippet as above but use XGBRegressor instead of XGBRanker (and remove any superfluous parameters), I get the same results (8th decimal place), that is the same feature importance and prediction results, on Windows and Linux.
My concern is: which implementation gives the "correct" results?
Again, thanks for you help!


Missing example of referencing secret from KeyVault

Hi.
Do You have any example of adding reference to KeyVault using CLI ?
M.

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

ID: bb3ec9f2-e5cd-d79e-ebd7-8d726f3d90df
Version Independent ID: 287f4d1d-00c5-1686-8aa4-e198ff196a05
Content: az appconfig kv
Content Source: latest/docs-ref-autogen/ext/appconfig/appconfig/kv.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Can be closed. Documentation updated with latest command for KeyVault secret referencing.


Add track-changes-reason audit attribute

This adds the track-changes-reasons as defined in this spec.

I don't under stand the failures at all

Codecov Report

Merging #400 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #400      +/-   ##
==========================================
+ Coverage   82.45%   82.51%   +0.06%
==========================================
  Files          23       23
  Lines        3265     3271       +6
  Branches      764      766       +2
==========================================
+ Hits         2692     2699       +7
  Misses        432      432
+ Partials      141      140       -1

Impacted Files
Coverage Δ

pyxform/constants.py
100% <100%> (ø)
:arrow_up:

pyxform/xls2json.py
78.41% <100%> (+0.16%)
:arrow_up:

pyxform/xform2json.py
79.87% <0%> (+0.2%)
:arrow_up:

Continue to review full report at Codecov.

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

For reference I did (from outside the repo dir):
pip install black
black --target-version=py27 pyxform

I'm using Python 3.7.4 and black 19.10b0.

@ukanga @lognaturel fixed this by using the same version of black that's in requirements.pip. I'll add a couple fo commits to the docs around this.

I extra approve these. No comments and there's nothing controversial in here so let's merge so we can focus on the trickier open PRs.