Income from Mission Table (SL) missing, or I'm too blind to find it

Most of my toons are still doing the SL Mission Table, even more so now in the end phase of DF. The price of Augment Runes is down, but Pet Charms are worthy as always, and also those Gold missions that now return a max of 25 gold or so are possibly still worth doing if you have Anima en masse.
I wanted to use Journalator to check how much I actually get per day/week from these Gold missions, but I can't find this income anywhere.
If I'm not blind as usual and it really isn't there, then please just log it under Loot or Quests, no need to create a separate category. Well, or make a "Miscellaneous" category and put it there along with any future uncategorized income.

Tracking this is difficult due to the necessity of waiting for/finding a mission with a reward worth tracking to determine the events that give the rewards.

The reason for my "or I'm too blind to find it" disclaimer was that I thought I remembered... but actually it was the Accountant Classic addon that tracks gold from missions:

Screenshot
Screenshot of Wow at Mar 2, 2024 at 19_02_13-fs8.png

I haven't yet checked what they are doing, and usually Accountant Classic is pretty flawed compared to Journalator, but it seems to work.

Yeah. I wanted to have per-mission records of the gold/items but that was tricky the last time I looked.

per-mission records of the gold/items

It's not a problem with the mission items, because the gold is recorded the moment I sell them to the vendor (gear items) or on the AH (Augment Runes). It's just the direct gold income from the gold missions that completely slips through.

Journalator-1.79-1-g0df3f76.zip
Try this build (backup your Journalator saved variables first) it should add the mission gold to the summary tab

I've got missions pending to test it myself, but you might have some sooner

Got this error:
5x Journalator/Source/AddToLogs.lua:6: bad argument #1 to 'insert' (table expected, got nil)
[string "=[C]"]: in function `insert'
[string "@Journalator/Source/AddToLogs.lua"]:6: in function `AddToLogs'
[string "@Journalator/Source/Monitor/MissionTables.lua"]:35: in function <Journalator/Source/Monitor/MissionTables.lua:10>

Locals:
(*temporary) = nil
(*temporary) = <table> {
 source = <table> {
 }
 tableType = 4
 missionID = 2189
 missionName = "Gormling Nibblers"
 money = 375
 time =<PHONE_NUMBER>
 itemID = 0
 itemCount = 0
}
(*temporary) = "table expected, got nil"

This should fix that particular bug
Journalator-1.79-1-g760a610.zip

Summary is empty now, with this error:

