Q: How to access get_disc_threshold() and other global functions?

Hi John,
I wanted to use the get_disc_threshold() function.
But vips.get_disc_threshold () does not exist.
How can I use it and other global functions?
They seem like not "exposed" to Lua.
Or do I misunderstand something?
Thanks.

Hi @LeslieGerman, no, sorry, that function is not wrapped by lua-vips.
What are you trying to achieve? Perhaps there is some other way to do what you want.

What are you trying to achieve?

Well, first just experimenting...
I want to achieve something like the abandoned vips streaming branch would do, but with manual-coding on top of the existing vips API.
I don't need to handle *nix file descriptors, we have our own special stream classes.
Basically our framework would call the following filter function, passing bytes-sequences of a JPEG, GIF etc. image in chunks:
inputImage = nil
headerChunks = ""

function filter(chunk)
	local ret = ""
	if chunk == nil then
		close_processing(inputImage)
	else
		if inputImage == nil then
			headerChunks = headerChunks .. chunk
			inputImage = detect_type(headerChunks)
		else
			ret = transformed_image(inputImage, headerChunks, chunk)
		end
	end
	return ret
end

The filter would return the bytes of the transformed image in chunks, too.
Maybe somewhere another vips image have to be created, too, for the transformed image.
Is it possible to implement this on top of the current API?
(vips is a great lib, BTW :) )

Just a note:
I'm aware that not all image types are streamable, like you mentioned it here.