GetProfit.lua:302: attempt to perform arithmetic on field 'moneyIn' (a nil value)
18x ...faceJournalator_Display/Source/GetProfit.lua:302: attempt to perform arithmetic on field 'moneyIn' (a nil value)
[string "@Journalator_Display/Source/GetProfit.lua"]:302: in function `GetInOut'
[string "@Journalator_Display/Source/DataProviders/SummaryByType.lua"]:31: in function `Refresh'
[string "@Journalator_Display/Source/DataProviders/Display.lua"]:72: in function `callback'
[string "@Journalator/Source/Archiving/LoadUpTo.lua"]:19: in function <...aceJournalator/Source/Archiving/LoadUpTo.lua:5>

Locals:
startTime =<PHONE_NUMBER>
endTime =<PHONE_NUMBER>
filter = <function> defined @Journalator_Display/Source/DataProviders/SummaryByType.lua:31
result = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
 6 = <table> {
 }
 7 = <table> {
 }
 8 = <table> {
 }
 9 = <table> {
 }
 10 = <table> {
 }
 11 = <table> {
 }
}
Add = <function> defined @Journalator_Display/Source/GetProfit.lua:6
incoming = 0
outgoing = 0
missions = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
}
(for control) = 1
_ = 1
item = <table> {
 source = <table> {
 }
 tableType = 4
 missionID = 2272
 missionName = "Memory Error"
 money = 0
 time =<PHONE_NUMBER>
 itemID = 177699
 itemCount = 1
}
filterItem = <table> {
 itemName = "Memory Error"
 time =<PHONE_NUMBER>
 source = <table> {
 }
}
(*temporary) = nil
(*temporary) = Frame {
 0 = <userdata>
 CheckFiltersChanged = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:58
 CharacterDropDown = Button {
 }
 GetFilters = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:156
 GetSearch = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:127
 filters = <table> {
 }
 UpdateMinTime = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:167
 OnShow = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:39
 OnLoad = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:3
 TimePeriodDropDown = Frame {
 }
 earliestRangeTime =<PHONE_NUMBER>
 GetTimeForRange = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:80
 SearchFilter = EditBox {
 }
 pending = false
 FactionDropDown = Frame {
 }
 Filter = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:89
 UpdateRealmsAndCharacters = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:48
 ReceiveEvent = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:73
 RealmDropDown = Button {
 }
 OnUpdate = <function> defined @Journalator_Display/Source/Display/FiltersContainer.lua:43
}
(*temporary) = <table> {
 itemName = "Memory Error"
 time =<PHONE_NUMBER>
 source = <table> {
 }
}
(*temporary) = true
(*temporary) = "attempt to perform arithmetic on field 'moneyIn' (a nil value)"

Find this in the latest alpha

Yes, it works for me too now. Though I think you should disable the left click script of the Mission Tables entry, as it brings up an empty frame (JNRView with only JNRViewBg, no listing).
Thank you!

Result since my last post:

(With 13 fully-developed mission tables.)
Well, nothing compared to the 150K+ per week in SL times, but still worth being tracked in Journalator, I think 😄

Yeah. Thanks for the feedback. I'll add a Mission Tables tab at some point with indicators as to which mission and table provided the gold (the data is stored, the UI is just missing).

which mission

Hmm, pretty irrelevant, I would say, since all the gold missions give roughly the same (23–25 gold). Before the reward nerf, it was different, IIRC.

which […] table

Slightly more interesting, but the outcome is predictable (Revendreth tables will be the worst, Night Fae and Maldraxxus the best).
So I would save those database (kilo)bytes for for more interesting stuff 😉

Well its only 2 numbers, and who knows Blizzard might add good mission tables in the future :P
I won't prioritise adding the UI though, but it'll happen at some point.

Yeah, I would love to see mission tables again in future expansions (instead of increasing the gold income from quests/WQs, which seems to be their plan), because missions are something you can always do even in times when you don't have much time to play.


chore(package.json): update packages

@FeliciousX, any idea why the test might be failing on CI? Could you look into that?
Thanks for updating these, I should really set up greenkeeper.

I identified the error to be from v6.0.0
@Widdershin
but I'm not sure how to fix it yet. Will check it out in more detail

hmm I don't know how to fix it. It seems like when the stream ends, suddenly the whole thing just breaks before it can finish the test.
Just like what what v6.0.0 of xstream is saying, the behavior have changed.
I tried and failed :( @Widdershin maybe some fresh eyes would help

I had a little look but couldn't see what the issue is. @Hypnosphi is more familiar with the gather code than I am. Do you have any thoughts @Hypnosphi?

OK, I'll try to debug it

Is it just me, or this thing doesn't reproduce locally?

looks like the problem was that addReducer$ completed synchronously, before than removeReducer$ even started

thank you @Hypnosphi  <3

thank you @Hypnosphi  <3


Fix reponse -> response

What type of PR is this?
/kind content
Any specific area of the project related to this PR?
/area blog
What this PR does / why we need it:
Fixes file name and slug.
Signed-off-by: Gaurav Gahlot<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: gauravgahlot
To complete the pull request process, please assign radhikapc after the PR has been reviewed.
You can assign the PR to them by writing /assign @radhikapc in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/assign

@Issif @leogr Could you please take a look at this?

/cc @Issif @leogr

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gauravgahlot, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 8c27952ea0eba8b1922429498d2e85e6bb800b16


Add support for configurable prefix

the current prefix is !prefix as a POC, we should look into changing this to a config option  with a sensible default.

You mean adding the ability to change prefix or choosing one and building on it ?

The prefix is currently hard coded as the commands (IE: !eightball)
This will change where there will be 1 global prefix, lets say: !prefix which should be able to be changed via the get-config information (so its set from an environment variable), and all other commands will be given after. So the format will become:
!prefix eightball

Worked on this.

@bradtaniguchi I think the command !prefix eightball is kinda big, especially on mobile. We should try to keep the command small and quickly accessible.
I propose shortening the prefix to only !. So the whole command would be something like, !eightball

I propose shortening the prefix to only !. So the whole command would be something like, !eightball

Changing the prefix to a single character will mean supporting  formats like: FCC eightball, as the space between the "prefix" and the command is harder to define thru the config/environment settings, but not impossible, just annoying.
However, it does seem like there is a precedent (from the mee6 bot) to use a single character rather then a full on prefix.


Add param to pass the type from PHP into Vue component

If other than default type is desired to be changed in files/medias form fields the type parameter must be passed into component blade.

Hi @IonAgorria, thank you so much for contributing to Twill!
Is this related to #277? Is the idea being able to implement custom tabs in the media library that work with our medias and files form fields?

See https://github.com/area17/twill/pull/277#issuecomment-523464051


Caps/Numlock/other notification on tray

Description of the new feature / enhancement
An icon on the tray that visually indicates when the Caps or Numlock is on.
Scenario when this would be used?
It would be useful for keyboards/laptops and other devices that do not have an indicator to show if the caps or numlock is on.
Useful for password typing.
Having an indicator on the screen helps to keep the focus on the screen and off the keyboard when working.
Supporting information
No response

/dup #24364


Don't auto-build dotfiles in inferred folders

Whenever Cargo infers various targets for a project it currently picks up all
files in associated folders, but dotfiles are a common example of files which
editors generate which Cargo should not pick up, so this commit ignores all
dotfiles in the folders that it is looking at.
Closes #1615

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

r? @brson

@bors r+

:pushpin: Commit 1727409 has been approved by brson

:hourglass: Testing commit 1727409 with merge 6962728...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


KAFKA-5168: Cleanup delayed produce purgatory during partition emmigration

remove operations from the replica manager's producer purgatory on transaction emmigration

retest this please

@guozhangwang @junrao


[Windows] Support Windows friendly tempfile access

Description
Windows does not support multiple file access on the same file. Thus after creating the file, Windows will expect the content to be flushed into the file and exit the file object context. Only then the subsequent operation can open the file.
This addressed the issue https://github.com/Unstructured-IO/unstructured-inference/issues/303

hello, is there anybody in charge of this review?
this one is pretty urgent, please kindly give your help~~

CC @scanny

This is fixed by #376.
Thanks for reporting @tjtanaa :)


Add Reeshusingh001,s file

hi this is my first slide of github

git fetch origin
git checkout -b my-pics-slide origin/my-pics-slide
git merge main


Pending workloads not updated in ClusterQueue status at creation

What happened:
When workloads are created, we are not updating the corresponding CQ status.
What you expected to happen:
The status to be up to date
How to reproduce it (as minimally and precisely as possible):
Repro: https://github.com/alculquicondor/kueue/commit/1ae8618cb687956bcc6fc361ea839490164faa29
Anything else we need to know?:
This is because we are only queueing the clusterqueue for admitted workloads in assignedWorkloadHandler https://github.com/kubernetes-sigs/kueue/blob/27b05145f94ac528ff92790efc70d62d8c9feafc/pkg/controller/core/clusterqueue_controller.go#L145
Environment:

Kueue version (use git describe --tags --dirty --always): main

/assign


docs: remove mochapack webpack 5 support

Mochapack supports webpack 5 nowadays, just updating the readme to reflect that.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Try using the edit workflow

https://beta.openai.com/docs/guides/code/editing-code
https://beta.openai.com/docs/api-reference/edits

There is a playground to try it in
https://beta.openai.com/playground/p/default-english-to-python?mode=edit&model=text-davinci-edit-001


Create statefulset reconcile errors counter

We should probably create some alerts for these two counters. But I just quickly added those two.
What do you think?
Closes #1097

Oh. I didn't hear about that discussion yet. I have removed Namespace and Subsystem.

lgtm, thanks! As a side note, I think it would be good if we extracted the prometheus metrics into two endpoints 1 for prometheus-operator internal metrics and 1 for prometheus/alertmanager object metrics.


Kindle Docs on iPad mini, No Doc Titles, only shows "Reabble"

After sending a news article to Kindle (sending specifically to my iPad mini) the item shows up in the Kindle Docs section but has no unique title, rather, each article sent to Kindle is identified only as "Reabble" so if you have a long list of items, can't tell which article you are about to read. Other push to Kindle apps identify each document uniquely with the article title so docs become easy to discern from each other.

If you are sending multiple articles at once, the title is Reabble - [date].
If you are sending one article (Menu item in the menu at the top right of the article reading view), the  kindle doc title is same as article title.


Improve DevCGlobalDirectory.md

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Considering we have Developer Circles in more than 150+ cities, it will be a little frustrating to scroll down all the regions and cities for finding one particular city in the list
Describe the solution you'd like
A clear and concise description of what you want to happen.
Summarizing the Developer Circles Regions so that user can click on region and then look for the particular city
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I would like to contribute in this issue.


Add input validation to remaining UCI app configuration parameters

Type

[x] Bug fix
[x] Feature addition
[x] Feature update
[ ] Breaking change
[ ] Non-functional change
[ ] Documentation
[ ] Infrastructure

Goals
This PR adds input validation to the remaining UCI app config parameters in nocli. Some bug fixes and minor improvements are also included.
Technical Details

Added missing fields to PrfMode and RangeDataNotificationConfiguration in FiraDevice.hxx.
Updated AddEnumOption to display "RFrameConfiguration" instead of "StsPacketConfiguration".
Added a function to do simple validation of all enum parameters.
Added a function to do validation of all non-enum parameters and moved existing validation logic into it.
Updated ProcessApplicationConfigurationParameters to handle all unsigned integers, not just uint8_t.
Changed appConfigParamsData variable to applicationConfigurationParametersData.

Test Results
Tested a few parameters of various types with invalid values - verified std::cerr output in nocli. Did not test every parameter.
Reviewer Focus
There is a lot, partially due to the variable name change occurring in many places. The main focus should be on the two new validation functions.
Also, I don't like the name I gave to the new PrfMode parameter (HprfSpecialDataRate), but not sure what else to call it. It seems best to be more specific, but HprfWithDataRate27_2And31_2Mbps just doesn't seem right...
Future Work
There are a lot of magic numbers that need to be changed. These are based on the UCI spec, so putting these in FiraDevice.hxx makes sense to me.
Right now, if a parameter is invalid, I just output a message to std::cerr. This is fine, but it might make more sense to either not send the invalid parameter and send all of the valid ones, or not send any parameters at all if one or more are invalid.
Checklist

[x] Build target all compiles cleanly.
[x] clang-format and clang-tidy deltas produced no new output.
[x] Newly added functions include doxygen-style comment block.

Also, I don't like the name I gave to the new PrfMode parameter (HprfSpecialDataRate), but not sure what else to call it. It seems best to be more specific, but HprfWithDataRate27_2And31_2Mbps just doesn't seem right...

We have a "detailed" enum that includes the rates in the field names. See the comment in the review for more details.

Future Work
There are a lot of magic numbers that need to be changed. These are based on the UCI spec, so putting these in FiraDevice.hxx makes sense to me.

Putting them in FiraDevice.hxx as namespace constexpr variables with descriptive names would be great 👍

Also, I don't like the name I gave to the new PrfMode parameter (HprfSpecialDataRate), but not sure what else to call it. It seems best to be more specific, but HprfWithDataRate27_2And31_2Mbps just doesn't seem right...

We have a "detailed" enum that includes the rates in the field names. See the comment in the review for more details.

Future Work
There are a lot of magic numbers that need to be changed. These are based on the UCI spec, so putting these in FiraDevice.hxx makes sense to me.

Putting them in FiraDevice.hxx as namespace constexpr variables with descriptive names would be great 👍

Sounds good, I will do this in a separate PR since this one is getting long


Missing token in config for integrationTest

When deploy contracts, it will not deploy token contract for several network.
function shouldDeployToken(network) {
    return !network.toLowerCase().includes('mainnet') &&
        !network.toLowerCase().includes('kovan') &&
        !network.toLowerCase().includes('testnet');
}

[2020-09-13T00:45:46.933] [INFO] test - Starting transfer from Sidechain to Mainchain
[2020-09-13T00:45:46.935] [INFO] test - ------------- SENDING THE TOKENS -----------------
[2020-09-13T00:45:46.935] [DEBUG] test - Getting address from pk
[2020-09-13T00:45:46.991] [INFO] test - Transaction Successful txHash:0x874442bdcfab810a33be8d72d640ff6a5f51ba4ade98423a4708fa99817b7aad blockNumber:98
[2020-09-13T00:45:47.034] [INFO] test - Transaction Successful txHash:0x697d40979ea44cbb1bb4c985fcbc649e6bca20dfe3cd56a8db46b84d0e2c38aa blockNumber:168
[2020-09-13T00:45:47.034] [INFO] test - SIDE token addres null - User Address: 0x9e6aa92dbb1b316981758b900da8112a11389c6f
[2020-09-13T00:45:47.039] [DEBUG] test - Initial user balance<PHONE_NUMBER>000000000
[2020-09-13T00:45:47.039] [DEBUG] test - Aproving token transfer
[2020-09-13T00:45:47.079] [ERROR] test - Send Signed Transaction Failed TxHash:undefined Error: Returned error: VM Exception while processing transaction: invalid opcode

The mentioned Token is an ERC20 token made just for testing purposes, there is no point to use it on testnet or mainnet, as you should use the actual tokens you want to cross on that networks

The mentioned Token is an ERC20 token made just for testing purposes, there is no point to use it on testnet or mainnet, as you should use the actual tokens you want to cross on that networks

Yes, you are right.  I met this issue only with integration test. With main net, the token should be the one chosen.


Add link to talk in claim confirmation email

I just received a talk claim confirmation email, and I noticed that no link to the talk was in it... Maybe we should add it?

Sounds like could be a good idea, wanna submit a PR for it?

I don't have the spare time to do it now, sorry...


Add Microwave translations and update some Dutch ones

I noticed the Cooking.Oven.Program.Microwave.* strings were missing after buying a new oven. Additionally, the Dutch translations were a bit off and not in line with the Home Connect app, so I updated them.

@golles Thanks for checking! I copied the program names from the Home Connect app. Apparently, the oven itself uses different names. I just checked my oven, and the program names seem to mostly correspond with what you're suggesting. Only "Servies voorverwarmen" is called "Vorm voorverwarmen" on my oven, but I guess any one of these is fine.
I'll update my PR soon with the changes you've suggested.

I also just found out that the oven has individual programs for "Gerechten" (dishes). Each individual choice has it's own translation string like Cooking.Oven.Program.Dish.Recommendation.Conv.SimpleSpongeCake. But I won't add all of those, there must be hundreds of them 😅

@golles Thanks for checking! I copied the program names from the Home Connect app. Apparently, the oven itself uses different names. I just checked my oven, and the program names seem to mostly correspond with what you're suggesting. Only "Servies voorverwarmen" is called "Vorm voorverwarmen" on my oven, and "Boven- en onderwarmte eco" is called "Milde boven- en onderwarmte" but I guess any one of these is fine.
I'll update my PR soon with the changes you've suggested.

Oh yes indeed, my oven calles it also "Vorm voorverwarmen", what I said earlier was from the manual.
👍

@ekutner Any chance you could merge this PR soon? If there's any feedback or anything I can do to help speed up the review, please let me know 🙂

@ekutner Done!


HTML attribute completion broken if element has content

VS 17.12.0 P1
https://github.com/user-attachments/assets/43a62d72-f31c-4b52-9578-3b6c53694fe6
<button$$>Test</button>

@davidwengier @phil-allen-msft I don't think we've changed code generation around this recently so it's probably not compiler. Will let you folks take a first look and tag us in if you think it's something we broke :)


[BUG] 'Unable to set pipeline to playing state ', 'file:///workspace/ambianic-edge/tests/pipeline/avsource/test2-cam-person1.mkv'

Describe the bug
When using a docker image of the ambianic-edge in development mode, an exception is thrown when the PWA attempts to connects with the edge-device.
The log from the handled exception reads:
WARNING /workspace/src/ambianic/pipeline/avsource/gst_process.py.run(396): GST loop exited with error: ('Unable to set pipeline to playing state ', 'file:///workspace/ambianic-edge/tests/pipeline/avsource/test2-cam-person1.mkv').

This further causes the peer connection to throw an exception that reads;
 AttributeError: module 'dns.message' has no attribute 'QueryMessage'

To Reproduce
Steps to reproduce the behavior:

Clone the edge-device repository
Run the ./ambianic.start.sh script pull the edge docker image and run the application
Start a peer connection using the python peerjs package by running python3 -m peerjs.ext.http_proxy

Expected behavior
A connection with the ambianic-edge docker image should be successfully established with the PWA .
Host environment (please complete the following information):

Hardware: Manjaroo
Docker version: Docker version 20.10.8, build 3967b7d28
Python version: Python 3.9.6

Cc: @ivelin

Troubleshooting this further, the exception seems to be from the pre-recorded video that is displayed automatically when the PWA connects to the edge device without the edge device video feeds being set.

Try the gitpod environment that I documented. It's possible that your local
environment has dependencies that are out of sync. Hard to debug. Let's all
use the same dev environment to be more productive.
https://docs.ambianic.ai/developers/e2e-manual-testing/
On Tue, Sep 14, 2021 at 10:04 AM Nwani Victory @.***>
wrote:

Troubleshooting this further, the exception seems to be from the
pre-recorded video that is displayed automatically when the PWA connects to
the edge device without the edge device video feeds being set.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ambianic/ambianic-edge/issues/381#issuecomment-919239199,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARBUFJZVJJN4RQULSCWHELUB5QAZANCNFSM5EALSSSQ
.

Did you try fixing the path ot the video file or running in gitpod?

Did you try fixing the path ot the video file or running in gitpod?

I couldnt get the PWA to connect with Gitpod, so I can't say if this issue persists with Gitpod.
The video path is not broken, the video exists.

My temporary workaround was to revert back to an old git commit hash when Flask was being used. This issue does not persist there.


Constraint sugar

For PLDI, it might be worth having a few forms of syntactic sugar over constraints.
Some off the top of my head:

constraint A(x) * A(x) -> P(x) desugars to constraint A(x) * A(y) -> x == y => P(x)
constraint exclusive A(x), B(y), C(z) … ; desugars to constraint A(x) * B(y) -> false; constraint A(x) * C(z) -> false; constraint B(y) * C(z) -> false;…
constraint disjoint A(x), B(y), C(z); desugars to constraint A(x) * B(y) -> x != y; constraint A(x) * C(z) -> x != z; constraint B(y) * C(z) -> y != z;… (if the funcs have multiple variables they're pairwise checked and the checks OR-ed; probably an error if the funcs are of different rarities)

I can do this. Do we want to add it at the AST stage? Or do we need it
further down the pipeline?
On Friday, 28 October 2016, Matt Windsor<EMAIL_ADDRESS>wrote:

For PLDI, it might be worth having a few forms of syntactic sugar over
constraints.
Some off the top of my head:

constraint A(x) * A(x) -> P(x) desugars to constraint A(x) * A(y) ->
x == y => P(x)
constraint exclusive A(x), B(y), C(z) … ; desugars to constraint
A(x) * B(y) -> false; constraint A(x) * C(z) -> false; constraint B(y) *
C(z) -> false;…
constraint disjoint A(x), B(y), C(z); desugars to constraint A(x) *
B(y) -> x != y; constraint A(x) * C(z) -> x != z; constraint B(y) * C(z) ->
y != z;… (if the funcs have multiple variables they're pairwise
checked and the checks OR-ed; probably an error if the funcs are of
different rarities)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/septract/starling-tool/issues/75, or mute the thread
https://github.com/notifications/unsubscribe-auth/AANd9hEv8XWxOJEmJXbalQnwXRlGJYNSks5q4jD7gaJpZM4KjrCi
.

--
http://www-users.cs.york.ac.uk/~miked/

I would probably just add it as a syntactic desugar between the AST and the Modeller stage, similar to how ViewDesugar works (though ViewDesugar is fairly messily hacked into the modeller instead of being a separate stage).

re constraint A(x) * A(x) -> P(x), do we want a keyword for this pattern? Otherwise this might be a tricky one to desugar because there's not an easy syntactic test for when it holds: might be easier to interpret it in the reification function.

@septract hmm, it's a huge rabbit hole to go down but eventually it might be nice to have constraints pattern-match, so you'd be able to write
constraint A(1) * A(2) -> P
as shorthand for
constraint A(x) * A(y) -> x == 1 && y == 2 => P
but that'd require too much upheaval for now (it'd also kinda need Starling to AND-conjoin any constraints matching on the same func names to be useful).
Maybe something like constraint match or constraint pattern might be the way to go?  This might be a bit baroque though.

Also, just to jot down what I was thinking earlier: it might be useful to do desugarings on the order of turning one ScriptItem into another ScriptItem at the Collator stage: currently things like int x, y, z; and view A(x), B(y), C(z); (in pldi-experimental) are desugared into int x; int y; int z; and view A(x); view B(y); view C(z); are desugared there.

disjoint and exclusive introduced in PR #78


Greek translation

Hi,
here is the Greek translation for vue-cal.
As it uses Genitive form for the full date format, I also added in date-utils.
It could be used by some other languages too.
Feel free to change the format template "mmmmG" if you prefer another one. :)

Thanks for your contribution @BobSynfig!
Mmm, I understand this genitive form, that's annoying Greek language has this!
Well we want to make it work for this language too, so not much choice and you found a way around it. 👌
Before I release it, do you think I should add the translations for am/pm?
I've seen μ.μ./π.μ., Is this also a valid format in Greek?
Thanks!

Yes, you could add it too :)
We use both notations (12 & 24) but the official one is π.μ./μ.μ.
But be careful :
('am', 'pm') -> ('π.μ.', 'μ.μ.')
https://el.wikipedia.org/wiki/Ώρα
Thanks to you :)

All good, it's now published in version 2.11.1!

Thanks a lot!


[DPE-5386] Add microceph (local backup) integration test + bump snap version

Issue
pgbackrest version 2.48 had the following issue: https://github.com/pgbackrest/pgbackrest/issues/1977 which affected the way we set up TLS certificates, specifically for local IPs, which made local backups (like with microceph for example) to only work with a specific workaround.
Solution

Bump pgbackrest version to 2.53,
Add microceph backup integration test and verify the issue:

https://github.com/canonical/postgresql-operator/pull/633/commits/4a08f6bcd8b8c0bef2eeb3a1b38c0aaa08a05b8e: test pass due to the workaround of adding DNS:{host_ip} to extfile.cnf
https://github.com/canonical/postgresql-operator/pull/633/commits/edeed29ac27eab885a8b4be1936b2257df77160e: After removing the workaround, test start failing,
https://github.com/canonical/postgresql-operator/pull/633/commits/566e08a8bad67e0ba6e8b3ade9f3ba2b0b8a6cad: Using new snap version, test passes again.

New snap version is released and included in the PR (+ review suggestions)


Not setting upgrade header correctly results in client request timeout

Hi there,
Just ran into this hairy issue that took me a while to narrow down while using tinyws in Kitten with Polka:
https://codeberg.org/kitten/app/issues/113
Basically, the WebSocket routes on my https server were timing out after 120 seconds (the default timeout for Node https servers) with a 1006 error. The upgrade was happening correctly and the socket was otherwise fine. If I listened to the clientError event on the server, I could work around the issue and prevent the socket from closing but I wanted to get to the bottom of it and fix it properly (of course).
The problem is that it doesn’t seem to happen in a very basic reproduction attempt using tinyws or even tinyws + polka.
However, through lots of trial an error, I was able to narrow down the issue to how tinyws is setting the upgrade header.
TL;DR: Setting Buffer.alloc(0) instead of actually using a copy of the header that it receives. Mostly because, since it doesn’t handle the upgrade event itself, it doesn’t have access to the actual header.
So I’m not sure if you can fix this without essentially transforming tinyws into express-websocket but I thought I’d open an issue and document it here too.
My initial implementation is a mix of tinyws and express-websocket. Please feel free to copy/adapt it if you like:
https://codeberg.org/kitten/app/src/branch/main/src/Server.js#L50

Thanks for the bug report, I looked at your implementation and I don't mind it being adapted - it's a serious issue.
PR with the improved implementation is welcome :D

Thanks for the help @aral
I went and built a function to do this on a Tiny http server here:
import * as http from "node:http";
import type { Socket } from "node:net";

import type { App, Request, Response } from "@tinyhttp/app";
import type { WebSocket } from "ws";
import { WebSocketServer } from "ws";

export interface TinyWSRequest extends http.IncomingMessage {
  ws: () => Promise<WebSocket>;
}

export const setupTinyWS = <
  Req extends Request & TinyWSRequest,
  Res extends Response,
>(
  tiny: App<Req, Res>,
  server: http.Server,
) => {
  const wss = new WebSocketServer({ noServer: true });

  const upgradeHandler = (
    request: http.IncomingMessage,
    socket: Socket,
    head: Buffer,
  ) => {
    const response = new http.ServerResponse(request);
    response.assignSocket(socket);

    // Avoid hanging onto upgradeHead as this will keep the entire
    // slab buffer used by node alive.
    const copyOfHead = Buffer.alloc(head.length);
    head.copy(copyOfHead);

    response.on("finish", function () {
      if (response.socket !== null) {
        response.socket.destroy();
      }
    });

    /**
      Mix in WebSocket to request object.

      @typedef {{ ws: function }} WebSocketMixin
      @typedef { http.IncomingMessage & WebSocketMixin } IncomingMessageWithWebSocket
    */
    (request as TinyWSRequest).ws = () =>
      new Promise((resolve) => {
        wss.handleUpgrade(request, request.socket, copyOfHead, (ws) => {
          wss.emit("connection", ws, request);
          resolve(ws);
        });
      });

    tiny.handler(request as Req, response as Res);
  };

  server.on("upgrade", upgradeHandler);
};

Not as elegant as it's no longer directly a middleware, but at least we can still use TinyHTTP.

Thanks so much for this.
With a couple tweaks I was able to get this working with Express:
tiny: App<Req, Res> -> app: Express
tiny.handler(request as Req, response as Res) -> app(request as Req, response as Res);

I don't mind if it stops being a middleware as long as it does the job. so PR with a proper implementation is welcome (and don't forget to add tests)


Documentation cleanup

@roymarantz @defect @michaeljs1990 Big documentation cleanup.  Clarifies what is native to Collins and what is to be implemented by your own automation.
Hoping to make the docs more readable and useful to people new to the collins ecosystem.

Niceeee, only thing I feel like we might want to provide more guidance around is collins-cli vs collins_shell. i.e. I pretty much always use collins-cli except when I am trying to find some obscure fact from a machine or want to see a full print out of an assets available keys/values.

@michaeljs1990 totally. Ive updated docs to discuss a bit more about that division, and included a section on creating and maintaining your collins configs with collins dc.

@roymarantz updated!

@roymarantz im going to land this today, so it can unblock the rest of the doc changes coming down the pipe! cc @defect


should create mgr on cep-admin node

from up ceph version 12 to now, manager is needed. So you should create a mgr for every mon node
or else  the ceph status will HEATH_WARN . after create mgr for mon
ceph-deploy mgr create ceph-admin:mon_mgr
ceph status will be HEALTH

I found this as well: it's a perfect blocker to anyone who isn't already experienced with ceph. In my case I just went looking for a PR with the fix (;-))


Add plain 'Python 3' classifier to setup.py

Looks like the semantics of 'Python 3' and 'Python 3 :: Only' are different, since the classifiers are used as search filters.

Fixed in 6e4655920


Start babel plugin

Although @jgranstrom other project, sass-extract-loader does great job as intended it may not always fit all needs.
My case:
I'm managing a bunch of internal company projects that use webpack but under that there's a layer of webpack-less configuration logic which have no access to webpack loaders. All those projects use tleunen/babel-plugin-module-resolver to resolve module aliases. I decided to configure it like that to allow fast parsing without a necessity for starting the entire webpack machinery which - for this use case - is too heavy and totally unnecessary.
Sadly: importing scss files that way is not possible because it's (at least for now) a webpack thing.
I had to move importing scss files using sass-extract-loader to a file that is not accessed using the pipeline I mentioned (which, in turn, is against designed architecture).
For a use case like mine it would be great to have a babel plugin which would do just the same as webpack loader does, yet outside of webpack.
I'm thinking about starting a babel-plugin-sass-extract (or something named in a similar way), or I'm willing to participate in a project of such scope

Thank you for the feedback. I definitely think a babel plugin can be useful in some cases.
There is a bunch of different ways this can be done. It might not be suitable to generate the variable objects in place where they are imported as if the sass files are imported multiple times that would cause a lot of duplication in the compiled code. A better approach might be to generate javascript files next to the the sass file like styles.scss -> styles.scss.vars.js and rewrite the import statements to that path. This way bundlers like webpack can manage how these are packaged into a bundle in a later stage.
I might look into this over the weekend, you are very welcome to join in. babel-plugin-css-modules-transform can be a good reference for a starting point.

I have put up a working prototype here which is also available on npm. Please continue the discussion in that repo.


Add musl to python bootstrapping script

Previously, only glibc builds were tracked in the bootstrap script. A new field libc tracks if gnu or musl are used on linux, while it is "none" everywhere else. I've confirmed that the updated script works on ubuntu and alpine.

Yes this works on my machine.

Zanie tested on mac, i tested on ubuntu and windows


ES6-ify code base and switch style.

I know this is opinionated but those extra spaces were so annoying to me. :/
Anyway, feel free to tweak the rules; I went with what the config I'm using myself.
Requires #125 merged!
See the non-whitespace diff https://github.com/jzaefferer/grunt-html/pull/126/files?utf8=✓&diff=unified&w=1
TODO:

[x] Merge #126 to master before this
[ ] Remove space from chunkify for the last item
[ ] Enable ESLint's consistent return rule

Like I said, use the non-whitespace diff. I had no time to split this unfortunately.

@nschonni: I'm gonna merge this for now, and if we notice any issues with the new style we can fix them later.


[bug]: tailwindcss-animate should be installed in devDependencies

Describe the bug
tailwindcss-animate should be installed in devDependencies
Affected component/components
no
How to reproduce
pnpx shadcn@latest init
Codesandbox/StackBlitz link
No response
Logs
No response
System Info
macOS 15.0, pnpm 9.12.0

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

Indeed, just noticed this on a new project.
The docs for tailwindcss-animate installation also instruct npm install -D tailwindcss-animate.


Not always visible Test Connection validation

Preconditions:

smartphone 5'
tablet 9,7'

Go to: /admin/settings/mail
Results:
Test connection validation is displayed at the bottom of the page and and if the user has a page set higher, it is not visible.

@mountstone Can we use standard system notification for this feature, instead of html alert?

@tehaiks no

verified as fixed.


Revert "treewide: update darwin sdk hashes"

Reverts NixOS/nixpkgs#210449

Superseded by #216094.


Convert case with passthrough errors to with in Bandit.HTTP1.Adapter

🏌 As discussed https://github.com/mtrudel/bandit/pull/42#discussion_r1019619895

Nice! Thanks for the PR!


Adapt data dictionary and data table upload/store functionality for refactor on Index page

Code for the data dictionary found in index.js and index.vue now needs to be connected for the initial refactor work and to align with how the data table is set loaded – specifically that the data table must be uploaded first before data dictionary upload is allowed.
Store

[ ] processDataDictionary action now calls mutation setDataDictionary with an object as payload containing the new data dictionary and the current data table's column names

Index.vue

[ ] processDataTable and processDataDictionary actions are now called directly after a file-selector component emits that a file has been selected
[ ] The file selector component for the data dictionary is now disabled until a data table has been chosen (new file-selector prop enabled is tied to the length of the data table in the store. See dataTableSelected computed value.)

file-selector.vue

[ ] Ability to be disabled by parent (This stems from the need for a data dictionary not to be uploaded before a data table is first uploaded on the index page.) New CSS class disabled-file-selector-button has been added for this purpose and is swapped out via the new labelClass computed value.

Store

processDataDictionary action now calls mutation setDataDictionary with an object as payload containing the new data dictionary and the current data table's column names

Index.vue

processDataTable and processDataDictionary actions are now called directly after a file-selector component emits that a file has been selected

The file selector component for the data dictionary is now disabled until a data table has been chosen (new file-selector prop enabled is tied to the length of the data table in the store. See dataTableSelected computed value.)

@jarmoza: I think all of these are already addressed in previous PRs. I believe the only new functionality here is disallowing a data-Dictionary upload before a dataTable has been uploaded. I think we should change the issue title and description to focus on the new functionality

Closed by #329


npm start dev doesn't create the server

Hi!
I wanted to try this, so I ran
git clone https://github.com/cesarandreu/web-app.git
cd web-app
npm install
npm run dev

It compiles fine, but the http://localhost:8000/ URL doesn't work. Chrome says ERR_CONNECTION_REFUSED.
The strange part is that there's no errors...
npm run dev

><EMAIL_ADDRESS>dev /home/cpallares/Sandbox/web-app
> webpack-dev-server --history-api-fallback --hot --inline --progress

 70% 1/1 build moduleshttp://localhost:8080/
webpack result is served from http://localhost:8080/
content is served from ./public
404s will fallback to /index.html
...

Hi @skyrpex! Sorry for the slow reply.
You need to use http://localhost:8080/. The port is 8080, not 8000.
Please re-open the issue if it doesn't work!


Build failed with: ':app:dexDebug' task

When i try to build i get this error:
`:app:dexDebug FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 2`

and also :
:app:dexDebug Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION: Unknown source file : com.android.dex.DexException: Multiple dex files define Landroid/support/v7/appcompat/R$anim; Unknown source file : 	at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) Unknown source file : 	at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) Unknown source file : 	at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) Unknown source file : 	at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) Unknown source file : 	at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) Unknown source file : 	at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) Unknown source file : 	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) Unknown source file : 	at com.android.dx.command.dexer.Main.run(Main.java:277) Unknown source file : 	at com.android.dx.command.dexer.Main.main(Main.java:245) Unknown source file : 	at com.android.dx.command.Main.main(Main.java:106)

Run cd android  && ./gradlew clean.

Thanks. could you please explain why this happens ?

@iNDicat0r I definitely have no idea. I've got it multiple times and it is starting to get frustrating.

I have expirienced this issue only with this library but i am still ok to run the command and have the project running


(Why is) The cached transform not cleared @ EVENT_AFTER_DELETE_ELEMENT

It seems like it should be a logical default to hook into Elements::EVENT_AFTER_DELETE_ELEMENT  (and check for the Asset entry type) and erase the cached image, just like what happens when Assets::EVENT_AFTER_REPLACE_ASSET fires.

The reason the transforms are cleared (from the system path/cache) when replacing assets, is because new transforms for the new image wouldn't otherwise be created, since the filename is the same.
That issue is not relevant when deleting. But what I guess you allude to is that you expect Imager to deølete any transformed files if the original asset is deleted?

That was my reasoning indeed, the original ID would never be hit when the asset is deleted, so the folder should be removed with it contents to prevent a buildup of unused images.


Problem on android（安卓上没有显示第一页的页面）

I have two page：

the first page is not showing，Only a piece of white，but The second page is normal

But there was no problem before.This is the problem today. only on android
RN 0.42.3
react-native-scrollable-tab-view 0.6.0

When I modify the code。

Only when hot loading is normal，When I use reload, it will be the same as before.

same here :(

@shafips @SwitchDestiny Have you guys been able to find a solution this?

@j-schuster @shafips
I've solved this problem

In this page，I have a ListView 。I set the background color for the Listview, so that led to this problem.


@electron-forge/cli: init at 6.0.0-beta.54

Motivation for this change
Adding @electron-forge/cli which is used to build electron applications into various distribution formats.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Depends on this PR: https://github.com/NixOS/nixpkgs/pull/115174

»» ~/Projects/nixpkgs
 ♖ ./result/bin/electron-forge -h     (electron-forge) pts/9 18:27:51
✔ Checking your system
Usage: electron-forge [options] [command]

Options:
  -V, --version  output the version number
  --verbose      Enables verbose mode
  -h, --help     output usage information

Commands:
  init           Initialize a new Electron application
  import         Attempts to navigate you through the process of
                 importing an existing project to "electron-forge"
  lint           Lints the current Electron application
  package        Package the current Electron application
  make           Generate distributables for the current Electron
                 application
  start          Start the current Electron application
  publish        Publish the current Electron application to GitHub
  install        Install an Electron application from GitHub
  help [cmd]     display help for [cmd]

Strange problem but the nixpkgs packaged ones seems to be creating files with read permission only. This is different from the npm installed one:
> nix-env -f ./default.nix -iA 'nodePackages.@electron-forge/cli'
> mkdir test/a
> cd test/a
> electron-forge init --template=typescript-webpack
✔ Checking your system
✔ Initializing Project Directory
✔ Initializing Git Repository
✔ Locating custom template: "typescript-webpack"
✔ Copying Starter Files
✔ Initializing NPM Module
✔ Setting up Forge configuration
✖ Setting up TypeScript configuration

An unhandled error has occurred inside Forge:
EACCES: permission denied, open '/test/a/src/index.html'
Error: EACCES: permission denied, open '/test/b/src/index.html'

The reason is that the files here are generated with only the read permission:
> ls -l /test/a/src
total 14K
-r--r--r-- 1 cmcdragonkai operators  162 Mar  6 18:30 index.css
-r--r--r-- 1 cmcdragonkai operators  253 Mar  6 18:30 index.html
-r--r--r-- 1 cmcdragonkai operators 1.5K Mar  6 18:30 index.js

When using the electron-forge from NPM, this doesn't occur.

The other usages of electron-forge does work, and I'm able to build and package electron apps with it.
The above error is strange, why would electron-forge end up creating files that are read-only? Is this due to being put inside the /nix/store?

Tested to be functional. Didn't test any other package changed by this commit. Currently there's also https://github.com/NixOS/nixpkgs/pull/114574 which changes files in node-packages.nix and it has merge conflicts already. @CMCDragonkai would you like to get past the read only permissions issue before merging?

No idea what is causing that read issue. But the other stuff is all working. Can build windows and Linux packages.

The above error is strange, why would electron-forge end up creating files that are read-only? Is this due to being put inside the /nix/store?

Does it copy files from the nix store?

@SuperSandro2000 oh maybe that is the reason... in that case, how can we fix this? Will it need a source code patch? Maybe an upstream fix that ensures that the generated files are read write.

Posted an upstream issue here: https://github.com/electron-userland/electron-forge/issues/2190
I think an upstream fix will eventually fix the whole problem and then there will be no problems using electron-forge in Nixpkgs.
Also in the future, I think electron-packager and electron-rebuild should also be packaged in Nixpkgs as well but so far it is not needed.
Furthermore the @electron-forge/maker-* dependencies don't need to be packaged in Nix yet, electron-forge here will make use of it by checking package.json in the devDependencies... but in the future these might be packaged in Nix as well, but we will need a more sophisticated electron ecosystem in nixpkgs to do this...

in that case, how can we fix this? Will it need a source code patch? Maybe an upstream fix that ensures that the generated files are read write.

A patch would probably be the easiest.

we will need a more sophisticated electron ecosystem in nixpkgs to do this...

yeah, someone needs to do that.


Verify Extent for CopyImage

Bad extents can result in VK_ERROR_DEVICE_LOST.

MR 228, LunarXchange issue #458 were updated for this issue.


Autostart video when slide is displayed for the first time does not work?

I included my video as an iframe from youtube.
I added the following to my sliderPro config:
		reachVideoAction: 'playVideo',
		leaveVideoAction: 'pauseVideo',

Everything is fine as long as the slide containing the video is shown for the 2nd time, video starts to play automatically.
Unfortunately, when the video is displayed for the 1st time (ie. if the video is in the fist slide), the video does not start automatically.
Looks like the 'reachVideoAction' event is not fired?
Am I doing something wrong to get this strange behaviour?
Thanks in advance for your help.
Joël

Hi, Joël. This was a bug in an older version but it was fixed. Are you sure you're using the latest version? I've just tested it locally and it's working as expected.
Cheers

I have updated my library with the latest version v1.5.0.
Still autoplay video, not working with YouTube slides.
Thanks

I found this issue with mp4 videos, I made a simple example here: https://www.farmarqua.it/testslide.html
If I start the video manually, after a loop it restarts correctly but not the first time.
As you can see form the source code i setted these options:
$( '#my-slider' ).sliderPro({ 	fade: true, 	autoplay: true, 	autoplayDelay: 1000, 	loop: true, 	arrows: false, 	buttons: false, 	autoplayOnHover: 'none', 	reachVideoAction: 'playVideo', 	playVideoAction: 'stopAutoplay', 	endVideoAction: 'startAutoplay' });

Also note that Chromium browsers don't allow videos to autoplay unless the video is muted or the user interacts with the page. https://developer.chrome.com/blog/autoplay


[helm-chart] Bad substition in the workflow generating the package

Describe the bug
The Chart.yaml file generated by the workflow :
apiVersion: v2
appVersion: ${VERSION_PROPS}
description: A Helm chart for Microsoft garnet
home: https://github.com/microsoft/garnet
icon: https://avatars.githubusercontent.com/u/6154722?s=200&v=4
keywords:
- garnet
- database
- key
- value
- in-memory
name: garnet
sources:
- https://github.com/microsoft/garnet.git
type: application
version: 0.1.2

Steps to reproduce the bug
helm pull oci://ghcr.io/microsoft/helm-charts/garnet

tar -xvzf garnet-0.1.2.tgz

Expected behavior
No response
Screenshots
No response
Release version
No response
IDE
No response
OS version
No response
Additional context
No response

There was an issue previously, the fix seems to have introduced this one. Should be easy to fix.

Are you going to create a PR for this? The fix should be in the line where substitution occurs.


Added support to multiple LDAP server and params

I've added the possibility to specify multiple LDAP servers and all the possible parameters that can be specified for the service.
I hope you'll find it useful as I do.
Thank you for putting the bases for this role!

up?

up

I would appreciate if this PR is merged.
@mprenditore could you please fix conflicts?

@mprenditore  could you please fix conflicts?

ping

thanks @mprenditore, still it is waiting for @geerlingguy attention

Yes please merge this feature!

would still be a good idea.....

ping

ping

ping

bla

@geerlingguy this is still very useful.
Can we get a merge?

The encryption parameter is missing for configurable option.
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"

I have a need for the admin_group. Looks like the EE only variables are still not included with this.

I have a need for the admin_group. Looks like the EE only variables are still not included with this.

You can always add these via the gitlab_extra_settings but I agree this can be included.
This PR is stale.
I standalone forked this role, and will add your suggestion now @RipJitter
https://github.com/GzEvD/ansible-role-gitlab

sad

I'll keep it open, but I'm wondering if it might just be better to break the backwards compatibility and make the PR simpler—this seems to add a lot of extra lines to support the use case of someone not updating their code to work with multiple LDAP servers.
It's not a feature I use, but I can see how some people with larger GitLab instances would like it, so I'd be amenable to merging something.

I had the same situation and solved it by using the gitlab_extra_settings. Posting it here, maybe it helps someone. Took some time for me to figure out the formatting etc.
If you add the LDAP config with the extra settings, you have to remove the standard gitlab_ldap_enabled parameter from your vars, else the role will add empty LDAP parameters to the config, in addition to the parameters which are defined in the extra settings.
Anyways, these are my gitlab_extra_settings for an LDAP server, you can check all the possible params here.
gitlab_extra_settings:
  - gitlab_rails:
# make sure to give booleans the plain type and put them in quotes, else they will be capitalized and GitLab will fail to start. This replaces gitlab_ldap_enabled.
      - key: "ldap_enabled"
        type: "plain"
        value: "true"
      - key: "ldap_servers"
        type: "plain"
        value: |
          {
          'main' => {
            'label' => 'LDAP_Display_Name',
            'host' =>  'LDAP_URL',
            'port' => 636,
            'uid' => 'cn',
            'encryption' => 'simple_tls',
            'verify_certificates' => false,
            'bind_dn' => 'CN=whatever,OU=you,OU=need',
            'password' => password',
            'active_directory' => true,
            'base' => 'DC=based,DC=base',
# admin_group and group_base only work for GitLab-EE
            'admin_group' => 'udspzzzp01_gitlab_admin',
            'group_base' => 'OU=tenants,DC=msad,DC=udsp,DC=ch',
            'attributes' => {
              'name' => 'DisplayName'
            }
            }
          }

Double bump for this one from me, the LDAP config as specified originally doesn't work properly in version 13.x onward due to the LDAP config becoming a multi-server hash.

@geerlingguy

I'll keep it open, but I'm wondering if it might just be better to break the backwards compatibility and make the PR simpler

The gitlab.rb config file changes between major versions, and the LDAP config format is currently only suitable for version 11.x (mayby 12.x) and unsuitable for GitLab 13.x onward, most recent version is 15.x
I think the only way to resolve this and maintain backwards compatibility is to either have a branch for each GitLab major release (ew) or to do multi-config with a template config for each major version. I think fragments could be reused with includes too.


Imports: Remove or add very_good_analysis as lint

We are going to remove very_good_analysis as lint, replacing it with the standard one

This issue is resolved.


[BUG]

Module Version: v1.1.0
Describe the bug
When opening the Open Summoning Menu the list of monsters is stuck in loading and the error attached happens
To Reproduce
Steps to reproduce the behavior:

Go to Open Summoning Menu
Click on Open Summoning Menu
Scroll down to N/A
See error - nothing loads

Expected behavior
A list of monsters should appear for me to chose to summon
Screenshots
If applicable, add screenshots to help explain your problem.
Browser:
Chrome
Foundry Version:
11.302
Game System:
DND5e 2.2.1
Additional context
Warpgate is installed.
Chris Premades and all the dependencies
MidiQol, DAE.

Module Version: v1.1.0
Describe the bug When opening the Open Summoning Menu the list of monsters is stuck in loading and the error attached happens
To Reproduce Steps to reproduce the behavior:

Go to Open Summoning Menu
Click on Open Summoning Menu
Scroll down to N/A
See error - nothing loads

Expected behavior A list of monsters should appear for me to chose to summon
Screenshots If applicable, add screenshots to help explain your problem.
Browser: Chrome
Foundry Version: 11.302 Game System: DND5e 2.2.1 Additional context Warpgate is installed. Chris Premades and all the dependencies MidiQol, DAE.

Go to Module Settings and click "Return to Default" in Index Fields

See if that fixes your issue.

Hello there, that has worked thank you


Modified trace flag 8207

Added CDC also.

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


ROX-21981: Support v4 offline bundle in Central

Description
Update scanner definitions handler to support v4 vuln bundle file

Support scanner-v4-defs upload via POST
Support reading scanner-v4-defs while scanner request for vuln file

Checklist

[x] Investigated and inspected CI test results

Testing Performed
Test scanner-vlun-updates.zip

Deploy
export OFFLINE_MODE=true
use this PR's image
run deploy-local.sh

unzip -l scanner-vuln-updates.zip
Archive:  scanner-vuln-updates.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
140154404  02-14-2024 11:41   scanner-defs.zip
   248088  02-14-2024 11:41   k8s-istio.zip
144211510  02-14-2024 11:41   scanner-v4-defs-4.3.zip
---------                     -------
284614002                     3 files

Upload
curl --insecure -u admin:[PWD] -F<EMAIL_ADDRESS>https://localhost:8000/api/extensions/scannerdefinitions -v

...
* Server auth using Basic with user 'admin'
* [HTTP/2] [1] OPENED stream for https://localhost:8000/api/extensions/scannerdefinitions
* [HTTP/2] [1] [:method: POST]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8000]
* [HTTP/2] [1] [:path: /api/extensions/scannerdefinitions]
* [HTTP/2] [1] [authorization: Basic YWRtaW46NTg5SFBMSWhrd0x3dFkwZ1JzRGw2U2hXNA==]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [content-length: 284614740]
* [HTTP/2] [1] [content-type: multipart/form-data; boundary=------------------------B5fhya2XGEQJZxIurZ7LB5]
> POST /api/extensions/scannerdefinitions HTTP/2
> Host: localhost:8000
> Authorization: Basic YWRtaW46NTg5SFBMSWhrd0x3dFkwZ1JzRGw2U2hXNA==
> User-Agent: curl/8.4.0
> Accept: */*
> Content-Length: 284614740
> Content-Type: multipart/form-data; boundary=------------------------B5fhya2XGEQJZxIurZ7LB5
>
* We are completely uploaded and fine
< HTTP/2 200
< vary: Accept-Encoding
< content-type: text/plain; charset=utf-8
< content-length: 57
< date: Mon, 19 Feb 2024 00:31:51 GMT
<
* Connection #0 to host localhost left intact
Successfully stored the offline vulnerability definitions

Get offline file:

curl --insecure -u admin:[pwd] https://localhost:8000/api/extensions/scannerdefinitions?uuid=asdfasdgf > test.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  133M  100  133M    0     0  10.2M      0  0:00:12  0:00:12 --:--:-- 15.0M
yli3-mac:stackrox yili$ ls -lh test.zip
-rw-r--r-- 1 yili staff 134M Feb 18 17:45 test.zip

curl --insecure -u admin:[pwd] https://localhost:8000/api/extensions/scannerdefinitions?file=repo2cpe > repo2cpe.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2041k  100 2041k    0     0  1109k      0  0:00:01  0:00:01 --:--:-- 1109k

ls -lh repo2cpe.json
-rw-r--r-- 1 yili staff 2.0M Feb 18 23:49 repo2cpe.json

curl --insecure -u admin:[pwd] https://localhost:8000/api/extensions/scannerdefinitions?version=4.3.1 > 4.3-defs.json.zst
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  138M  100  138M    0     0  8722k      0  0:00:16  0:00:16 --:--:-- 9951k
ls -lh 4.3-defs.json.zst
-rw-r--r-- 1 yili staff 139M Feb 19 11:05 4.3-defs.json.zst

Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

The current offline test is TestServeHTTP_Offline_Get() in handler_test , I am not sure what other unit tests can be added. Any suggestion is welcomed.

The current offline test is TestServeHTTP_Offline_Get() in handler_test , I am not sure what other unit tests can be added. Any suggestion is welcomed.

It'd really be great to test against a real offline bundle to verify we are reading it properly and able to get all the expected files from it. Similarly, take a look at TestServeHTTP_Online_Get and see how it checks that it chooses the correct offline vs online bundle depending on timing scenarios. We should have that for the v4 files, too

I tested again (both online and offline mode) and everything seems to be fine. The newly-added test also passed. I will merge it for now.
Let me know if you have any other concern and I can make a follow-up PR. @RTann  @jvdm  @BradLugo


https://Mage2.tv is not work

You can use the non https url
It leads to a redirection

Thank you for the hint. I fixed it!
Cheers


[build] Cannot use GLFW runtime platform detection

The big new feature of GLFW 3.4 is runtime platform detection, which enables a single Linux executable to run on both X11 and Wayland. However, raylib cannot use this feature at the moment when built using the Makefile or Zig, although it works when raylib is built using CMake.
The reason is because the Makefile and Zig use the file rglfw.c, which is not used by CMake, and rglfw.c combines all of GLFW's source files needed for a single platform selected at build time into one file. However, it is not possible to include multiple platforms into a single source file because GLFW has some static functions with the same name in source files for different platforms. Moreover, GLFW expects the "null" platform to be always present but we cannot include it for the same reason.
Maybe we should get rid of rglfw.c and have the Makefile and Zig select the GLFW source files to be built.
This problem has been previously reported here: https://github.com/raysan5/raylib/pull/3827#issuecomment-1963041768.

I am concerned that elimination of rglfw.c may create difficulties for desktop builds that now include it without using Make or CMake.  E.g., in raylib/projects/scripts and elsewhere, including simple builds of examples.

It looks like modifying the bundled GLFW by adding platform-specific suffixes to the functions with conflicting names is an easier solution than removing rglfw.c.

I prefer to keep rglfw.c, it amalgamates all GLFW into a single module and it simplifies a lot compilation process.
In any case, how does CMake/GLFW resolve this same issue? Because build process is also supposed to compile and link all those symbols with the same name.

When building with CMake, instead of using rglfw.c, GLFW's CMakeLists.txt is included along with raylib's own CMakeLists.txt, as seen in https://github.com/raysan5/raylib/blob/master/cmake/GlfwImport.cmake.
Anyway, keeping rglfw.c and just renaming GLFW's functions with conflicting names is indeed a simpler solution.


The sequence number does not increment

hello,I am using milkdown in vscode and I have a problem.
when i use order-list，The sequence number does not increment.

For now only simple ordered list supported.(Such as 1. xxx, 2. xxx, 3.xxx). Something like 1.1, 1.2 is not supported yet.


Make default codec configurable

Works for me :)

Maybe update the README to reflect this change?

Actually hold up - just realised the machine I was testing this on had a copy of x264 installed! Will find a clean environment to test it on first

Thanks @soreau for writing and @MichaelAquilina for testing!


Update usage info in sbt for java-home

I think the usage info for sbt argument java-home is not correct:
  # java version (default: java from PATH, currently $(java -version 2>&1 | grep version))
  --java-home <path>         alternate JAVA_HOME

Actually, I think it is a copy-paste from sbt-version usage info.
  # sbt version (default: from project/build.properties if present, else latest release)
  --sbt-version  <version>   use the specified version of sbt

So I created this PR to fix the issue.

Hi @liang3zy22,
Thank you for your contribution! We really value the time you've taken to put this together.
We see that you have signed the Lightbend Contributors License Agreement before, however, the CLA has changed since you last signed it.
Please review the new CLA and sign it before we proceed with reviewing this pull request:
https://www.lightbend.com/contribute/cla


Add a class to  and style related links div block

The div block for related links does not have a class. Add related-links to the class attribute of the div block.
I think the related links div block should be visually separated a bit more from the bottom of the article. Perhaps more top-margin and a light-colored border would accomplish this?

Will do!


[TF 2.0] allow tf.function input_signature to be specified by annotations

System information

TensorFlow version (you are using): 2.0.0-rc0
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
tf.function has an argument input_signature which I have been using to try and make my code a bit safer and ensure I don't keep re-tracing functions. The input_signature specifies the tensor type for each of the function arguments. It would be much nicer (I think) to specify these types using python (>=3.5) annotations, where a suitable version of python is available. A very rough example looks like:
import tensorflow as tf

def function(fn):
    input_signature = list(fn.__annotations__.values())
    return tf.function(fn, autograph=False, input_signature=input_signature)

@function
def foo(
    x: tf.TensorSpec(shape=[None], dtype=tf.float64),
    y: tf.TensorSpec(shape=[None], dtype=tf.float64),
):
    return x + 10.0 + y

vec32 = tf.random.normal([2], dtype=tf.float32)
vec64 = tf.random.normal([2], dtype=tf.float64)

# should pass
foo(vec64, vec64)
foo(y=vec64, x=vec64)

# should fail
foo(vec32, vec64)

Which I think is nicer than the current signature:
@tf.function(
    autograph=False,
    input_signature=[
        tf.TensorSpec(shape=[None], dtype=tf.float64),
        tf.TensorSpec(shape=[None], dtype=tf.float64),
    ],
)
def foo(x, y):
    return x + 10.0 + y

I think the main benefit of the annotation approach is that the argument name and type are beside each other, and this syntax is already widely used in python.
In order to enable using annotations as the input_signature I think there should be an extra boolean argument to tf.function called e.g. use_annotation_input_signature which defaults to False.
Also note I have set autograph=False here to avoid a warning:

Cause: name 'foo_scope' is not defined

I am guessing a proper implementation inside of tf.function would not have this problem.
Will this change the current api? How?
It would add an additional argument to tf.function which at the default value would not change anything.
Who will benefit with this feature?
Anyone using python >= 3.5 who would like to specify the tensor types of their functions.
Any Other info.
None

the whole concept of "None" == "Anything" is insane and reflects poorly on Tensorflow and Keras team + users

Hi, I like the general idea of leveraging more standard Python features.  Though one property we want to keep for @tf.function is that preserving the same semantics with or without @tf.function, and since we're not passing tf.TensorSpec instance as an argument, annotating the arguments to be tf.TensorSpec won't be strictly correct.

Hi @kkimdev. Yes I realised that TensorSpec wasn't the right type shortly after writing this and agree it is weird/confusing to annotate the arguments with the wrong type. I can't think of a solution which would work for this now, since the "spec" (e.g. can choose any shape based on runtime arguments) is dynamic and the annotations are really meant to be static so that mypy etc can do static analysis.
Will close this later unless anyone has any ideas on how it could work properly.

Closing as it has been 2 weeks.

Why not make it possible to use tf.Tensor[shape, dtype] as an annotation? This would also be useful in general to document the input requirements.

Yes, that would be the ideal format. I think you can use tf.Tensor (untemplated) right now in your regular type annotations, but implementing it as a generic type that captures both dtype and shape would take a bit more programming in the definition of the Tensor classes.

@Danmou yes that's a good idea - not sure why I didn't do that in the first place. I'll re-open this and try to have a go at implementing it but if anyone has any ideas/would like to help that'd be great.

I've tried to knock up some code to try and figure out how this might work but am finding it quite hard (mainly due to my lack of experience with typing). If there is any feedback on this it would be great:
import tensorflow as tf

from typing import Generic, TypeVar
from typing_extensions import Literal

ShapeType = TypeVar("ShapeType")
DataType = TypeVar("DataType")

Shape = Literal

class Float32:
    dtype = tf.float32

class Float64:
    dtype = tf.float64

# TODO(jeff): generate all dtypes

class Tensor(Generic[ShapeType, DataType]):
    @classmethod
    def shape(self):
        return self.__args__[0].__values__

    @classmethod
    def dtype(self):
        return self.__args__[1].dtype

    def __add__(self, other):
        return self + other

def function(fn):
    annotation_values = fn.__annotations__.values()
    tensor_specs = [tf.TensorSpec(x.shape(), x.dtype()) for x in annotation_values]
    return tf.function(fn, input_signature=tensor_specs)

@function
def foo(x: Tensor[Shape[None, 2, 3], Float64]):
    return x + 42.0

foo(tf.random.normal([1, 2, 3], dtype=tf.float64))  # OK
foo(tf.random.normal([2, 2, 3], dtype=tf.float64))  # OK
foo(tf.random.normal([1, 2, 3, 4], dtype=tf.float64))  # NOT OK
foo(tf.random.normal([1, 2, 3], dtype=tf.float32))  # NOT OK

which seems to pass the correct input_signature in this very simple example but has some mypy errors that I don't know how to deal with:
$ mypy types_test.py
types_test.py:1: error: No library stub file for module 'tensorflow'
types_test.py:1: note: (Stub files are from https://github.com/python/typeshed)
types_test.py:44: error: Variable "types_test.Shape" is not valid as a type
types_test.py:44: error: Invalid type: try using Literal[2] instead?
types_test.py:44: error: Invalid type: try using Literal[3] instead?
Found 4 errors in 1 file (checked 1 source file)

@jeffpollock9 you'll probably need to redefine __class_getitem__ for the Tensor class. (That's the method that's called when you call Tensor[...]).

Also I don't think defining Shape as a Literal will work (then undefined dimensions wouldn't work). I don't think it's possible to make mypy handle shapes correctly anyway without extending mypy itself, so I think the easiest solution for now would to simply make __class_getitem__ for Tensor return a Tensor with some attributes set for shape and dtype (which will be ignored by mypy but can be used by tf.function). Possibly mypy could handle dtypes correctly, but I'd say that's not so important anyway until someone starts type annotating the entire TF library.

Many thanks for the comments, @Danmou! As far as I can tell class_getitem was added in python3.7 so have switched to that (was on 3.6 before).
I'm trying to figure out a better way of making some sort of Shape type since you mentioned Literal is not a good idea - but I am not sure how. If you don't mind - do you have any ideas? This is where I have got to so far:
import tensorflow as tf

from typing import Generic, TypeVar, get_type_hints
from typing_extensions import Literal

ShapeType = TypeVar("ShapeType")
DataType = TypeVar("DataType")

# TODO(jeff): this shouldn't be Literal
Shape = Literal

class Float32:
    dtype = tf.float32

class Float64:
    dtype = tf.float64

# TODO(jeff): generate all dtypes

class Tensor(Generic[ShapeType, DataType]):
    def __class_getitem__(cls, item):
        shape = item[0].__args__
        dtype = item[1].dtype
        return shape, dtype

def function(fn):
    type_hints = get_type_hints(fn)
    input_signature = [
        tf.TensorSpec(shape, dtype, name) for name, (shape, dtype) in type_hints.items()
    ]
    return tf.function(fn, input_signature=input_signature)

@function
def foo(x: Tensor[Shape[None, 2, 3], Float64], y: Tensor[Shape[1, 1, 1], Float64]):
    return x + y

>>> print(foo.input_signature)
(TensorSpec(shape=(None, 2, 3), dtype=tf.float64, name='x'), TensorSpec(shape=(1, 1, 1), dtype=tf.float64, name='y'))

with:
$ mypy types_test.py
types_test.py:1: error: No library stub file for module 'tensorflow'
types_test.py:1: note: (Stub files are from https://github.com/python/typeshed)
types_test.py:40: error: Variable "types_test.Shape" is not valid as a type
types_test.py:40: error: Invalid type: try using Literal[2] instead?
types_test.py:40: error: Invalid type: try using Literal[3] instead?
types_test.py:40: error: Invalid type: try using Literal[1] instead?
types_test.py:41: error: Unsupported left operand type for + ("Tensor[Shape?[None, Any, Any], Float64]")
Found 6 errors in 1 file (checked 1 source file)

So indeed there is a problem with using Shape = Literal but I am not sure how to make a new type which can hold the list of shape data.
Thanks

I think this is going in the right direction. Here's a version of @jeffpollock9 's code that I think mypy is happy with (barring the lack of annotations in TensorFlow).
Since in the space of types there are no values (None is just sugar for NoneType), it doesn't seem currently possible to specify something like MyCustomType[1] without the use of Literal. So the type annotations will look a bit awkward.
Perhaps a future PEP could relax that.
It appears that Literal is the only special type that allows a variable number of things (and even in that case the values are packed into a sugared tuple). In other words we can't define a type Shape[*Dim] and we're forced to either use Literal[(None, 2, 3)] or to specialize things by rank, like Shape1D, Shape2D, etc. I'm also a bit afraid of Literal because it has the semantic "the value can be any one of these (their order is irrelevant)", but here we really need to say: "the value is this specific list (in this specific order)". That's why I used Literal[(a, b, c)] and not just Literal[a, b, c].
Lastly, I think we can also get by entirely using inspect to examine these type arguments - see the code.
Here's the code:
import tensorflow as tf

import inspect
import typing
from typing import Any, Generic, TypeVar, get_type_hints
from typing import NewType
from typing_extensions import Literal

ShapeType = TypeVar("ShapeType")
DataType = TypeVar("DataType")

class Shape(Generic[ShapeType]):
  pass

class Float32(object):
    value = tf.float32

class Float64(object):
    value = tf.float64

# TODO(jeff): generate all dtypes

class Tensor(Generic[ShapeType, DataType]):
  def __rmul__(self, other: Any):
    pass  # Just appeasing mypy here, the real Tensor has a proper implementation.

  pass

def function(fn):
    argspec = inspect.getfullargspec(fn)
    if (argspec.varargs is not None or argspec.varkw is not None or argspec.varkw is not None):
      raise NotImplemented('only positional args for now')

    input_signature = []
    for name in argspec.args:
      if name not in argspec.annotations:
        input_signature.append(None)
        continue
      shape_as_type, dtype = argspec.annotations[name].__args__
      shape = []
      for s in shape_as_type.__args__[0].__values__:
        if s is None:
          shape.append(None)
        else:
          shape.append(int(s))

      ts = tf.TensorSpec(shape=shape, dtype=dtype.value)
      input_signature.append(ts)
    return tf.function(fn, input_signature=input_signature)

@function
def foo(x: Tensor[Shape[Literal[(None, 2, 3)]], Float64]):
    return 2 * x

foo(tf.random.normal([1, 2, 3], dtype=tf.float64))  # OK
foo(tf.random.normal([2, 2, 3], dtype=tf.float64))  # OK
try:
  foo(tf.random.normal([1, 2, 3, 4], dtype=tf.float64))  # NOT OK
  assert False
except ValueError:
  pass
try:
  foo(tf.random.normal([1, 2, 3], dtype=tf.float32))  # NOT OK
  assert False
except ValueError:
  pass

Going the Literal-free path might not be so bad. Here's a version that's very verbose, but the type annotation looks quite nice. I named the dimensions MNISTHeight and MNISTWeight to show that such boilerplate-y types can have an actual intuitive meaning.
## This is what the gigantic file of type defs would contain

Shape3DDim1 = TypeVar("Shape3DDim1")
Shape3DDim2 = TypeVar("Shape3DDim2")
Shape3DDim3 = TypeVar("Shape3DDim3")

class Shape3D(Generic[Shape3DDim1, Shape3DDim2, Shape3DDim3]):
  pass

class Dimension(object):
  value = NotImplemented

class Dynamic(Dimension):
  value = None

## This is what the user would have to define:

class MNISTWidth(Dimension):
  value = 2

class MNISTHeight(Dimension):
  value = 3

@function
def foo(x: Tensor[Shape3D[Dynamic, MNISTWidth, MNISTHeight], Float64]):
    return 2 * x

@mdanatg thanks for this! I really like your Literal-free code - since it doesn't seem possible to define a Shape[*Dim] type I think this is the way to go. The only downside is the big file of typedefs as you mentioned - but I think we could automatically generate a file with up to (say) Shape10D and I can't imagine it ever being a limitation.

I've made a few changes to the code above:
Firstly, I don't think we need to handle a None value in the input_signature list as this doesn't work with tf.function anyway, i.e. this doesn't work:
@tf.function(input_signature=[None, tf.TensorSpec([1, 2], tf.float32)])
def foo(x, y):
    return x + y

with:
TypeError: Invalid input_signature [None, TensorSpec(shape=(1, 2), dtype=tf.float32, name=None)]; input_signature must be a possibly nested sequence of TensorSpec objects.

so we can remove:
if name not in argspec.annotations:
    input_signature.append(None)
    continue

Secondly, I had to change:
for s in shape_as_type.__args__[0].__values__:

to
for s in shape_as_type.__args__:

Thirdly, for the inner loop over the shapes, should it not be s.value instead of s?
so the full code is:
import tensorflow as tf
import inspect

from typing import Generic, Any, TypeVar

# TODO: generate all dtypes
# TODO: generate all shapes

ShapeType = TypeVar("ShapeType")
DataType = TypeVar("DataType")

Shape3DDim1 = TypeVar("Shape3DDim1")
Shape3DDim2 = TypeVar("Shape3DDim2")
Shape3DDim3 = TypeVar("Shape3DDim3")

class Shape3D(Generic[Shape3DDim1, Shape3DDim2, Shape3DDim3]):
    pass

class Dimension(object):
    value = NotImplemented

class Dynamic(Dimension):
    value = None

class Float32(object):
    value = tf.float32

class Float64(object):
    value = tf.float64

class Tensor(Generic[ShapeType, DataType]):
    def __rmul__(self, other: Any):
        pass  # Just appeasing mypy here, the real Tensor has a proper implementation.

def function(fn):
    argspec = inspect.getfullargspec(fn)
    if argspec.varargs is not None or argspec.varkw is not None:
        raise NotImplemented("only positional args for now")

    input_signature = []
    for name in argspec.args:
        shape_as_type, dtype = argspec.annotations[name].__args__
        shape = []
        for s in shape_as_type.__args__:
            if s.value is None:
                shape.append(None)
            else:
                shape.append(int(s.value))

        ts = tf.TensorSpec(shape=shape, dtype=dtype.value, name=name)
        input_signature.append(ts)
    return tf.function(fn, input_signature=input_signature)

# User code starts here
class MNISTWidth(Dimension):
    value = 2

class MNISTHeight(Dimension):
    value = 3

@function
def foo(x: Tensor[Shape3D[Dynamic, MNISTWidth, MNISTHeight], Float64]):
    return 2.0 * x

# Some ad hoc testing
print(f"foo signature: {foo.input_signature}")
foo_x_ts = tf.TensorSpec(shape=[None, 2, 3], dtype=tf.float64, name="x")
assert len(foo.input_signature) == 1
assert foo.input_signature[0] == foo_x_ts

@function
def bar():
    return tf.random.normal([1, 2, 3])

print(f"bar signature: {bar.input_signature}")
assert bar.input_signature == ()

$ python types_test.py
foo signature: (TensorSpec(shape=(None, 2, 3), dtype=tf.float64, name='x'),)
bar signature: ()

$ mypy types_test.py
types_test.py:1: error: No library stub file for module 'tensorflow'
types_test.py:1: note: (Stub files are from https://github.com/python/typeshed)
Found 1 error in 1 file (checked 1 source file)

I also removed the extra check in argspec.varkw is not None or argspec.varkw is not None - I guess that was just a typo?

Yep, your edits all look good! The Literal-free version did require them, but I didn't want it to clutter the post.
You're right about input_signature, it only supports None at head. Probably best to raise an error until the next version release. That means that future version can leave some args without annotation and their shape/type will be inferred.

FYI, https://github.com/tensorflow/community/pull/208 aims to establish a home for type definitions such as these. The RFC mentions this ongoing work, but we can include more specific details if ready.

@mdanatg thanks for this - looks really interesting! I had a couple of evenings to try and add some of this to tensorflow but was struggling to even run the existing tests as TF takes days to build on my laptop. I'm hoping to have some time to try again soon but if there is anything in particular I could contribute please let me know.

FYI, tensorflow/community#208 aims to establish a home for type definitions such as these. The RFC mentions this ongoing work, but we can include more specific details if ready.

Quick note, DeemMind has created in implementation similar to the ideas in this thread: https://github.com/deepmind/tensor_annotations


⚠ Samsung has degraded performance

In b3f7915, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3341 ms

Resolved: Samsung performance has improved in fe71fa1.


Support OpenSCAP in network-isolated clusters

It should be possible to run OpenSCAP scans even in network-isolated clusters. Maybe by defining an internal URL from which to take the CVE definitions.
(This may be dependent on our ability that the CVE definitions can be trusted, there should be a BZ somewhere, @mpreisler should be able help us here).
@enoodle @pweil- it may be worth start brainstorming on this.
cc @smarterclayton @deads2k

@simon3z This is the RFE bugzilla for signed CVE feeds: https://bugzilla.redhat.com/show_bug.cgi?id=1253622

@enoodle @pweil- we should also consider a mitigation meanwhile, for example: don't fail hard in case we can't download the definitions. Just report the error in the Rest-API. (It could be that it is the case already, but we should verify that it is working).
So that the regular SmartState Analysis (WebDAV of image content) can work anyway.

Do we want image-inspector to ship with default CVE's in its image or get them when started?
We can work something out to download them while building the docker image or have them statically in the git repo.
Another option is to add some option to get a default CVE file from outside the image when starting it. This can be done through attaching a volume with the file and passing the file name as an argument.

We can work something out to download them while building the docker image or have them statically in the git repo.

Check out https://github.com/fedora-cloud/Fedora-Dockerfiles/blob/master/atomic_scan_openscap/Dockerfile for inspiration.

Do we want image-inspector to ship with default CVE's in its image or get them when started?

This is not interesting unless we plan to constantly rebuild the image with the updated rules. (Which is something I'd like to avoid).

Another option is to add some option to get a default CVE file from outside the image when starting it.

@enoodle this options is better, although I don't like the idea of attaching a volume. I like the ability to specify a custom URL from where to download the rules.

@enoodle can we close this?

Yes, https://github.com/openshift/image-inspector/issues/22 Fixes this


Update azure-stack-add-vm-image.md

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

#sign-off

@kivenkat: I'm sorry - only the author of this article, @Justinha, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

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

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

#sign-off

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

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

Validation checks seem to be stalled. Will try close/reopen.

@Justinha - For a future update, line 57 is missing a word. I don't know the correct procedure to document (stop and deallocate or stop or deallocate).

It’s actually just stop deallocate (Azure terminology)  @Justin<EMAIL_ADDRESS>From: Kristine Toliver<EMAIL_ADDRESS>Sent: Friday, January 3, 2020 8:56 AM
To: MicrosoftDocs/azure-stack-docs<EMAIL_ADDRESS>Cc: Kirtana Venkatraman<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-stack-docs] Update azure-stack-add-vm-image.md (#568)
@Justinhahttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJustinha&data=02|01|kivenkat%40microsoft.com|d943f5f9140a4afb50f808d7906dc2dc|72f988bf86f141af91ab2d7cd011db47|1|0|637136673402507586&sdata=yQi69v18vbsfBwHD1hYa3SK2nJCFVGOM2BTyYo8JpK8%3D&reserved=0 - For a future update, line 57 is missing a word. I don't know the correct procedure to document (stop and deallocate or stop or deallocate).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-stack-docs%2Fpull%2F568%3Femail_source%3Dnotifications%26email_token%3DAHULSW3LTH7ANQ4YALAUDZTQ35UYVA5CNFSM4KCKZ5X2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIBSGXQ%23issuecomment-570631006&data=02|01|kivenkat%40microsoft.com|d943f5f9140a4afb50f808d7906dc2dc|72f988bf86f141af91ab2d7cd011db47|1|0|637136673402507586&sdata=I8jyZDqAibh2ZBib0PGa%2BLvFcv%2FGrERPHDcH258A5cI%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHULSW2EZ7N5C2GLVMBSVULQ35UYVANCNFSM4KCKZ5XQ&data=02|01|kivenkat%40microsoft.com|d943f5f9140a4afb50f808d7906dc2dc|72f988bf86f141af91ab2d7cd011db47|1|0|637136673402517579&sdata=onOwrWNshgAxmmB%2BDhu6mRN0Fj4fsgWR9DrphXOiwiA%3D&reserved=0.


RDK-460: Add wide channel support to wifi_pushRadioChannel2

Signed-off-by: Tomasz Kilarski<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/hal-wifi-cfg80211/23/rdkcentral/hal-wifi-cfg80211

Commit: bee86b9514ef4a575fde727f65627722b3868fa4

Report detail: gist

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/8711/ started

Copyright scan failure
Commit: bee86b9514ef4a575fde727f65627722b3868fa4
Report detail: https://gist.github.com/9e50f1cc1e55016d0139794c5ee96437

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/hal-wifi-cfg80211/23/rdkcentral/hal-wifi-cfg80211

Commit: bee86b9514ef4a575fde727f65627722b3868fa4

Report detail: gist

https://jenkins.code.rdkcentral.com/job/github-triggered/13813/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/47316/ started.

Smoke tests for ['build-rpi-broadband'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/110804/

Smoke tests for ['build-tur-bb'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/110805/

https://jenkins.code.rdkcentral.com/job/github-triggered/13840/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/47337/ started.

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/8743/ started

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/hal-wifi-cfg80211/23/rdkcentral/hal-wifi-cfg80211

Commit: 41fd7685615e56f7a56c28ee5702886313f8aaa0

Report detail: gist

WARNING: A Blackduck scan failure has been waived
A prior failure has been upvoted

Upvote reason: Thanks Tomasz

Commit: 41fd7685615e56f7a56c28ee5702886313f8aaa0

Smoke tests for ['build-tur-bb'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/110872/

https://jenkins.code.rdkcentral.com/job/github-triggered/13906/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/47410/ started.

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/8798/ started

indentation fixed

Smoke tests for ['build-tur-bb'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/110959/

Smoke tests for ['build-rpi-broadband'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/110958/


PlatformException(601, operation failed, null, null)

Getting PlatformException(601, operation failed, null, null) after following installation steps.
Flutter Doctor
`Flutter 3.3.9 • channel stable • https://github.com/flutter/flutter.git
Framework • revision b8f7f1f986 (10 days ago) • 2022-11-23 06:43:51 +0900
Engine • revision 8f2221fbef
Tools • Dart 2.18.5 • DevTools 2.15.0

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.3.9, on Microsoft Windows [Version 10.0.22621.819], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Build Tools 2022 17.3.6)
[√] Android Studio (version 2021.3)
[√] VS Code (version 1.73.1)
[√] Connected device (3 available)
[√] HTTP Host Availability