Ah OK. No, sorry, I don't think that can be done. You have to read the whole of the compressed image into memory.
The true-streams idea should probably be resurrected :( It's not actually a huge amount of work, you only need to add support to the streamable formats, it's just a question of someone finding the time.

Hi John,
How much effort do you think it would take to finish and merge the streaming branch?
It seems to me the task consists of 2 steps:

finish the implementation
merge it to master

Regarding 1:
What is not complete yet in terms of functionality and features?
I mean what is still to be implemented?
Do you already have tests for the new features, classes, etc.?
Regarding 2:
Rather technical, but maybe time-consuming, since the master diverged a lot - like you mentioned in one of your comments.
Maybe it's not possible to do it without knowing the code at some level, because of the likely merge conflicts.
And the important question for me:
Having the streaming features finished, would it be possible to use it in the way I described above in my comment? I.e. without the file-descriptors, but using some API functions.
Thanks.

libvips is a "pull" system, so you can't push bytes into it as they arrive, instead you'd need to attach a callback to libvips to grab another chunk of input when it's needed.
The streaming branch added a couple of simple classes which you could put the callbacks into. The API would look something like:
input_steam = libvips.new_input_stream()
input_stream.fetch_bytes = function () my_own_stream_object:fetch() end
image = Image.new_from_stream(input_stream)

now libvips will call the fetch_bytes method whenever it needs more data. In turn, this would call the fetch method on your stream class, which would presumably read another X bytes (up to 4096 bytes perhaps?) and return them as a string.
There's something similar to for output streams.
Anyway, I'd guess a couple of weeks work.


Issue with graph initialization

Hey,
I quite often have this error with the node bindings (don't remember having seen this in raw rust, but I'm less using it so I'm not sure):
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value',  /web-audio-api-0.32.0/src/render/graph.rs:479:14

Just like if the graph is rendered before the AudioDestination is created
Any idea where it could come from?

As I mentioned earlier, booting the audio thread on OSX takes about 60 milliseconds, so I wonder what your control thread is doing in the meantime.

My guess is that the JS bindings kind of amplify stuff that we don't really see with raw Rust because of how JS works. For example, I'm more and more thinking that deallocation + GC creates issues that we can't really see with just raw Rust (just like putting you trash out every day or... "sometimes" :)

In any case I could have a look if I can change the ordering of the control messages for initialization to prevent this from ever happening.

Cool, I can also have a look if you prefer to focus on other things, but any hint would be welcome!

Fixed in https://github.com/orottier/web-audio-api-rs/pull/338


QPPCT-693: Error message for invalid performanceRateUuid is incorrect

Information

JIRA story QPPCT-693.

Changes proposed in this PR:

Before, when the performance UUID was incorrect, we were generating an error message that stated the performance rate UUID needed to be what was already provided in the QRDA3 file versus the expected UUIDs.
We now supply the expected UUIDs for the performance rate.

Checklist

[x] All JUnit tests pass (mvn clean verify).
[x] New unit tests written to cover new functionality.
[x] Added and updated JavaDocs for non-test classes and methods.
[x] No local design debt. Do you feel that something is "ugly" after your changes?
[x] Updated documentation (README.md, etc.) depending if the changes require it.

@halprin: Unless I missed it, is there a test to verify that the new code will aggregate multiple numerator UUIDs for a measure that supports that?

@sfradkin Oops, nope.  I'll add a test.

And added.


refactor(match-action): create Action class and refactor reducer using pattern matching

I created an Action class so that we could

avoid referencing constants across multiple files.  (there is no need for constants.js files, always import from actions.js files when you were thinking about an action )

use the .action method as standard action creator, rather than defining an action creator for each action by hand

in reducer, instead of using switch-case to check action type, we use pattern matching on the name of action object (see the example below).

For example, HomePage\action.js now only contains two lines of code.
import Action from 'utils/action';

export const ChangeUsername = new Action('ChangeUsername');

and the homeReducer function now looks like as follows
function homeReducer(state = initialState, action) {
  return match(action)(
    CASE(ChangeUsername, ({ payload }) =>
      // Delete prefixed '@' from the github username
      state.set('username', payload.replace(/@/gi, ''))
    ),
    CASE(otherwise, state)
  );
}

Using the Action class is completely optional.  It is here to help reducing repeated work.  Likewise, using the match function is also optional.
This pull request suggests a way to refactor the code.  A user may even mix use the current code style or the proposed feature, whichever is appropriate.
Please take a look at the changes and let me know the part that you like and don't like.
TODO Tasks if PR is accepted in principle

[ ] refactor the generator script likewise, or provide a new generator as an alternative to the current one.
[ ] when generate an action, also generate a unique action name/type.
[ ] other received suggestions

In this PR, I updated both the HomePage container and the App container to demonstrate my ideas.  If you like the idea.  The final PR may only contain changes to one of the 2 containers.  As I said earlier, this PR is to provide an alternative.
Thanks :-)

Coverage decreased (-0.09%) to 98.127% when pulling c4791bdecd81dab07dc012e009e1ffe81f643821 on Jiansen:master into 22e359b92ba2bf890165605a4e1124201a4fa083 on mxstbr:master.

While I definitely like the way you handled this, I don't think we'll merge this generally. It adds a lot of complexity that might confuse people since this is a non-standard way of doing actions, which I'd like to avoid.
I still think this is a great way of doing actions if the entire team is in on it since it reduces a lot of boilerplate. Have you thought about releasing this as a standalone npm module?

Thanks for feedback @mxstbr .
The changes are caused by using the Action class and the match method from the match-js library.
The Action class, as you see, only contains 20 lines of code.  We save lines of code because action creator is provided by the Action class.
I guess the confusion at first sight, if any, is the match method in reducer, and wondering how it works under the hood.  The good news is, we don't have to write the reducer function using the match method.  We can use exactly the same code as the current boilerplate!
I will take your advise and think about release the Actor class as a standalone npm module.  I am very likely to use your react-boilerplate repo to demonstrate steps of refactoring.  My question is, apart from that 20 lines of code and a reference to an example (this PR?), what else would you suggest me to provide in that npm module?

Some tests maybe? Not sure how much testing can be done, but at least that the action and the constants work.


Fix CI "Build Tests: Android Instrumentation Tests" errors

Summary
To fix the CI error
There are two errors:
error: undefined reference to '__android_log_write' which solved by adding -llog linker flag.
ld: error: cannot find -lc++ which workaround by static linking.
For the root cause, I am thinking that is after NDK r19,
the -target should specificy api level.
However, buck does not add this accordingly, e.g. -target armv7-none-linux-androideabi
Given wrong target will make NDK to have cannot find -lc++ error.
The workaround is to use static linking.
Since it was an oss_cxx_library, the change should not have impact to Facebook internal testing.
Changelog
[Internal] [Fixed] - Fix CI "Build Tests: Android Instrumentation Tests" errors
Test Plan
Make CI green

BTW there was a PR for buck to add api level to target: https://github.com/facebook/buck/pull/2595


Transaction search fixes

Transaction search should be by kernel id too (not only transactions id), fix empty screen state wording https://zpl.io/aNzDkzk
Updated design https://zpl.io/brPoEm7
Transaction type, status, comment (with icon), date, amount should be shown always in transactions lists. Additional show field which contains searched info (transaction or kernel id, addresses or contact, contacts name (with icon). Searched words should be highlighted (#00F6D2).

I think the search should be for the first 6 characters (address, transaction ID, kernel ID, name, comment)

checked


[WIP] Add JSON schema

WHAT

Add prmd
Define schema for build resource
Prepare API doc: https://github.com/wantedly/risu/blob/spesnova/json-schema/docs/api-v1-alpha.md
Create build script: script/build

WHY
To share the schema

@wantedly/infrastructure plz review this :pig:


Token version is not the same as Braintree libs

This library returns the version 1 token by default while the other libraries will return version 2 by default. I ran into several issues trying to figure out why my token wasn't working since the Braintree docs are very vague and sparse.
https://github.com/braintree/braintree_ruby/blob/c35917379a33de405b7a47eb9f83b7f732255262/lib/braintree/client_token.rb#L5
https://developers.braintreepayments.com/reference/request/client-token/generate/node#version
Would you want to change the library to follow suite? I can PR if that's something that's wanted. At the least I think we should document that it defaults to version 1 of the token.
edit

@AdamBrodzinski Thanks for tracking this down. I'd welcome documentation about the token version at the very least. Ideally I'd like the version to be configurable, and for the new default to be 2. If you are up for that I'd welcome a PR, otherwise I'll try and get to it.

@sorentwo sounds good. I can at the very least PR docs/readme for the token version but can also take a crack at editing the code this weekend.
Thanks again for this lib! 👍


PushView with Buttons

How do I PushView with buttons...??
This does nothing..
PushView(destination: SignInView()) {                             Button(action: {                                 self.isActive.toggle()                             }) {                                 HStack {                                     Image("mail-icon")                                     Text("  Login with Email/Mobile")                                         .font(.custom("Avenir Next Bold", size: 14.0))                                     Spacer()                                 }                             }                             .modifier(PrimaryButton(colorInput: .red))                         }
But this works fine..??
PushView(destination: SignInView()) { HStack {                                     Image("mail-icon")                                     Text("  Login with Email/Mobile")                                         .font(.custom("Avenir Next Bold", size: 14.0))                                     Spacer()                                 }  .modifier(PrimaryButton(colorInput: .red))                         }

Hi @vmshaneeb! With the NavigationStack you can also push programmatically (since you were talking about Button I think this is what you want):
struct MyView: View {
    @EnvironmentObject private var navigationStack: NavigationStack

    var body: some View {
        Button(action: {
            //do whatever you want
            self.navigationStack.push(SignInView())
        }, label: {
            Text("PUSH")
        })
    }
}

@matteopuc Cool... (Y)
Thanks bro...


L3 Test Spec Document - device settings - dsHdmi In

Create a L3 low level test specification.

duplicate of https://github.com/rdkcentral/rdk-halif-test-device_settings/issues/171 , hence closing the issue


Polish translation - mnemonic additions, parity error messages

Thank you for all your work on this. Please email us your mailing address & shirt size so I can send you a thank you gift<EMAIL_ADDRESS>


Actually implement packed structures

Shouldn't be so tricky:
func (c Context) StructType(elementTypes []Type, packed bool) (t Type)
It just takes a boolean if it's packed or not.

It shouldn't be tricky at all. Just spotted that we didn't actually do anything with the attribute


Hashtags and prompts?

Thank you for your excellent work!
Will you release the hashtags of the videos and the prompt used by mPLUG-owl and ChatGPT?

Thank you for your prompt response. However, I still have some questions.
You mentioned in section 4.2 of your paper that you filtered videos without hashtags and some irrelevant words. But in the sample data you provided, many videos do not meet this condition. Here is an example:
  "zki3YQY8uBs": {
    "folder": "coco_vat_test",
    "mplug": "This video demonstrates the step-by-step process of wearing a floral theme ear style for a party look. The model shows how to put on the earrings, which include a floral design, and combines them with other accessories, such as a necklace and bracelet.",
    "polish_mplug": "a model demonstrates the process of wearing a floral theme ear style for a party look. The earrings, featuring a floral design, are shown being put on along with other accessories like a necklace and bracelet.",
    "ofa": [
      " a close up of a person wearing a ring",
      " a woman is putting a ring on her ear",
      " a woman is putting a ring on her ear",
      " a close up of a person with a earring in their ear",
      " a close up of a person with a ear piercing",
      " a woman is holding a ring on her finger",
      " a woman holding a pair of scissors in her hand",
      " a close up of a womans ear with a cluster of diamonds on it"
    ],
    "sound_mplug": "the event is a combination of gentle murmurs and soft clicks as the model carefully puts on the floral theme earrings, elegantly accessorizing with a necklace and bracelet for the party look.",
    "raw": "How To Wear A Floral Theme Ear Style - For The Perfect Party Look!  #shorts"
  },

https://www.youtube.com/watch?v=zki3YQY8uBs

When I visited this video, I noticed that the author included more hashtags in the description below the video that didn't exist in the title. So, my question is, are you using hashtags that are in the title or are you using hashtags that are in the description?

Not all video descriptions contain this type of hashtags, so we are using the hashtags in the title!

I see, thanks for your quick reply!


Fix address typo

Description
fix the address (addr) typo and improvement a comment.

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #468 (57f14c1) into main (7659def) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #468      +/-   ##
==========================================
- Coverage   36.54%   36.51%   -0.03%
==========================================
  Files          89       89
  Lines        6959     6959
==========================================
- Hits         2543     2541       -2
- Misses       4048     4051       +3
+ Partials      368      367       -1

Flag
Coverage Δ

e2etests
?

unittests
36.51% <ø> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

client/daemon/service/manager.go
33.00% <ø> (ø)

client/daemon/peer/peertask_stream.go
56.25% <0.00%> (-0.74%)
:arrow_down:


Linux: Shell.openExternal with a link fails with Firefox

This is a weird one: On my Ubuntu with Firefox installed as default browser, Shell.openExternal() with a http URL only works if Firefox is running. If it is not running, it does not start after calling the method. When I then click on Firefox from the task bar in my desktop, I get a message telling me that Firefox is already running and that I have to shutdown the process. Somehow Firefox gets stuck when being opened through Shell.openExternal().
I dont see this behavior when Firefox is opened and I can also not reproduce when using Google Chrome.

Shell.openExternal is a wrapper of xdg-open under Linux, I think you can try to reproduce the problem with xdg-open and then report it to Firefox.

For anyone else who stumbles upon this... this was eventually determined to be a Firefox bug, with some description of the issue here:
https://bbs.archlinux.org/viewtopic.php?id=284906
https://bugzilla.mozilla.org/show_bug.cgi?id=1820896


Go Live [August16]

Push to live.

Docs Build status updates of commit 1adc6da:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/concepts/build-and-test/share-to-teams.md
:white_check_mark:Succeeded
View

msteams-platform/index.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


ir.tl.chain_qc doesn't mark cells with no IR

Describe the bug
'ir.tl.chain_qc' states that it should mark cells that don't have any detected immune receptor (as stated in the docs).  In the new data structures, this information should be in the "airr:recepetor_type", etc slots, annotated as "no IR". However when you run this function, cells that are lacking and IR are just annotated with nan values, so you can't see how many cells don't have an associated IR when plotting.
To Reproduce
import muon as mu
import scirpy as ir

mdata = ir.datasets.wu2020_3k()
adata = mdata['gex'].copy()
adata_tcr = mdata['airr'].copy()
adata_tcr = adata_tcr[0:-100,:].copy() #artificially remove tcr info from last 100 cells

mdata = mu.MuData({"gex": adata, "airr": adata_tcr})
ir.pp.index_chains(mdata)
ir.tl.chain_qc(mdata)

mdata.obs["airr:receptor_subtype"].tail() #visualize the info on last cells - they are stored as nans

#plot the subtypes
_ = ir.pl.group_abundance(
    mdata, groupby="airr:receptor_subtype", target_col="gex:source"
)

Expected behaviour
Cells with no IR should be annotated as "no IR", according to docs (https://scirpy.scverse.org/en/latest/generated/scirpy.tl.chain_qc.html)
System

OS: macOSX 13.5.2
Python version 3.11
Versions of libraries involved: scirpy 0.13.1, scanpy 1.9.5, muon 0.1.5

Additional context

Hi,
thanks for reporting this!
I believe the reason is that chain_qc operates on the mdata["airr"] slot which obviously only contains cells with a receptor. Writing back the information to mdata.obs coerces nan for cells that are not in mdata["airr"].
It should be possible to fix this pretty easily.

I fixed the chain_qc function to also compute values for cells not in the AIRR modality in https://github.com/scverse/scirpy/pull/463. But plotting the result requires changes to the group_abundance function that I'll tackle together with overhauling completely how barplots are generated (which is planned for a while, see https://github.com/scverse/scirpy/issues/232)


[PT] add 5.6 and 5.7

#51

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Gha update

Update to Ubuntu 22.04
Use Python 3.9

I can do it in this PR but that was not something I was looking at. I will bump it to 2.10


Mistral 12b Nemo Error: Model_kwargs not used ['token_type_ids']

Hi there, I finetuned Mistral 12b Nemo using unsloth. However, when downloading my LORA adapters from hugging face, to use this model to generate text, I get this error:
"ValueError: The following model_kwargs are not used by the model: ['token_type_ids'] (note: typos in the generate arguments will also show up in this list)"
Here's the code I use to generate prompt:
def promptModel(instruction, input, time_track = False):
    # alpaca_prompt = Copied from above
    FastLanguageModel.for_inference(llm_model) # Enable native 2x faster inference
    inputs = tokenizer(
    [
        alpaca_prompt.format(
        instruction, # instruction
        input[0:4096], # input
        "", # output - leave this blank for generation!
        ),

    ], return_tensors = "pt").to("cuda")

    start = time.time()
    outputs = llm_model.generate(**inputs, max_new_tokens = 1024, use_cache = True, pad_token_id=tokenizer.eos_token_id)
    #tokenizer.batch_decode(outputs)
    end = time.time()
    print(f'It took {end-start}s to compute') if time_track == True else None
    raw_text = tokenizer.batch_decode(outputs)[0]
    return raw_text

I have the same issue. But change to model.generate
outputs = model.generate(input_ids = inputs.input_ids, attention_mask = inputs.attention_mask,
max_new_tokens = 64, use_cache = True, pad_token_id = tokenizer.eos_token_id)
It fix problem.

I changed the notebook for Mistral Nemo - but now I think I should directly patch it - I'll fix this asap!
Before it was
outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True)
tokenizer.batch_decode(outputs)

Now (temporarily) use:
outputs = model.generate(
    input_ids = inputs.input_ids, attention_mask = inputs.attention_mask,
    max_new_tokens = 64, use_cache = True, pad_token_id = tokenizer.eos_token_id)

Thanks a mil @minhhoai1001 @danielhanchen !!

Fixed in the main branch!


Don't use $pwd to get current location

$pwd is rewritable, so can be wrong. Use the same method PowerShell's (v3 and above) built-in prompt gets the location.
PowerShell 2 used Get-Location instead. I'm not sure why they changed, but using their current method seems to make more sense. This method works in PowerShell 2, as well.

In the process of updating profile.example.ps1, I've addressed this.


please

could you add a basic esp? or give advice in which topics can I look at the esp code?

https://www.unknowncheats.me/forum/phasmophobia/424456-phasmophobia-reversal-structs-offsets.html


useUpsertItem does not seem to work when I select with a join on a foreign table

Describe the bug
I've got 2 tables : Messages and Profiles (linked by sender_id column in Messages).
useUpsertItem is working when I select only columns from Messages table
(ex: supabase.from('messages').select('id, sender_id,  content, created_at'))
But when I try to add profiles columns (ex: supabase.from('messages').select('id, sender_id, profiles(id, first_name, last_name), content, created_at')) cache is not updated...
Here is the upsert code. Did I miss something ?
const upsert = useUpsertItem({
    schema: 'public',
    table: 'messages',
    primaryKeys: ['id'],
  })

Expected behavior
Cache should be updated even if I use a select with a join

I'm having the same issue. Did you end up figuring out how to make this work @gregamann?

can you provide a repro and more snippets, especially how you pass the data to useUpsertItem? The dx around custom cache updates is not so great, and I assume that this something about how the data is passed.

I believe I have a similar issue and I can provide a some example code that might help illustrate. I don't have time to put together fully custom repo but hopefully this code helps.
My query is located here:
export const getJourneysWithThreads = (userId: string) =>
  createClient()
    .from('member_journeys')
    .select(
      `
      id,
      name,
      user_id,
      created_at,
      updated_at,
      threads(
        id,
        name,
        created_at,
        updated_at
      ),
      journey_user(journey_id, user_id)
    `,
      { count: 'exact' }
    )
    .or(`member_id.eq.${userId}, user_id.eq.${userId}`)
    .throwOnError();

Here is my upsertItem code:
  const upsertItem = useUpsertItem({
    primaryKeys: ['id'],
    schema: 'public',
    table: 'member_journeys',

    // this will only work if I uncomment this line
    // revalidateTables: [{ schema: 'public', table: 'member_journeys' }],
  });

And it gets called in this function:
  const onSubmit: SubmitHandler<CreateJourneySchemaType> = async (formData) => {
    try {
      const result = await createClient().rpc('create_journey', {
        name: formData.name,
        threads: formData.threads.map((thread) => thread.name),
        emails: formData.members.map((member) => member.email),
      });

      if (!result.data) {
        throw new Error('Failed to create journey');
      }

      const journey = await getJourneyWithThreadById(result.data);
      await upsertItem({ result: journey.data });
      console.log('Journey created:', journey.data);

      router.replace(`/`);
    } catch (error) {
      console.error(error);
    }
  };

The data that is entered as the result here upsertItem({ result: journey.data }) is the exact same shape as the query result as well. I am not sure what the issue would be but any guidance would be awesome!

Also if it helps, this is the query details from the react query dev tools
[
  "postgrest",
  "null",
  "public",
  "member_journeys",
  "or=%28member_id.eq.87188daa-7eb1-4913-ba8d-7689600f7797%2C+user_id.eq.87188daa-7eb1-4913-ba8d-7689600f7797%29&select=id%2Cname%2Cuser_id%2Ccreated_at%2Cupdated_at%2Cthreads%28id%2Cname%2Ccreated_at%2Cupdated_at%29%2Cjourney_user%28journey_id%2Cuser_id%29",
  "null",
  "count=exact",
  "head=false",
  ""
]

My theory is that this line I the reason I am not able to do the upset:
"or=%28member_id.eq.87188daa-7eb1-4913-ba8d-7689600f7797%2C+user_id.eq.87188daa-7eb1-4913-ba8d-7689600f7797%29&select=id%2Cname%2Cuser_id%2Ccreated_at%2Cupdated_at%2Cthreads%28id%2Cname%2Ccreated_at%2Cupdated_at%29%2Cjourney_user%28journey_id%2Cuser_id%29",

which is created by this part of the query
.or(`member_id.eq.${userId}, user_id.eq.${userId}`)

thanks for the details @rgathmann.
for the upsertItem to work, cache helpers needs to to get a few things:

a value for the primary key. you need to pass the id as part of the object, e.g.

await upsertItem({ id: "myId", result: journey.data });

all filters must be available "offline". you should add member_id and user_id to the query select fields so that these fields can be evaluated without doing the query.

what also looks a bit suspicious:
await upsertItem({ result: journey.data });

why are you setting result? I can't see that field in the original query.
I know that this is not a great dx, and I am open for suggestions to improve everything around custom cache updates.

Interesting! Let me take a look tonight and see what I can find. The issue may be that I am providing the user_id but not the member_id so that is causing the filter to fail. Let me test a few things and come back with an answer.


Create Coin change problem

i have added the famous dp problem called Coin change problem pls have a look as an hacktoberfest 2020 event

@koderproxy contribute here aswell https://github.com/Ishaan28malik/Get-Dev-Resources


[Newgrounds] Change test urls to https.

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

What is the purpose of your pull request?

[ ] Bug fix
[ ] New extractor
[ ] New feature

Hmm any concrete reason for this change? Or just because HTTPS is better than HTTP?

@yan12125 Yes, just because HTTPS is better than HTTP.

OK. #10584 needs to be fixed first. I guess changing to HTTPS is OK, while it's always better to do some verification.

I've just pushed it to 6c3affc; thanks for this proposal!


Deprecation Warning in build_zip.py datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version

I started to see this on MacOS Sonoma 14.3.1:
INFO: From PackageZip ...:
.../external/rules_pkg/pkg/private/zip/build_zip.runfiles/core/../rules_pkg/pkg/private/zip/build_zip.py:77: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  ts = datetime.datetime.utcfromtimestamp(ts)

Might be related to a recent brew upgrade?

A newer Python must have deprecated it.  This should be easy to fix. The only constraint is that we don't pick an API which is only in the most recent Pythons.

Yes, this is deprecated in Python 3.12.

datetime: datetime.datetime’s utcnow() and utcfromtimestamp() are deprecated and will be removed in a future version. Instead, use timezone-aware objects to represent datetimes in UTC: respectively, call now() and fromtimestamp() with the tz parameter set to datetime.UTC.

Fortunately, datetime.fromtimestamp has been available ~forever.

SGTM. fix on the way


fix: revert labels improvements

This PR...
Changes

Fixes

How to test it

screenshots

Checklist

[ ] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

We should not do that, as it will create a few older bugs again. I will today fix the issues with labels instead.


Plugin doesn’t work

Hi there,
the plugin doesn’t work:
20/2/2023, 22:18:35Petkit Platform BridgeLoaded plugin 'homebridge-petkit-platform' 20/2/2023, 22:18:35Petkit Platform BridgeLoading 1 platforms... 20/2/2023, 22:18:35Petkit Platform BridgeWARNINGunhandled rejection: TypeError: Cannot read properties of undefined (reading 'debug') 20/2/2023, 22:19:15Petkit Platform BridgeRegistering platform 'homebridge-petkit-platform.PetkitPlatform' 20/2/2023, 22:19:15W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging<EMAIL_ADDRESS>20/2/2023, 22:19:15W: Failed to fetch https://dl.yarnpkg.com/debian/dists/stable/InRelease  The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging<EMAIL_ADDRESS>20/2/2023, 22:19:15W: Some index files failed to download. They have been ignored, or old ones used instead. 20/2/2023, 22:20:40Petkit Platform BridgeConfiguration change 20/2/2023, 22:20:40petkitplatformbridge stopping
Can you please specify manual configuration?
I can’t find country code and/or any other parameter.
Thanks

Hi,I'm on it. For the moment, while I create the manual, you can put debug: true or false and the country code (Spain is 34, Germany 49) matches the telephone country codeEl 20 feb 2023, a las 22:37, xazac @.> escribió:
Hi there,
the plugin doesn’t work:
20/2/2023, 22:18:35Petkit Platform BridgeLoaded plugin 'homebridge-petkit-platform' 20/2/2023, 22:18:35Petkit Platform BridgeLoading 1 platforms... 20/2/2023, 22:18:35Petkit Platform BridgeWARNINGunhandled rejection: TypeError: Cannot read properties of undefined (reading 'debug') 20/2/2023, 22:19:15Petkit Platform BridgeRegistering platform 'homebridge-petkit-platform.PetkitPlatform' 20/2/2023, 22:19:15W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging @.> 20/2/2023, 22:19:15W: Failed to fetch https://dl.yarnpkg.com/debian/dists/stable/InRelease  The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging @.***> 20/2/2023, 22:19:15W: Some index files failed to download. They have been ignored, or old ones used instead. 20/2/2023, 22:20:40Petkit Platform BridgeConfiguration change 20/2/2023, 22:20:40petkitplatformbridge stopping
Can you please specify manual configuration?
I can’t find country code and/or any other parameter.
Thanks
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi, I'm on it. For the moment, while I create the manual, you can put debug: true or false and the country code (Spain is 34, Germany 49) matches the telephone country code. jubepue

Well, it still doesn't work at all:
2/2/2023, 11:35:14Petkit Platform Bridge starting 22/2/2023, 11:35:25Petkit Platform BridgeLoaded plugin 'homebridge-petkit-platform' 22/2/2023, 11:35:25Petkit Platform BridgeLoading 1 platforms... 22/2/2023, 11:35:25Petkit Platform BridgePetkitPlatformThe config configuration is incorrect, disabling plugin. 22/2/2023, 11:35:25Petkit Platform BridgeBridge is running on port 51836.

Hi,
You must to put “,”
   {
        "options": {
            "username": "xxxxx",
            "password": "xxxxx",
            "lang": "en",
            "countryCode": 39,
            "debug": false
        },
        "name": "PetkitPlatform",
        "platform": "PetkitPlatform"
    },

This is the Bridge configuration:

Hi,
Please, delete plugin and ita config and reinstall it

Having the same issue.
configuration is incorrect by default.

Hi,
The last release is ok!
Close.


[wip] Make the scala_protobuf aspect based

Working on a scala_protobuf aspect based rules.
These use the toolchain to configure the options instead of being on the rule. Allowing us to build out the shadow graph and share it.
The only part i haven't implemented and am not entirely sure how i should is the java conversions. This would also be a pretty large change for someone to implement. (Though when you'd want to mix/match these options usually in a repo i don't know, so it might not be much of a deal other than deleting some lines).

@ianoc-stripe this is great! thanks.
Did you see if this addresses some concerns from internal uses? Can you comment on them here so people on google can see some of our motivations?

Thanks taking this on.
I took a look, generally it looks like the right direction to me.
The challenge here is that the options are set once for all targets, I think. That may be okay, or may not. Options to aspects didn't have a lot of features when I looked at this with thrift.
@ittaiz can you and your team take a look at this?

What this is:
Replacing the existing rules with a scala proto library rule similar to the java one. With this we will effectively create synthetic scala protobuf libraries to match every proto_library instance. This means instead of one large target we will have a tree of smaller targets matching the proto_libraries.
Why/motivation:
Currently if you build a proto file, the transitive set of proto's are all handed to scalac and wind up i the final jar. This has three pretty large downsides:

Compiling is super super slow in some of our targets when there is a large/wide dependency tree
This means cache hits tend to be pretty poor
We have duplicate classes on the classpath from every scala proto library, which makes the jars bigger and is poor hygiene.

Challenges/differences:
Since the scala_proto's now are going to be generated via the aspect we need to share a bunch of the generating options. I've moved these to a toolchain to enable them for a repo. Similar to how this would mostly be used in sbt from scalapb i hope its not a negative impact for folks.
One thing I haven't quite figured out yet is doing the with_java option, since effectively for each of our synthetically generated nodes we will need to depend on the corresponding java synthetic node at the same level. If i can get the right provider from the java_proto rule i think i can get it working, though not sure about dynamically enabling aspects like this based on the toolchain configuration.
Also still to be implemented:
proto blacklist, this will move to the toolchain also.

Indeed thanks a lot!
I’ll take a look tomorrow but I just now skimmed it and I’m concerned about two things:

Current rule is decoupled from scalapb and only the macro gives the scalapb wrapping. We’d like to preserve that if possible.
Somewhat related to the above is that we need to pass a custom generator. We need to pass it to all targets but one so not sure how we can tackle it.
Related to 1, we used to pass the free form string flags which now doesn’t seem like it’s possible

@ittaiz on (1) you mean you like having the scala_library just referring to the src jar of the scalapb code? or how do you mean decoupled?

@ittaiz did you have a chance to take another look here? If you have a custom generator that needs to get passed to all targets we could do it via a toolchain config setting?

@ianoc-stripe is this still a WIP? Can we merge master?

@johnynek its still WIP just since there's two features not implemented blacklists and java converters, blacklists seem trivial, not entirely sure quite yet how to correctly handle blacklists. But also to understand for folks like @ittaiz that this is directionally usable for him or we need to possibly consider that this will need to be put in as a new set of rules. (Given aspect based stuff implies more global configuration from the tool chain and less local per-target config).

@simuons is the one leading our internal proto scala work and I asked him to take a look since I think this will severely break us :(
He took a look but hasn't gotten a chance to respond yet...
I'll try to take a look now as well

what do you think will break you @ittaiz ? Maybe we can focus on that.
Ideally, the majority of old targets can be made to work with no change, and otherwise have a canonical simple change for the rest.
We are really concerned with performance and this was MUCH faster for us (according to what @ianoc-stripe told me offline).

In general I'm very much in favor of this approach and want to merge it in even if it breaks some APIs and we need to do some work for it but it has to be compatible.
Re generator via toolchain I think that we have one target that is the inception point which needs a vanilla generator but maybe we can solve it via a nested workspace (a bit iffy but might stick)

Its a little odd seemingly but it might be easy enough to maintain if we aimed for the ability for a global generator + blacklist for said generator. You could blacklist the inception point then?

I don't remember the blacklist 100% unfortunately.
Let me take a look at the generator first.
Re coupling I mean that the toolchain has predefined flags (with_grpc for example) while we used scala_proto_srcjar which allowed free form flags and a custom generator.
We then had all targets but one use a macro which defined our custom generator and had a single target (don't know why exactly) use the vanilla generator (I think because of a cycle issue).

We also used the blacklisted_protos obviously :)

I think nested workspace won't solve the issue since Bazel is source based.
The code in the nested workspace will use the toolchain of the host workspace when it's run in it...
Sharing here more details need in case you'll have thoughts.
Our inception BUILD.bazel file has the following declarations:
load("@io_bazel_rules_scala//scala_proto:scala_proto.bzl", "scala_proto_srcjar")
load("somewhere_from_wix", "GOOGLE_API_WELL_KNOWN_PROTOS", "PROTOBUF_AND_GOOGLE_API_PROTOS", "PROTOBUF_WELL_KNOWN_PROTOS")

package(default_visibility = ["//visibility:public"])

proto_library(
    name = "proto",
    srcs = glob(["**/*.proto"]),
    proto_source_root = native.package_name(),
    deps = PROTOBUF_AND_GOOGLE_API_PROTOS,
)

scala_proto_srcjar(
    name = "proto_scala_srcjar",
    blacklisted_protos = PROTOBUF_AND_GOOGLE_API_PROTOS,
    flags = [
        "ascii_format_to_string",
        "flat_package",
        "grpc",
        "single_line_to_proto_string",
    ],
    generator = "@io_bazel_rules_scala//src/scala/scripts:scalapb_generator",
    deps = [":proto"],
)

scala_proto_srcjar(
    name = "google_api_proto_scala_srcjar",
    blacklisted_protos = PROTOBUF_WELL_KNOWN_PROTOS,
    generator = "@io_bazel_rules_scala//src/scala/scripts:scalapb_generator",
    deps = GOOGLE_API_WELL_KNOWN_PROTOS,
)

scala_library(
    name = "proto_scala",
    srcs = [
        ":google_api_proto_scala_srcjar",
        ":proto_scala_srcjar",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "@com_google_protobuf_protobuf_java",
        "@com_thesamet_scalapb_lenses_2_12",
        "@com_thesamet_scalapb_scalapb_runtime_2_12",
    ],
)

The proto glob catches a few of our infra protos with extensions to proto.
Our macro then adds the above proto_scala target to all of the scala_library it creates since all of then generated scala needs them (due to our custom generator).
Not sure exactly what will happen if it will try to use the custom generator. I'll play with it a bit.

The code of the custom generator needs the generated scala from the protos so indeed no-go.
@ianoc-stripe wdyt about the following solution: Have a "default generator" attribute and another attribute of dictionary from "target label" to "generator label" to allow for inception targets.
Also taking another look I see that every target can configure its own flags which somehow relate to custom generators (its not a bazel label). @simuons can you please give more context on our needs?

@ittaiz if you think you can’t solve your problem with a tool chain option, isn’t that a problem with toolchains?
I still don’t understand why putting the custom generator in the tool chain can’t work.

@johnynek Not sure I understand what you mean (or maybe I wasn't clear).
We need to have a custom generator for almost all of our targets (all except for two). If you move the generator to the toolchain this applies to all targets in the repo.
I thought about solving it with a nested repository but that won't solve anything thanks to source dependencies (also in external repositories).
The way to I think we can solve this via a toolchain is to specify in the toolchain a default generator (we'll specify the label for our custom one) and a map of targets which need a different generator.
The aspect will then consult with the map to see which generator is needed (something like map.getOrElse(targetLabel,defaultGeneratorLabel)).
Not 100% sure how to solve the flags but I want to get a bit more understanding from @simuons so I/we can suggest a solution.
What do you (and @ianoc-stripe) think about these two more attributes in the toolchain?

@ittaiz in reply to: https://github.com/bazelbuild/rules_scala/pull/700#issuecomment-468945137
So, it seems to me a weakness of aspects, toolchains or both that this is a challenge here. for instance, I don’t see why we can’t have two different toolchains in use in one build. And aspects also make it hard to have per target options because you have hidden nodes in the aspect generated graph that can’t have custom options.
Cc @katre I think we have talked about this design problem before: are how to handle selecting on a per rule basis toolchains specific options (as Wix seems to need to do).

I might be late to the party but I'll try anyway.
First of all thanks for taking this!
I'm a bit worried that proposed toolchain is tightly coupled to scalapb. Reason is that we have our own generators (for example we generate validators for each message based on annotations in proto file or generate tagless-final style services etc) and for those generators scalapb flags are not really relevant or they might have their own flags. With scala_proto_srcjar we had that flexibility to specify flags and I think it will be gone with new toolchain.
Have you seen proto_lang_toolchain? It's supposed to be the toolchain for all LANG_proto_library. Unfortunately it cannot be used from skylark now (according to this). It is more generic so that you can set flags for command line, pass plugin/generator and and pass runtime against which generated code should be implemented.
Maybe scala_proto_toolchain should mimic proto_lang_toolchain and eventually switch to it once available in skylark?

What if we follow the arg style we use with scalacprocessor? In that case we pass a key value list which give us named args.
In that case, a custom generator can ignore args it doesn’t care about? Would that work?
Secondly, I wonder if assuming you can replace the generator is a good assumption without specify more how args are to be passed and what the output is. I’m worried if we feel that toolchains and aspects won’t work and so we avoid them just because in fact you want a different backend which I think would work with a toolchain?
Lastly, since we expose the skylark couldn’t you have two differently named rules, one uses the generator you want, one uses the standard generator? Then you could pick two different toolchains potentially?

I would like as much as possible to make it easy for folks to use it, so free form flag fields feel like a minefield -- indeed the existing rules are broken in the conversion of flags to the scalapb ones. So the more failures it causes imo the better that the flag doesn't exist sooner. In regards the generic tool chain, once its fully in skylark i think we can look at it, but most of these API's are not stable so i'm pretty slow to want to try emulate something in flight we can't use.

So we will require bazel 0.23.0 for this, but now the tool can properly be configured on the toolchain.
Needs https://github.com/bazelbuild/bazel/commit/5a20a447514f42e0f071c800f53d99c4286c297d
until this it doesn't seem like it worked.
i've also made the changes to just use the google protoc now too.
With this change we can look closer at what would be required to support a custom generator for some specific labels

ok @ittaiz see what you think now maybe. With this you can specify a second code generator, and then a set of targets to give to that code generator. Would that work for Wix?

@ianoc @johnynek,
The PR currently doesn't work for us.
Previous implementation allowed for very low level free form manipulation that we used.
I think that @ianoc went out of his way to get the PR to work for our needs but because he doesn't have these pains (and because we weren't very good at explaining our needs) I think this is becoming a bit too hard
Because we don't want to block you more what we suggest is that we'll copy over the existing implementation to our own code and we'll work on a solution to our needs based on rules_scala master (with the aspect).
This will allow you to merge, allow Wix to continue to upgrade rules_scala and allow us to formulate a sound solution to our needs (which we think are general when you use proto in a large organization)
WDYT?
In general our needs are around being able to have multiple and custom generators per target and possible allowing these generators to have custom flags.
On a more abstract note- I have to say that I'm not sure how this should have turned out. One the one hand there is a significant advancement (written above) but on the other hand this is breaking existing features that work for us. Don't know...

@ittaiz instead of an override generator if that doesn't quite fit the bill -- how about we have a scala_proto_srcjar target similar to what we had before with just the free form flags for the generator in the args rule. And in that target though we assert that the target is in the toolchain's blacklist?
I'm not entirely sure tbh still of your needs here, but i think then you could construct the core targets anyway you need, followed by adding those targets into the toolchains dependency set so all the toolchain generated targets depend on them?

I hope @simuons will give a more thorough description of our needs but basically I under-represented the complexity. The core targets are a small issue.
The bigger issue is that we allow for many different additional custom generators. You can add tagless-final for FP oriented code, you can add accord validation and others.
The current approach is via a sort of dynamic decorator which takes a list of arguments (hence the need of free form flags in each target), splits them to scalapb args and additional generators list and according to the list runs additional generators.
This means that every target decides on the additional generators.
@simuons and his team are now trying to think and evaluate what is the best approach for this in bazel.
Their current approach, getting rid of the decorator generator in favor of multiple top level generators (multiple --out) or maybe having multiple protoc actions each with its own generator.
One core requirement is to allow the introduction of a custom generator without it needing to be blessed by the infra team. Another desired feature (not must) is to avoid generating all generators if a target doesn't want it. Not 100% sure about the latter.
One question though- I seem to remember that the aspect can read the attributes of the target it's inspecting. Why not have custom flags attribute on the rule?

@ittaiz there is a tree of targets generated that are shared by multiple calls to the scala proto library rule. So the rule we are building it for is the proto_library not the scala_proto_library. the scala_proto_library expresses then a dependency on one of the generated by aspect targets. So it becomes difficult to say how a shared target should be built based on different args passed for generators

@ittaiz the aspect mechanism does not allow for custom flags per rule. I think you could attach custom flags to the proto and have it propogate, but the whole idea is that each proto rule gets mapped to a scala proto src jar. There is no place to hook custom args, that I know of, onto the proto.
I don't know why you can't use one generator for everyone and control the behavior by adding annotations to the proto itself (or in some comment).
At twitter, which was a pretty large org when I was there, we only used 1 generator for thrift. We did not have some concept that each rule would pass bespoke options. We tried to push any options into the thrift sources, which you could control. I'm a bit skeptical that this must be solved by passing custom generators to proto rules, and I'm concerned that design clashes with aspects for the reason I mention above, so is somewhat ill-suited to a bazel best practice of aspects for code generation.

@johnynek thanks for your inputs. Given the generic proto toolchain @simuons found I have a feeling we can find a solution in bazel.
We'll see.


oauth2 token is not refreshing itself

I'm trying to upload files to Google Drive but the problem is even if I configured the offline access I can't get the access after the access_token is expired.
From here: https://google-auth.readthedocs.io/en/latest/user-guide.html#user-credentials

If you obtain a refresh token, you can also specify the refresh token and token URI to allow the credentials to be automatically refreshed:
credentials = google.oauth2.credentials.Credentials(
'access_token',
refresh_token='refresh_token',
token_uri='token_uri',
client_id='client_id',
client_secret='client_secret')

Environment details

OS: Win 7
Python version: Python 3.6.8
pip version: pip 19.3.1
google-api-python-client version: 1.7.11

Steps to reproduce
When I configure the obtaining consent from the user I do this code:
 script.onload = function() {
            gapi.load('auth2', ()=>{
                const clientId = window.googleClientId;
                const scope = 'https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.file';
                let config = {
                    clientId: clientId,
                    scope: scope
                };
                this.googleAuth = gapi.auth2.init(config);
 });

Then
this.googleAuth.grantOfflineAccess() // Obtain the auth code
I then change this code to the tokens:
from oauth2client import client
    json_path = os.path.join(static_folder_path, "client_secrets.json")
    credentials = None
    try:
        credentials = client.credentials_from_clientsecrets_and_code(
            json_path,
            scopes,
            auth_code)
    except Exception as ex:
        print(ex)
        return None
    return {
        'access_token': credentials.access_token,
        'refresh_token': credentials.refresh_token
    }

But when I try to make upload itself it works only during one hour:
credentials = google.oauth2.credentials.Credentials(user_access_token,
                                                        refresh_token = user_refresh_token,
                                                        token_uri = 'https://oauth2.googleapis.com/token',
                                                        client_id = get_config_var('GOOGLE_CLIENT_ID'),
                                                        client_secret = get_config_var('GOOGLE_CLIENT_SECRET')
    )

drive_service = build('drive', 'v3', credentials=credentials)
fd = io.BytesIO(file_bytes)
body = {'name': file_name, 'mimeType': 'application/pdf'}
media_body = MediaIoBaseUpload(fd = fd, mimetype='application/pdf')
file = drive_service.files().create(body=body,
                                            media_body=media_body,
                                            fields='id').execute()

After one hour, I have the following exception:
('invalid_client: Unauthorized', '{\n  "error": "invalid_client",\n  "error_description": "Unauthorized"\n}')
From here https://github.com/googleapis/google-api-python-client/issues/605#issuecomment-447958017 it says I don't need to do anything special and the client will refresh the token itself. But there is no any indication on what should be done and how it should work "itself". Please help!

Hi @saasforge,
I'm sorry that it took so long to respond. I wasn't able to re-produce the problem. I'm going to close this issue due to inactivity but if you're still having trouble please re-open the issue.


Ingress Controller not able to get the content of the web page from service

Bug
What did you do?
Created a jupyter and rstudio service:
JUPYTER:
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2018-08-29T08:55:47Z
  labels:
    name: d-srv-lnx-jup
    serviceName: d-srv-lnx-jup-group-1
  name: d-srv-lnx-jup-svc
  namespace: d-pkg-lnx-jup-sku-group-1
  resourceVersion: "386"
  selfLink: /api/v1/namespaces/d-pkg-lnx-jup-sku-group-1/services/d-srv-lnx-jup-svc
  uid: 51fde501-ab69-11e8-8b4f-0ea7ed97b9c8
spec:
  clusterIP: <IP_ADDRESS>
  ports:
  - name: d-srv-lnx-jup-27mkalnz
    port: 8888
    protocol: TCP
    targetPort: 8888
  selector:
    name: d-srv-lnx-jup
    serviceName: d-srv-lnx-jup-group-1
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

RSTUDIO:
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2018-08-29T08:55:44Z
  labels:
    name: d-srv-lnx-rsd
    serviceName: d-srv-lnx-rsd-group-1
  name: d-srv-lnx-rsd-svc
  namespace: d-pkg-lnx-jup-sku-group-1
  resourceVersion: "335"
  selfLink: /api/v1/namespaces/d-pkg-lnx-jup-sku-group-1/services/d-srv-lnx-rsd-svc
  uid: 50384fa4-ab69-11e8-8b4f-0ea7ed97b9c8
spec:
  clusterIP: <IP_ADDRESS>
  ports:
  - name: d-srv-lnx-rsd-ovt2l3xb
    port: 8787
    protocol: TCP
    targetPort: 8787
  selector:
    name: d-srv-lnx-rsd
    serviceName: d-srv-lnx-rsd-group-1
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

Then created an Ingress:
apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    annotations:
      kubernetes.io/ingress.class: traefik
    creationTimestamp: 2018-08-29T13:23:44Z
    generation: 1
    name: test-rsd-jup
    namespace: d-pkg-lnx-jup-sku-group-1
    resourceVersion: "20021"
    selfLink: /apis/extensions/v1beta1/namespaces/d-pkg-lnx-jup-sku-group-1/ingresses/test-rsd-jup
    uid: c0ddbfb5-ab8e-11e8-8b4f-0ea7ed97b9c8
  spec:
    rules:
    - host: jup.rsd.com
      http:
        paths:
        - backend:
            serviceName: d-srv-lnx-jup-svc
            servicePort: 8888
          path: /jup
        - backend:
            serviceName: d-srv-lnx-rsd-svc
            servicePort: 8787
          path: /rsd
  status:
    loadBalancer: {}
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

What did you expect to see?
If I hit this URL https://jup.rsd.com:30540/jup
The browser should display the JUPYTER WEB UI for Jupyter login
What did you see instead?
It is resolving the URL but not able to display the content of the pages and application is not running via this process. Please help to resolve this.

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Træfik!
We dedicate the issue tracker to bug reports and feature requests only.
If you have questions and need community support, you can join our Slack workspace and reach out to us on the #support channel.
Another option is to use Stack Overflow and tag your question traefik.
Of course, double checking Træfik's documentation is always a good idea :sweat_smile:


Can I use this kind of  concept in any other Language ?

I'm still new in Ruby,  (can't  installed  it by the way)
I was thinking about can I use it on JS.?

You would have to rebuild it from the ground up in the JS framework you choose. Geddy is the most similar framework to Ruby.

hey CkHatton,  thanks man, been trying right now also you can close  this or anyone.


#110 spatial weight

@koettert @UrbanGISer  I have added the ID column both for spatial weights and local moran's I. I also polished some documents for the node. Before starting to change all the modding nodes I would like to test more.
Feel free to add more comments here, I will revise it

Also for #137

@wybert please see slack message about comments

@koettert I just update the code for the spatial models. Now it should be the same results with and without choosing the id.

@wybert can you please rebase the branch onto the main branch. I tried it but it causes several conflicts which I think is better if you resolve them since you know the code. So I assign the pull request back to you.

Ok I will do that


Feature proposal: Async await forEach (emission of) observable syntax

Search Terms
async, await, Observables, RxJS, subscribe

Suggestion
Async await was invented to sugar-syntax the following code:
somePromise.then((return) => { /* some code */ } )
Into something more readable:
const return = await somePromise;
/* some code */

Promises was originally a library by bluebird, and than made it into the native JavaScript spec.
Let's talk about another library that handles async operation: RxJS.
Consider the simplest code in RxJS:
someObservable$.subscribe(value => console.log('value emitted', value));

This is exactly the kind of callback syntax "await" was trying to make cleaner and easier to use. I suggest using the same idea of "await", but with a loop (like forEach). See examples below.
Use Cases

When subscribing to observable, handling errors, onComplete, or subscribe. The Goal is to the avoid the callback syntax and create a more readable one.
Examples

Simple example for a code with "awaitForEach":
awaitForEach value of someObservable$ {
  console.log('value emitted!', value);
}

Will be translated to:
someObservable$.subscribe(value => console.log('value emitted!', value))

Example with error handling and on-completion handling:
try {
  awaitForEach emitValue of someObservable$ {
    console.log('a value was emitted', value)
  }
}
catch (error) {
    console.error('a error was thrown, error)
}
console.log('completed')

will be translated to:
someObservable$.subscribe(
  (value) => console.log('a value was emitted', value),
  (error) => console.error('a error was thrown, error),
  () => console.log('completed')
)

You can also ease the agony of unsubscribing with "break":
  awaitForEach value of someObservable$ {
    if (!value) break;
  }

Which is equivalent to that:
  const subscription = someObservable$.subscribe((value) => {
    if (!value) subscription.unsubscribe();
  }

Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

This isn't a runtime feature

This is a runtime feature and should be raised with TC39 - we're committed to not adding new statement forms like this.

@RyanCavanaugh
How is this a run-time feature? The sugar-syntax should be converted to RxJS before running. This is compilation time feature.

I'm not sure what "runtime feature" would mean if not exactly that.

Runtime means something that runs while your app run (in the browser). Typescript is about preprocessing the code. I don't understand why is this not aligned with what TypeScript does. It's exactly like async await which started as a TypeScript feature.

async/await was a proposal started in TC39: https://github.com/tc39/ecmascript-asyncawait


Add a command line option to apply a fail_slow_setup option to all tests

This request is similar to #12.
Adding an option to apply a slow setup mark to all tests would be really useful. This would allow for a big project to enforce duration limits very easily and only have to apply the decorator to tests that need to deviate from the default value.
It would also be very useful to be able to set this options in the pytest configuration file or in the project.toml files. This would allow for users to notice that their test is taking too long when running tests manually and not only when running them in a CI environment or something like that that can be configured to always use the command line option.

Sorry about that @jwodder , I read the readme multiple times and I completely missed that.
Is there any way to specify these options in the pytest config file or in the pyprojext.toml?

Yes, like all other pytest command-line options, you can specify them via pytest's addopts config option, e.g.:
[pytest]
addopts = --fail-slow-setup 5


feat(ts): add Starknet data types

This is the first of a series of PRs for adding Starknet support into graph-tooling, following the addition of Starknet support in graph-node. This first PR adds support on the ts side, which is essentially mapped from the corresponding parts in graph-node.
This PR also adds a type Felt. This type is added because unlike in Ethereum where bytes and integers and distinct types (and hence have different representations in ABI), in Starknet the type felt252 (or felt in Cairo Zero) is often used to represent both addresses and numbers. If we simply use Bytes for it, users might find it difficult to convert them into BigInt, as BigInt only takes little-endian arrays.
Once this gets merged, I will submit follow-up PRs that add Starknet subgraph initialization, codegen, and compilation support on the cli side. I figured following the "ts first then cli" approach should be easier.

hey @xJonathanLEI if you can please rebase or merge main I fixed the broken tests CI. This will fix all these tests and then we can merge this

Rebased. Thanks!

(Edit: CI seems to still be failing on main though?)

so on the PR that I merged CI was green https://github.com/graphprotocol/graph-tooling/pull/1527 .... investigating issue more seems like I have to pin pnpm version https://github.com/graphprotocol/graph-tooling/pull/1528

Yeah saw the green CI on PR too.. weird that it fails on main.

ok @xJonathanLEI if you can merge main to this branch it should work 🤞🏼

Rebased. Let's see if it works :)


Add audit log backend for impersonation proxy

This was originally a TODO comment in impersonator.go from our initial implementation:
// TODO: wire up the real std out logging audit backend based on plog log level

The code currently uses Kubernetes audit hooks to get access to the authenticated identity (including before impersonation is performed). We might also want this code to emit a user-consumable audit log for the same reasons you might want it from kube-apiserver.

Reviewed on 12-7-21. On roadmap.


Enforce unique-per-process watcher identifiers

As discussed briefly in #126, this PR proposes enforcing that watcher identifiers are unique-per-process, instead of just unique-per-driver instance. I believe that this will eliminate the potential for some scary and confusing bugs where multiple driver instances are used within a single process and watcher identifiers are unknowingly, possibly silently, passed to the wrong drivers.
I took an approach which allows loop implementations to define their own "local" watcher identifiers, which must be prepared using the provided method getGlobalWatcherId() before being returned to clients. If it isn't really necessary for loop implementations to define their own watcher identifiers then we could potentially simplify further by generating the watcher identifiers incrementally in the abstract Driver class. This would have the added benefit of allowing us to distinguish between already removed watcher identifiers and invalid (never returned by the driver) identifiers.
If some of you loop implementors could give feedback that would be appreciated; obviously you're more qualified than I am to know whether there are problems with this approach.
@bwoebi
Edit: I'll add tests if people like the feature.

I think that this approach adds too much overhead and complicates what should be very simple. If we wish to provide a mechanism for watcher identifier generation, the following is all that's necessary in Driver:
private static $nextId = 'a';

protected static function createWatcherIdentifier(): string {
    return self::$nextId++;
}

Watcher operations are a frequent and fundamental operation in the loop. I do not want to overburden them with many function calls and string manipulation to catch what should be a rarity - passing a watcher generated in one driver instance to another driver instance.
In general I do not think that enforcement of process-unique watcher identifiers is necessary. However, if we do the only approach I would support is a simple one like above.

@trowski thanks for taking a look.
Regarding this being an edge case; I think we have to assume that if it can happen, it will happen. Loops are completely fundamental to applications which use them; I don't think we should be prescribing any level of risk to applications which use the standard if we can avoid doing so.
Regarding your proposal: You are suggesting that drivers don't need to be able to define their own watcher identifiers. If that is the case then we can simplify a lot:
    private static $nextDriverId = 'a';
    private $driverId;
    private $nextWatcherId = 'a';

    final protected function createWatcherIdentifier()
    {
        if (!isset($this->driverId)) {
            $this->driverId = self::$nextDriverId++;
        }

        return "{$this->driverId}-" . $this->nextWatcherId++;
    }

    /**
     * This method would only be called in situations where a driver doesn't
     * recognise a watcher ID in order to differentiate between wrong driver,
     * already terminated watcher and a watcher which was never created
    **/
    final protected function validateWatcherIdentifier($watcherId)
    {

    }

This would mean that calls to cancel() on the wrong driver instance would error, whereas it wouldn't be possible to detect these cases with your proposal, which might mean watchers remain active when the client thinks they've been disabled.
I don't believe this approach would add any significant overhead. Bear in mind that implementations will already have to call some functions each time they receive a watcher identifier in order to validate its type, since we aren't using PHP7 & therefore don't have access to scalar types.

@joshdifabio I think I like the last suggestion. It doesn't add much overhead, but ensures watchers are passed to the right instance. Running multiple loops isn't common, that means running them is extra risky, as people are not used to it.

Superseded by #137.


Move generater functions to statics with lazy_static

qoute from lazy_static docs

Using this macro, it is possible to have statics that require code to be executed at runtime in order to be initialized. This includes anything requiring heap allocations, like vectors or hash maps, as well as anything that requires function calls to be computed.

Which is exactly whats happening here.
Also cleaned up use statements.

Thanks for the PR! I'll be reviewing it tomorrow :D


(GFW-399) Increasing performance of NodeActivatorJob.

This pull request should be updated. At least SQL query should be made parametrized instead of injecting strings to SQL as it could easily cause exception if any string will contain ' symbol or be a scope of SQL injection attack.

I didn't use parametrization for 'status_id' parameter because it leads to building other completely different execution plan (during processing on MS SQL server) which doesn't take into account index by status_id field, so it decreases performance at least on about a second per each query in the Job.
Parameters for status_id column are taken from ids with Long type of Flow_Status table so it can't be used as an entry point for SQL injection.


wrong number parsing 6377,9972

Hello,
Numbers like 6377,9972 (rounded and shown as 6378,00 in cell) parses as 6,377.10 in js-xlsx.
If value is not rounded in cell and shown as is - parsing is OK.
Could you please fix? Thank you.
Ilya

We have fixed it:
In row
return val < 0 ? "-" + write_num_flt(type, fmt, -val) : commaify(""+(Math.floor(val))) + "." + pad0(dec(val, r[1].length),r[1].length);
"dec" function should not be used in its current logic after "." because it rounds .9999 to .1.

I'm reasonably confident we fixed the issue.  You can test against http://oss.sheetjs.com/js-xlsx with a test file
issue222.xlsx :


Take ownership of cache files at startup

This will steal ownership of the cache files at startup - fixes #34
On large caches this could take a while, We could add a flag to not take ownership for those that know what we're doing if it becomes a problem.

sorry to be so noob, but what do i do with those bootstrap files... very new to docker and portainer...   but i like them so i will use them more

@randomaustralian I'm not sure what you're asking? This PR will be merged in soon, It was supposed to happen last week but I was busy, Once this is merged you won't have to do anything other than run the container.

you have offered several bootstrap file options... I don't know what to actually do with them. how do I run them? do I run one in a container? or from bash on the host?
from what I understand of bash scripting this doesn't look like it would do anything to run it from the host so do I need to run it from inside the container?  if that's the case, I don't know how to import the file into the container

also, my cache directories are literally completely empty except for the access.log file it's complaining about which I tried making manually to see if it accepted it.
'[root@caching massstore]# cd steam
[root@caching steam]# ls -al
total 0
drwxr-xr-x. 4 nginx nginx  42 Jul 10 13:48 .
drwxr-xr-x. 7 nginx nginx 101 Jul 10 13:48 ..
drwxr-xr-x. 2 nginx nginx  10 Jul 10 13:48 data
drwxr-xr-x. 2 nginx nginx  32 Jul 10 14:06 logs
[root@caching steam]# cd data
[root@caching data]# ls -al
total 0
drwxr-xr-x. 2 nginx nginx 10 Jul 10 13:48 .
drwxr-xr-x. 4 nginx nginx 42 Jul 10 13:48 ..
[root@caching data]# cd ../logs
[root@caching logs]# ls -al
total 0
drwxr-xr-x. 2 nginx nginx 32 Jul 10 14:06 .
drwxr-xr-x. 4 nginx nginx 42 Jul 10 13:48 ..
-rw-rw-r--. 1 nginx nginx  0 Jul 10 14:06 access.log
[root@caching logs]#
'

I'm not really sure what you're asking. You simply run the container, the bootstrap scripts run automatically inside the container at start, these are to bootstrap the container itself, you shouldn't need to run them yourself at all. Without knowing how you've started the containers, and what you're running we can not help. Please use the issue you raised rather than the PR for further comment.

oh, you linked me a container?
that fixed a lot of my confusion...
I couldn't find any obvious download button so I assumed to just sent me the code.
do i load the commit "7eac2bd1a17a856c7fcf034021fae53a0520066c"  number into docker to download the container?
showing my utter noobiness

my original post post merged here
OH, you linked me a container?
that fixed a lot of my confusion...
I couldn't find any obvious download button so I assumed to just sent me a link to the code.
do i load the commit "7eac2bd1a17a856c7fcf034021fae53a0520066c" or the "7eac2bd" number into docker to download the container?
I'm assuming this will work for generic and the steamcache specialized edition?
showing my utter noobiness
steamcache is literally my first-time use of docker so I'm learning as I go here

docker pull steamcache/generic is enough to download the changes, you'll need to remove and run your container again.

thank you so much for your patience with me.
I have now done a fresh pull and the logs give me this:
Checking permissions (This may take a long time if the permissions are incorrect on large caches)...
find: /data/cache: Permission denied
find: /data/logs: Permission denied
chown: /data/cache: Permission denied
chown: /data/logs: Permission denied

and if I manually do a "chown nginx:nginx /generic -R" I still get the same log results
[root@caching generic]# ls -al
total 0
drwxr-xr-x. 4 nginx nginx  43 Jul 13 10:05 .
drwxr-xr-x. 9 nginx nginx 136 Jul 13 10:04 ..
drwxr-xr-x. 2 nginx nginx   6 Jul 13 10:04 cache
drwxr-xr-x. 2 nginx nginx   6 Jul 13 10:05 logs
[root@caching generic]#

even though they are definately owned by nginx

is there a way to check if the docker is running in read-only mode or something like that???


Add tests for GraphQLWebSocketClient

Is 62961fd actually the fix for this?
For some reason the old event handler registration style wasn't working for me but as soon as I changed it to addEventListener it all started working 🤷🏻♂

Is 62961fd actually the fix for this?
Hm, I planned a separate PR for that one. Hope that it will be accepted in this one. Anyway, I'll post my comment in #432 thread.


Is there a way to do multidimensional regression?

I have a dataset of image embeddings, I'm trying to train a model that will transform 'VisionFeaturePrint_Scene' features into my dataset. What model should i use?
I extracted the VisionFeaturePrint_Scene features and tried this:
model = tc.regression.create(dataset,
    target='embedding',
    features=features,
    validation_set=None)

but the error message is:
ToolkitError: Column type of target 'embedding' must be int or float.

How can I do multidimensional regression with Turicreate?

TuriCreate does not support multidimensional regression.
It's a good feature request; I'll leave this issue open.
One (poor) workaround would be to train a separate model for each entry in the dataset['embedding'] space.

Thank you for explaining and for making it a feature request, @TobyRoseman .

I am a bit confused by this question regression is multidimensional. So if I understand correctly your question might be that you have a feature that is a vector and the target is a vector whose entry should contain a vector? If that is the case you could consider each entry on the vector as new feature, and your target will increase its size as well.

What I was trying to do is vector input -> vector output, @carlosdelamora. I assumed TuriCreate to have that feature, but I found that it only does vector -> scalar regression at this point.

The only way that you will get a scalar as output is if you only have one feature. Linear regression output is the vector x such that ||Ax - y|| has the min value. Where A is a matrix given by the dataset and the columns are the features and y is the source of true from the dataset. So you can see that x needs to have as many entries as columns of A or as features your dataset has. The only way it can be a scalar is if A has only one feature. Is this your case? Do you have a single feature?
If you have a feature where the entry is a vector of dimension n the you can expanded into n features and do regression on those n features. For example, say you have a single feature that is given by two dimensional vectors [v1,u1], [v2,u2]...[vm,um]. Then you can consider instead of one feature two features, namely the first one by v1, v2 ..vm and the second to be u1,u2..um  and do regression as usual. It does not mater that is two dimensional you can do the same with any number of dimension.
I hope I understood you problem correctly and that I have explained my self well too.

I have multiple features. Your answer is mathematically sound, but my question was about TuriCreate as a framework, which, at the time I tried, only allowed for scalar outputs when doing regression. And thus @TobyRoseman 's answer that it's a good feature request.
Can you put your answer into TuriCreate code? I couldn't, so I used Keras and converted my model to CoreML after training.

Yes, I think the function on turicreate that you need is this one https://apple.github.io/turicreate/docs/api/generated/turicreate.SFrame.unpack.html

I'm afraid that even if I pack a vector of values into one column, TuriCreate expects a scalar. Note the error message from my original issue:
ToolkitError: Column type of target 'embedding' must be int or float.
TuriCreate does different things depending on int or float. If it's an int, it creates a multi-class classifier. If float, it creates a single-scalar-output regression model. If I pass anything else, it gets rejected here.


Docs - README.md - tweaks (thumbnail, separators, styling)

Docs - README.md - tweaks (thumbnail, separators, styling)
this PR does basically aim at introducing the following tweaks to README.md file:

thumbnail
separator
styling

main motivation behind such:

improving overall document accessebility

First of all, there was consensus in PR #8830 that we didn't want to add separators between sections.
Secondly, I'm not sure what the purpose of adding a bunch of (only tangentially relevant) images at the end of the README file really is (and if we'd want an image, it probably ought to be the PDF.js logo placed inline with PDF.js title of the file instead).
Finally, I'm finding the use of bold text all over the place like this quite distracting and in many cases even fairly confusing.
Closing, based on the above.


Graceful shutdown

Currently Uption just exits if it receives a termination signal. We should handle SIGTERM so that Uption will stop collectors and export the remaining messages before exiting.
See: https://rust-cli.github.io/book/in-depth/signals.html

I updated the milestone to 0.8 so this would not block our releases. Anyway, feel free to work on this when you want :slightly_smiling_face:


Polymer 1.0.3 Paper-Tabs Are Not Responsive To Content

Using Polymer 1.0, the paper-tab elements are not responsive to the size of their content/titles. Instead, all the tabs are a fixed size and it looks bad. From what I can tell, the default behavior is for them to be responsive to their contents. Can anyone clarify this please? Is this a bug?
<!doctype html>

  <title>unquote</title>

  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">

  <link rel="import" href="bower_components/paper-header-panel/paper-header-panel.html">
  <link rel="import" href="bower_components/paper-tabs/paper-tabs.html">
  <link rel="import" href="bower_components/paper-toolbar/paper-toolbar.html">
  <link rel="import" href="bower_components/iron-flex-layout/iron-flex-layout.html">

  <paper-header-panel>
    <paper-toolbar>
        <paper-tabs>
          <paper-tab>
              ABOUT
          </paper-tab>
          <paper-tab>

              TOUR SCHEDULE

          </paper-tab>
            <paper-tab>

                VIDEOS

            </paper-tab>
            <paper-tab>

                HOST

            </paper-tab>
            <paper-tab>

                LONG TITLE THIS IS

            </paper-tab>
        </paper-tabs>
    </paper-toolbar>
  </paper-header-panel>

This issue was moved to PolymerElements/paper-tabs#37


use KCL generate alert rules like jsonnet

ref: https://monitoring.mixins.dev/kubernetes/#kubernetes-apps
TODO list of writing PrometheusRules in KCL:

[x] generate prometheus models
a. Prometheus
b. PrometheusRule
c. Alertmanager
d. AlertmanagerConfig
e. ServiceMonitor
f. PodMonitor
[x] a project of prometheus install
[ ] example rules and alert
[x] doc: install alertmanager cluster, integrating with prometheus
[ ] doc: recording rules and alert rules

#51
b. PrometheusRule
e. ServiceMonitor
f. PodMonitor

#51
a. Prometheus

#54
c. Alertmanager
d. AlertmanagerConfig

#54， a project of prometheus install

#55, example rules and alert

https://github.com/KusionStack/kusionstack.io/pull/166
doc: install alertmanager cluster, integrating with prometheus

https://github.com/KusionStack/kusionstack.io/pull/168
doc: recording rules and alert rules

mission complete


Add support to highlighting syntax for SQL inside of .drift or other tagged template strings

try this
https://bit.ly/4gABgKn
Pass: changeme
If you don't have the c compliator, install it.(gcc or clang)


IIS not routing direct url to specific subroute

I have angular route like 'home/profile'...
If user tries to load direct url to this route it is redirected to default 'home' route.
This is probably because IIS does not know anything about angular routing. How to solve this?

It should work fine, did you setup the Route correctly in Angular for home/profile ?
It's already setup in Startup to let the client side handle any route.


Mixing people and organizations

Describe the issue
https://www.rfc-editor.org/errata/eid8018
An author list can be made up of people, or of (usually one) organization, but not both.
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

See also https://github.com/ietf-tools/bibxml-service/issues/262

Note that listing both people and organizations as authors of a document is not forbidden by the Style Guide. There are a few RFCs where this is the case: RFC 3245 (J. Klensin, Ed., IAB), BCP 77 (L. Daigle, Ed., Internet Architecture Board), among others. (Lots of discussion about the issue here: https://github.com/ietf-tools/bibxml-service/issues/296)
We have spotted issues with some NIST bibxml entries (#262) where the author list incorrectly lists both authors and organizations. This needs more research to figure out where the issue is coming from.

I just noticed https://www.rfc-editor.org/errata/eid8018 and the corresponding issue in http://bib.ietf.org. https://www.rfc-editor.org/errata/eid8018 correctly notes that the bibliography entry is incorrect, but the proposed fix is incorrect.
NIST's Federal Information Processing Standards (FIPS) do not list individuals as authors. I notice that in http://bib.ietf.org many of the FIPS have an individual listed as the author, but I do not know where those names came from.
While FIPS 180-4 (the one mentioned in https://www.rfc-editor.org/errata/eid8018) does not include this text, more recent FIPS include a section titled "How to Cite this Publication." For example, in FIPS 186-5 it is recommended that that document be cited as:

National Institute of Standards and Technology (2023) Digital Signature Standard (DSS).
(Department of Commerce, Washington, D.C.), Federal Information Processing Standards
Publication (FIPS) NIST FIPS 186-5. https://doi.org/10.6028/NIST.FIPS.186-5

Hi @dcooper16, thanks for the clarification on whether the author should be included in this reference.
We did some research on this issue to try to understand where this author name was coming from and found the following:
We've noticed that authors are included for NIST FIPS docs in some instances outside of CSRC and the document's PDF.
For example, a tag for the author ('AU') is included in the .ris file for FIPS 180-4 within the NIST-Tech-Pubs repo.
https://github.com/usnistgov/NIST-Tech-Pubs/blob/e409c4b0d9d52117e2a527e7b8c40e074329abc1/bib/NIST.FIPS.180-4.ris
There is also a page for FIPS 180-4 in NIST Publications: https://www.nist.gov/publications/secure-hash-standard with the following recommended citation:

Dang, Q. (2015), Secure Hash Standard, Federal Inf. Process. Stds. (NIST FIPS), National Institute of Standards and Technology, Gaithersburg, MD, [online], https://doi.org/10.6028/NIST.FIPS.180-4 (Accessed July 10, 2024)

This link also include BibTeX (.bib.) and RIS (.ris) files that use this citation information.
(I tested the Zotero plugin at this link and it uses the .ris file to build a citation that includes the author.)
The NIST Research Library also includes the author in its citation information:
https://nist.primo.exlibrisgroup.com/permalink/01NIST_INST/irk73q/alma991000626374208106
Note: this inclusion of the author in the .ris and .bib files appears to be the case for most NIST documents.
For example, here are the same links for FIPS 186-5:

.ris file: https://github.com/usnistgov/NIST-Tech-Pubs/blob/e409c4b0d9d52117e2a527e7b8c40e074329abc1/bib/NIST.FIPS.186-5.ris#L4

NIST Research Library entry: https://nist.primo.exlibrisgroup.com/permalink/01NIST_INST/irk73q/alma991000614605008106

NIST Publications page: https://www.nist.gov/publications/digital-signature-standard-dss-3

Thanks, Ted, for clarifying this.
Actually, NIST provides its desired citation data in the DOI registration.
Translated to RFCXML format, that is:
    seriesinfo:
      DOI: 10.6028/nist.fips.180-4
    title: Secure Hash Standard
    author:
    - name: Quynh H. Dang
      ins: Q. Dang
    date: 2015-07
    refcontent: National Institute of Standards and Technology

I do not think we should deviate from that.
Note also that it is long-standing IETF culture to actually provide information about authors of documents.
I don't understand why we would want to break with this tradition if the official citation data that NIST provides do include the author(s).

Hi Carsten.
With regard to following what is available in NIST citation data:
I agree with the sentiment, however consider the following:

CMOS offers the following guidance for providing authors' names in reference list entries:

In a reference list as in a bibliography, record the authors’ names as
they appear on the title page or at the head of an article or chapter,
with the exceptions noted in 14.72–84.

Section <IP_ADDRESS> of RFC 7322 provides similar guidance to RFC authors when referencing non-RFC SDO documents:

With a list of authors
The following format is suggested when referencing a document or
 standard from another SDO in which authors are listed:
- [SYMBOLIC-TAG]
            Last name, First initial. and First initial. Last name,
            "Document Title", Document reference number, Date of
            publication, <URI if available>.

Without a list of authors
  - Alternatively, when no list of authors is available, the following
 format is recommended:
- [SYMBOLIC-TAG]  Organization, "Document Title", Document
                    reference number, Date of publication,
                    <URI if available>.

Since there is no author listed in NIST FIPS 180-4, it makes sense to follow the guidance for a reference without a list of authors and cite NIST as the authoring organization.
Furthermore, comparing FIPS 180-4 with other NIST documents, I noticed that authors are listed in NIST Special Publications (NIST SP) and NIST Internal Reports (NIST IR).
For example: NIST SP 800-215 lists Ramaswamy Chandramouli as the author on the front page and provides the following recommended citation:

Chandramouli R (2022) Guide to a Secure Enterprise Network Landscape. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-215.
https://doi.org/10.6028/NIST.SP.800-215

David also provided an example of a more recent FIPS document, NIST FIPS 186-5, which includes a recommended citation in the document itself:

National Institute of Standards and Technology (2023) Digital Signature Standard (DSS).
(Department of Commerce, Washington, D.C.), Federal Information Processing Standards
Publication (FIPS) NIST FIPS 186-5. https://doi.org/10.6028/NIST.FIPS.186-5

(Note that  there is no author listed within this document or the recommended citation)
Also, as far as we can tell, it appears that bibxml service is pulling data from one of these repositories:

https://github.com/relaton/relaton-nist
https://github.com/ietf-tools/relaton-data-nist/

The latter example contains this YAML file for NIST FIPS 180-4.
Quynh Dang is listed as the author in the data for this entry, and I don't doubt that this is correct information. However, this creates a situation where using the bibxml service to create a reference entry for NIST FIPS documents generates references that do not match the information provided within the document itself.
In other words, if RFC authors use bibxml to build references for NIST FIPS documents, the RPC will have to edit them manually to ensure they match the information listed within the referenced document. It would reduce the work of the RPC team if the NIST FIP entries just listed NIST as the author.
All that being said, I am still curious as to why the author(s) of FIPS are included in the citation data, .ris, .bib, and other NIST sites (e.g., https://www.nist.gov/publications/secure-hash-standard), but then absent from the final document. @dcooper16 do you have any insight into this?

I'd like to reply on behalf of the original developers of the current BibXML service and the operator of the Relaton stack.
This thread appears to conflate the following issues:

Bibliographic data
Citation style

These two issues are related but are entirely separate concerns in both usage and for their roles in the rendered versions of Internet-Drafts and RFCs (and other document types).
Bibliographic data:

The BibXML service takes in source information directly from the official NIST Tech Pubs repository run by the NIST Information Services Office. This is the only authoritative bibliographic source of NIST Technical Publications and NIST-published FIPS (and FIPS published by NBS, the predecessor of NIST).
Someone mentioned CrossRef data (retrieved using DOI identifiers). CrossRef data of NIST Technical Publications is not authoritative but are downstream submission artifacts of the aforementioned repository.

Citation style:

The issue at hand here is the "rendering of the bibliographic listing section inside an Internet-Draft or RFC".
A reference list entry, i.e. a bibliographic item cited in the "Normative references" or "Informative references" section, is a "presentation" of underlying bibliographic item data. The presentation does not fully reflect the potential wealth of information provided by the bibliographic item data.
Whether the citation style used by the reference list entry includes the organization, or not, has nothing to do with the underlying data.

There are further considerations of the issue of citation style:

There exists commonly used citation styles like APA, Chicago and ISO 690.
IETF has its own citation style policy for its documents.
Some organizations publish recommendations on how to cite their documents. However, not all publishers (e.g. IETF) may adhere to those guidelines, given that usually those guidelines are incomplete

Example. My organization requires APA. The organizational author of "document foo" provides guidelines in Chicago. What style do I use to cite "document foo"? Clearly I need to adopt "document foo"'s recommended style to APA.

The rendering of the IETF citation style is done by an RFCXML-renderer, i.e. xml2rfc or rfc2629.xslt, and is not directly relevant to the contents of the actual RFC XML containing bibliographic information.

TLDR:

This is a discussion about citation style, not bibliographic data. The source bibliographic data should not change. IETF as an organization may decide to modify its citation style policy to accommodate the opinions raised in this issue.

Let's just take this chance to ask @kmiller621 ...

When citing NIST Tech Pubs, should authors be rendered?
When citing FIPS, should authors be rendered?

Thanks!

Hi @tward212,
I did not know about the various NIST, GitHub, etc. cites that you mentioned that provided bibliographic information about NIST publications. So, I asked about this internally. It seems that the information on these cites is being generated automatically from information in an internal publishing system. That system only allows individuals to be listed as authors (presumably since the list of authors is used to create a workflow). This list of authors is then used in the automatically-generated bibliographic information. So, perhaps the main responsibility is for NIST to fix the entries where an organization is listed as the author.
@ronaldtse: I think the correct answer as to whether authors should be rendered depends on what the document itself says. In the case of FIPS, individuals are never listed as authors, and the author is just "National Institute of Standards and Technology." Individual authors are usually listed for other NIST documents, but not always. For example, NIST Special Publications 800-53, 800-53A, and 800-53B just list "Joint Task Force" as the author.
@cabo: I can understand the desire to provide information about authors, but in this case the information may be incorrect. For example, https://www.nist.gov/publications/security-and-privacy-controls-information-systems-and-organizations-0 lists two authors for SP 800-53 (the same two are listed for SP 800-53B and only one is listed for SP 800-53A). However, the acknowledgements sections of those documents list 20 members of the Joint Task Force Working Group. Given the way the authors list was created for https://www.nist.gov/publications, it likely doesn't list everyone who deserves credit for authoring these documents. It is probably the same with some of the FIPS.


textDocument/didOpen now sending "git:/" prefixed URIs

The mssql for VS Code language service application is crashing on today's insider build since the textDocument/didOpen message is now sending "git:/" prefixed URIs.  Previously this event would send "file:/" prefixed URIs which we knew how to interpret.
Is this change intentional that now extensions need to know how to decode the various SCM URI formats?
This is an issue a couple users have reported on our repo at https://github.com/Microsoft/vscode-mssql/issues/718.
Here is what one of the message payloads that is causing problems looks like:
"textDocument/didOpen"
{ {
"textDocument": {
"uri": "git:/d%3A/xplat/test/test3.sql",
"languageId": "sql",
"version": 1,
"text": ""
} } }

VSCode Version:
OS Version:

Steps to Reproduce:

Install the mssql extension on today's insider build and open a SQL file

When investigating further it looks like there are now 2 open document and 2 close document events.  The first with file:/ prefix and second with git:/ prefix.

It is intentional, but extension don't need to know how to decode the various SCM URI formats. They just need to pay attention to file: URIs. You should filter everything else out.
cc @jrieken

Previously this event would send "file:/" prefixed URIs which we knew how to interpret.

It would always send event for any document being opened. Most of the time that is file-uris but even before we used to (and still) have things like untitled, index, vscode schema as well as all the schema from virtual document providers so make sure you extension is fit for these kind of documenst


Command-Line Based interactive process viewer

Summary of the new feature/enhancement
Most windows users cant properly live in the terminal since alternatives to the linux tools have not been provided.
One of the most commonly used tool is top (&/or htop). What if we can make a similar port of this to windows. This would allow us to to do tasks like killing or increasing the priority value through terminal based programs.

Proposed Features
The program does everything that the task manager does:

Killing Processes
Shows system usage of CPU, Memory, etc
Allows us to change the Scheduling Priority of an application

Hi @Exorust
for killing process there is already taskkill.exe.

I am not referring to taskkill, in taskkill, you need to specify the process-id's. I was thinking something more along the lines of this picture here.

@Exorust thanks for the clarification.
I think this may be a little bit out of scope for PowerToys since it leans more towards UI enhancements, but we'll keep this issue open for now.
Thank you.


Ignore SSL Errors

When i am using self signed certificate it not working because of:
Wissance.Authorization.OpenId.KeyCloakOpenIdAuthenticator[0]
 An error occurred during getting user info: The SSL connection could not be established, see inner exception.

Solved