• No issues found!`

Hi @ashutosh-mulik ,
Thanks for writing to us. Please verify that the package name registered with the SalesIQ for your app is the same as your application's package name. Also, please check whether the app and access key for Android and iOS are correct.
For further queries, please feel free to write us at<EMAIL_ADDRESS>We will be happy to assist you.
Regards,
Bhahirathan M,
Zoho SalesIQ.

@DavidBhahirathan hello, I got the same error.
We are using 4 flavors for our application but on the SalesIQ platform, we only have 1 brand slot for our current plan.
the main bundleId is com.ourcompany.mobile but this runs only in production.
I thought that the reason of this initialization issue could be that the access keys are not matching for the flavor bundleIDs.
Can you confirm that?
dev: 'com.ourcompany.mobile.dev'
uat: 'com.ourcompany.mobile.uat'
staging: 'com.ourcompany.mobile.stg'

Hi @yasinarik.
Sorry, It's not possible to use mobilisten with such flavors with the base package name as you have mentioned because the SDK is initialized with the package name that you've registered in the SalesIQ with your application's package with its respective app key and access key. So If the package name is anything other than the registered package name, it won't work.
The only way to use the SDK as per your requirement is to purchase a new add-on brand for your portal. So please use all the keys and package name correctly.


Revert "Make public header files in include/grpcpp/test installed with 'make install'"

Reverts grpc/grpc#20369
The PR seems to have broken a large set of tests on master (artifacts, C# build on macos, etc.)

Looks like the rootcause is that it's a header-only library:
CMake Error at CMakeLists.txt:3780 (add_library):
  No SOURCES given to target: grpc++_test


#34 - Add routing tools

This PR aims to combine methods from HttpRequest, HttpResponse, Session, Authentication and Translation to better reflect the Routing trait.
This should close #34

I need someone to comment/give me opinion on this because the longer I look at it, the more I think it's a lot of code repetition and unnecessary trait to have.

Sorry, by mistake

Please resolve conflicts