A really simple example that demos some navigable touchables without any dependencies

Hi,
Thank you so much for this library. TV computing has been an underserved platform that deserves love and apps! This framework helps to the realization of that.
I just have a small problem and maybe this is due to me being a new user of this framework. I tried integrating the components in this library and I cannot figure out what is the problem.
Of course I tried reading the example code, and I tried my hardest to mimic what it is doing and I am not successful :( and I don't know why.
I am thinking maybe a small example that is not fancy. Maybe a 3 touchable boxes that is beside one another which you can navigate using tv remote. no outside dependencies, just a bare react native initiated using CLI.
This would help newcomers like me to grasp what this framework requires and how we can make it work within our apps.
Thank you very much and more power to you guys!
P.S. I realized late I am using the standard react native version in my app. do this framework require a forked version like what I see in the example? i.e. "react-native"<EMAIL_ADDRESS>

Hey!
About the simple example... that might be a good idea.
We wanted to show a complete example and let you extract what you need.
The thing is: setting up the remote control is not that simple. It needs a few tweaks to be able to catch the native keyevents and plug them to the lib.
The lib's API is kind of simple regarding that, but handling it for multiplatform on the consumer's side isn't that simple.
Can you indicate the problems you encounter? Where do you miss the events?

P.S. I realized late I am using the standard react native version in my app. do this framework require a forked version like what I see in the example? i.e. "react-native"<EMAIL_ADDRESS>
You can manage without the TV fork because we don't use anything related... except on Apple tvOS 😉
You'll need to fork to build on this platform, unfortunately.

Can you indicate the problems you encounter? Where do you miss the events?

Basically my node is not getting even the initial focus even though I properly wrapped it in SpatialNavigationRoot, SpatialNavigationNode and DefaultFocus. I even copy pasted the remote configuration from sample data as well because I thought that is where I am getting it wrong.
TIA!

Oh, this is weird. The fact that you don't even get the initial default focus shows that the issue is not related to the remote!
Do you have any code snippets to share? I'm very curious about this.
About the simplified example, that's kind of what we wanted to do with the tutorial, but it looks like we failed haha

This is the sample code. I truncated it because my code is bad and this is a hobby project I am trying to get deployed before christmas 🗡
<SpatialNavigationRoot isActive={isFocused}>       <SafeAreaView style={styles.container}>         <View           style={{             flexBasis: 1,             flexGrow: 2,             flexDirection: "row",           }}         >           <View             style={{               flex: 4,               position: "relative",               padding: 5,             }}           >             <DefaultFocus>               <SpatialNavigationNode isFocusable>                 {({ isFocused }) => (                   <View                     style={{                       alignItems: "center",                       justifyContent: "space-evenly",                       flexDirection: "row",                       paddingHorizontal: "25%",                       width: "100%",                     }}                   >                     <DefaultFocus>                       <CustomButton                         style={styles.nextButton}                         disabled={isEmpty(songs)}                         onPress={() =>                           videoPlayerRef.current?.next(currentSongId!)                         }                       >                         <Text                           style={{                             color: "lightgray",                             textAlign: "center",                             fontSize: 12,                           }}                         >                           Next song                         </Text>                       </CustomButton>                     </DefaultFocus>                     <CustomButton                       style={styles.linkButton}                       onPress={() =>                         navigation.navigate(RootRoutes.Instructions)                       }                     >                       <Text                         style={{                           color: "black",                           textAlign: "center",                           fontSize: 12,                         }}                       >                         Link Remote                       </Text>                     </CustomButton>                     <CustomButton                       style={styles.resetButton}                       onPress={onResetButtonPress}                     >                       <Text                         style={{                           color: "white",                           textAlign: "center",                           fontSize: 12,                         }}                       >                         Reset                       </Text>                     </CustomButton>                   </View>                 )}               </SpatialNavigationNode>             </DefaultFocus>             .....
I copy-pasted the remote configuration and made sure to put it inside the entrypoint of my project
import "../components/configureRemoteControl";
Thank you very much!

<SpatialNavigationRoot isActive={isFocused}>
when are you setting isFocused to true?

@manjunath-nuveb it is from reacat navigation const isFocused = useIsFocused();
Just assume it is always true for the sake of code snippet :D

@manjunath-nuveb  that's a good check indeed 😊  thanks!
@silencer07 I don't really understand what could be wrong here 🤔
I would remove the TouchableOpacity from the buttons. It might mess up with the lib because the whole lib relies on ignoring native focus 😄
Also, can you try a simpler example in your codebase and check whether it works or not?
First, I'd make a simpler button :
const Button = ({ onSelect, label }) => (
 <SpatialNavigationNode
      onSelect={onSelect}
      orientation="horizontal"
      isFocusable={true}
    >
      {({ isFocused }) => {
        return (
          <Text style={{ backgroundColor: isFocused ? 'white' : 'black' }}>{label}</Text>
        );
      }}
    </SpatialNavigationNode>
)

Then, I'd use it in the most simple page:
<SpatialNavigationRoot>
  <SpatialNavigationNode>
    <Button
      onPress={() => console.log('A')}
      label="A"
    />
    <Button
      onPress={() => console.log('B')}
      label="B"
    />
  </SpatialNavigationNode>
</SpatialNavigationRoot>

Thanks @pierpo. I would definitely try this on friday and get back to you. I decided to take a two day break for now :D
I really love how you are so engage in this!

HI @pierpo
I did install react-native-keyevent ! Else the code will be complaining about missing dependencies.
Yes I did copy all the variants of RemoteControlManager which include the android version. see the screenshot below

Oh my! I was able to make it work. You are right the react-native-keyevent needs integrated native code.
since I am using expo, I just needed to use https://github.com/ChronSyn/react-native-keyevent-expo-config-plugin and configure it!
This is lovely! I think I am unstuck now!
P.S. your remote configuration is a sensible default, I am thinking maybe we should integrate it to the framework itself.

Alright. After fixing the code, my next problem is "onFocus" event not working
This is my custom button now
`const highlightedStyle = {
borderWidth: 2,
borderColor: "lightgray",
borderStyle: "solid",
};
export function CustomButton(props: TouchableOpacityProps) {
return !Platform.isTV ? (
<TouchableOpacity {...props}>{props.children}
) : (
<SpatialNavigationNode
onFocus={props.onFocus as () => void}
onBlur={props.onBlur as () => void}
onSelect={props.disabled ? (props.onPress as () => void) : undefined}
isFocusable={true}
>
{({ isFocused }) => {
let style: Record<string, any> = props.style || {};
if (isFocused) {
style = { ...style, ...highlightedStyle };
}
return {props.children};
}}

);
}`
and this is how I use it
<CustomButton                         style={styles.linkButton}                         onPress={() =>                           navigation.navigate(RootRoutes.Instructions)                         }                       >                         <Text                           style={{                             color: "black",                             textAlign: "center",                             fontSize: 12,                           }}                         >                           Link Remote                         </Text>                       </CustomButton>
weirdly enough nothing happens when you press the enter on remote

Oh, this is probably related to react-native-keyevent indeed. I can't help with that. You should add breakpoints in the native code to see if the enter key is handled?

Gotcha, I will just file a new issue in the said library and get back to you. Let's leave this issue open until we found a solution @pierpo

@pierpo
I did some more testing, and it seems that doing a long press on center button of remote actually register an "enter" key event.
while this unblocks my further development, It would be nice if there is a workaround I can do to register short press as long press for the mean time :)

@pierpo  someone pointed me on this one: https://github.com/kevinejohn/react-native-keyevent/issues/52
I will play around and see if this works. if yes, I think we will need a patch-packaged version of react-native-keyevent

<SpatialNavigationRoot>
  <SpatialNavigationNode>
    <Button
      onPress={() => console.log('A')}
      label="A"
    />
    <Button
      onPress={() => console.log('B')}
      label="B"
    />
  </SpatialNavigationNode>
</SpatialNavigationRoot>

i have try this simple in example project but it is not working in android while focus is working with TouchableOpacity

@pierpo someone pointed me on this one: kevinejohn/react-native-keyevent#52
ticket that i filed in react-native-keyevent library: kevinejohn/react-native-keyevent#80
I will play around and see if this works. if yes, I think we will need a patch-packaged version of react-native-keyevent

@pierpo seems that there is an additional code needed in the android native side for DPAD_CENTER of a remote to work
https://github.com/ChronSyn/react-native-keyevent-expo-config-plugin/issues/4
I am thinking maybe you can update your example?

@silencer07 sorry I had not answered. Thank you for your work on this 😊
We're keeping the issue open and we'll add this to the example indeed.
We just switched the example to Expo so it's convenient to have your patch 😁
(And we added a patch already to support Expo 50)

Additional code needed in  https://github.com/kevinejohn/react-native-keyevent
https://github.com/kevinejohn/react-native-keyevent/issues/52#issuecomment-688061593

My issue is similar to this. but happens only when virtual keyboard is opened and closed
https://github.com/kevinejohn/react-native-keyevent/issues/83


[Bug]: adding a new paper from the menu of the previously uploaded article treats new paper as already rated

URL of the Page
https://postreview-app.herokuapp.com/articles/4a81abd3-94f4-491f-9d69-ae850faf4b89
What happened?
Just added a paper while still hanging out on the page for the paper I've just submitted. Noticed that the menu in the newly uploaded paper is "edit rating", not "submit rating". Luckily, the bug is just visual and new paper rating editing does not affect the rating of the previously submitted paper.

Steps to reproduce
No response
What browsers are you seeing the problem on?
Chrome
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I think this issue was fixed by #139—closing this for now.


I want to choose the payment method So I can choose how to pay for an order

Context
TO REFINE. Not sure if it should be the part of the Cart or Shopware Checkout?

Defined with label: https://github.com/DivanteLtd/shopware-pwa/labels/Payments


Fixes Issue #1140

Fixes https://github.com/react-native-community/react-native-webview/issues/1140
Based on a solution found at: https://stackoverflow.com/questions/56460362/how-to-force-wkwebview-to-ignore-hardware-silent-switch-on-ios
I changed the code found in the linked source from Swift to Objective-C, as required by this project. WARNING: I haven't used Swift before and very limited experience with Objective-C.

For me this seems to work, but it is not the cleanest solution in my opinion.
It might also be possible to play generated sound (i.e. using oscillator) instead of hardcoding the silent base64 mp3 data.
Maybe ignoring silence switch should only be done if a parameter is supplied

Summary
Ignores the silence switch when playing audio from a WebView. Closes issue #1140

Test Plan

Initialise a react-native project, add react-native-webview as dependency.
In App.js add

<WebView injectedJavaScript={`try{var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
  var oscillator = audioCtx.createOscillator();
  oscillator.type = 'sine';
  oscillator.frequency.setValueAtTime(420, audioCtx.currentTime);
  oscillator.start();
  var oscillator_volume = audioCtx.createGain();
  oscillator_volume.gain.linearRampToValueAtTime(1, 0);
  oscillator.connect(oscillator_volume);
  oscillator_volume.connect(audioCtx.destination);
  }catch(e){}
  true;`} />

Launch the App
Toggle the silent switch on the device or simulator
Notice that when using this PR the silence switch is ignored, i.e. the sound from the oscillator (or any other webaudio) will be audible even when the silent switch is set to on (silence) position
(optional) Do the same 5 steps, but using the code from the master branch instead and notice that when setting the silence switch to on all webaudio will be muted

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
NA

Checklist

[X] I have tested this on a device and a simulator

I haven't added anything to README.md, because it is just a bugfix.
I haven't added the change to CHANGELOG.md, but suppose a line could be added warning users of the new default behaviour, i.e. silence switch is ignored.

Thanks for the PR @redpandatronicsuk Can you add an example to the example app, so it is easier to test & future testing of the feature?

@safaiyeh I added the parameter you requested and added documentation for it.
Video, I think, still behaves differently.
Another problem I noticed is that the silence switch is initially ignored, i.e. when you first open the app with the silent switch on, the sound plays. Then you have to toggle it on and off again for it to mute the sound. That was the previous behaviour too but probably needs fixing too. What do you think?

@safaiyeh  I made a demo that better explains what I am describing above here: https://github.com/redpandatronicsuk/react-native-webview-hardware-silence-switch-demo-
It shows the inconsistencies with the hardware silence switch using web audio and video. Besides the bug that the hardware switch is initially ignored, I think the behaviour of audio is correct now. For consistency, I think video should behave the same. Just to be clear, this PR hasn't changed video behaviour in any way, the demo just showcases the inconsistencies.

@safaiyeh  I can see the status is still as changes requested, but I already made the changes and committed them. How can I change the status back to Review required?

hi @redpandatronicsuk thanks for making the changes! I'll check this out soon.

Thanks @safaiyeh, I'll wait for you to review the changes, just wasn't sure if I submitted them correctly as I can still see the Changes requested message even after making the changes.

One last piece of feedback @redpandatronicsuk, also we should update Guide.md with some more information about this,

@safaiyeh thanks for your feedback. I've made your requested changes. Please feel free to edit the text I added to Guide.md. Maybe we should add a section Inconsistencies  to Guide.md that highlights inconsistencies across platforms, etc. and put it under that section?

Can't build with upgrade to RN-webview 9.2. Previously fine at 9.1.4. My app's build Xcode errors:


remove  a  : in url  in many  translation files

url Fixes in translation

Describe your fix
a ":" was in the links before the  href in all translations file except en and  zh.
Note the strange thing is that "this "url" is not present in the  en version.
So perhaps the good correction is to remove the link  in all translation or add it in en and zh.
I wait a request of @bluecaret  to do more change about that.

Good catch! That is definitely an oversight. I originally had that URL embedded in the translation, and then changed the string later, splitting it out and approaching it differently. So the "subscriptionBilledOn" really needs to be updated on all other translations, basing on the English one. This does mean this particular PR is not needed, but instead a different one is needed. I'm going to make this change right now, and will close this PR. Thank you so much for finding this issue!

Perfect.


Is there scripts to calculate the overall acceptance rate?

I am trying to calculate the acceptance rate for evaluation. I ran:
python -m eagle.evaluation.gen_ea_alpha_vicuna --ea-model-path ~/models/EAGLE-Vicuna-7B-v1.3/ --base-model-path ~/models/vicuna-7b-v1.3/ --model-id ess-vicuna-7b-fp16-alpha --temperature 1
However, this seems to only generates an output decoded file with alpha per question? How do I get the overall alpha rate as in the paper?

After obtaining the result file, you can run the eagle/evaluation/alpha.py file to get the acceptance rate.

I'm experiencing the same issue. The logits_processor is returning as [], and the following error occurs:
TypeError: forward() got an unexpected keyword argument 'logits_processor'.
Have you found a solution to the problem?

After obtaining the result file, you can run the eagle/evaluation/alpha.py file to get the acceptance rate.

eagle/evaluation/gen_ea_alpha_llama2chat.py could't been excuted. It seems to be because the ea_model forward interface has changed.

I'm experiencing the same issue. The logits_processor is returning as [], and the following error occurs:
TypeError: forward() got an unexpected keyword argument 'logits_processor'.
Have you found a solution to the problem?


ADJUST1-371: Redirection user to reason page if enable.

I think it might be easier to just use /reason. No one is using pre-prod/prod a the moment and I imagine you'll have released the reason stuff before we go live.

Thanks, I'll get that sorted out


Uniswap V3 Ethereum subgraph with high TVL

Querying the Uniswap V3 Ethereum subgraph: https://api.thegraph.com/subgraphs/name/messari/uniswap-v3-ethereum for deployment ID: QmQ6w5oXZiMeTpVSkLy4UqBVtVKmtiEMcL9ygiPZgGddg5
This particular pool has an invalid TotalValueLockedUSD returned for pool address: 0xfd9715a9f03678975b2e224c938fae8d481b09b2.

This should've been fixed. Please reopen if you see it again.


Use floating text-input field on every page

The new floating text-input field (InputForm.vue component) shoud be used on every other page as well.

[ ] Login
[ ] Forgot password
[ ] Change password

Done here: https://github.com/LabHive/LabHive/pull/102


Treat file descriptors as signed platform sized int's

Every Unix allows for less then <2^32 file descriptors so they likely all can be treated as i32's but I'm not sure about platform specific issues this may arise (I couldn't test this on every unix).
I really don't see why they're all being handled like *mut File. This is just really inconvenient. Since you have to jump though std::mem::transmute() to interact with these functions.
I don't understand why the File{} type is being used other then to just discourage people from using this library.

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

If you want to use versions of these functions that don't take a file pointer, you should use the ones that don't take a file pointer (the ones you suggest changing simply do in C as well -- look at the headers for fopen for instance: http://man7.org/linux/man-pages/man3/fopen.3.html).  The alternate is to just use open (http://man7.org/linux/man-pages/man2/open.2.html).  The behavior is different but the signatures for functions here do need to match the libc we are linking against.
These are present in this crate: https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu/libc/fn.open.html (if not, that can be addressed individually).
For ease of use, you are better off using the std crate or the nix crate to get a higher-level interface.  The libc crate exists to make access possible but not to provide a nice, high-level, or safe interface to libc.

Very sorry I got the libc functions confused with the system calls of the same name.


Add receive() Operation to KafkaTemplate

Fetch a specific record.

do we have plan to support receive for multiple topic/partition/offsets ? I  would be happy to contribute.

Do you mean fetch several records in one operation?
We don't have plans to do so, but feel free to submit a PR (we can reopen this issue).

yes - fetch several records across different topics - okay  I will try to work on it. Thank you

https://github.com/spring-projects/spring-kafka/issues/1948


Feature/type integration

Still work in progress
Documentation

https://developer.gnome.org/gobject/stable/pt02.html
https://developer.gnome.org/gobject/stable/chapter-gobject.html
https://gi.readthedocs.io/en/latest/annotations/giannotations.html

Class struct contains pointer to overwrite virtual functions

I added the code to load template without reflection on the GTK side. I think the code is quite clean. Yes it is boilerplate, but it needs no tricks to initialize the template.
The callback of the button click is currently missing and need's to be implemented.
What would be needed to do it with reflection and attributes?
If the code could not reside inside the CompositeWidget the type initialization must be done inside the Widget class. For this to work there needs to be some trigger after object initialization to call InitTemplate inside Widget for the CompositeWidget class under certain conditions (child class must use a template). Furthermore the classinit of the CompositeWidget must be used to call SetTemplate in the Widget class automatically.

@firox263 + @na2axl : Can you take a look at Button.cs: https://github.com/gircore/gir.core/blob/461b7aeba68047433b5842d6b8c654bd19ee21a2/Libs/Gtk3/Classes/Button.cs#L96
I wonder if we could create s.th. like a descriptor for virtual methods to make generation easier. The code in Button shows how we could allow the user to override a method. In general it works like this:

In the class constructor of our native types (not subclasses) we save the pointer of the original virtual function and replace it with a pointer to our own private static method which has the same signature like the original function.
We create a new virtual method (non static) which just calls the original code.
If we receive a function call from the C world, we just forward the call to our own virtual method, if we know the object. In case the caller did not call our implementation (via base.Pressed();) the original code is not executed. If we don't know the object it must be some other object which is not ours and we just call the standard implementaion.

Possible optimization: Probably we have to check if the instance is a subclass. In case it is not a subclass we always call the original implementation.
Do you have any ideas how it could be more straight forward to generate the code without much duplication? Or perhaps you have other ideas to achive the same goal?

Hi @badcel, I've just checked the code, seems very promising! I'm ok with the process, now I think about the generation of this code using descriptors like properties/signal are currently done.
I'm currently sure that generate this code like what is done in the Button class is possible, maybe for that the generator will need a kind of dictionary to remember what variable is storing what default/original method, or something else, and then generate the bunch of public virtual methods which will all just make a call to the native default/original function through the variable...
But...
From my side I think it will also be possible to introduce a new descriptor for virtual methods (said, method descriptors). A benefit with that (added to the possibility to generate code an easier code) is just we can allow GTK developers to really create widgets like they do in C, because in C we can't create a subclass of a GtkButton, so we have to replace the pressed method with another one, in C# we can achieve a similar behavior with our lovely indexers. An example can be:
new Button
{
  [Button.PressedMethod] = (Button b) => Console.WriteLine("The button has just be pressed!"),
}

For now this feature is just an idea resulting of what we are doing now. To really achieve this we have to be sure that a virtual method can be overridden for an already created object (I really don't know if its possible).

Possible optimization: Probably we have to check if the instance is a subclass. In case it is not a subclass we always call the original implementation.

I don't think if this is the good behavior. If I understood well, for a subclass named FakeButton for example, and implemented like this:
public class FakeButton : Button {}

In this case if the pressed function get called is it normal to not call the original function ?

If the method is not overridden we call the default implementation of our wrapper which calls the original code: meaning the fakebutton will work as expected.
I would like to see some descriptor. But there is one problem: the c world expects a static method to call. For me it is okay to use a descriptor to override but I would like to see normal overriding behaviour, too (which is working with my sample code).
I wonder if we can achieve both things?

For now this feature is just an idea resulting of what we are doing now. To really achieve this we have to be sure that a virtual method can be overridden for an already created object (I really don't know if its possible).

GObject's "virtual methods" are effectively just function pointers in the object's Class struct. This means that in order to override a given virtual method, you have to change the Class struct, which changes all instances of a given type. So from a technical standpoint, this isn't really possible AFAIK.

In the class constructor of our native types (not subclasses) we save the pointer of the original virtual function and replace it with a pointer to our own private static method which has the same signature like the original function.

I wonder what the overhead is for routing through the CLR each time? It's probably negligible, but perhaps using reflection to selectively override the class could end up more performant. Either way, the static function + virtual method approach sounds great to me, and we get to keep native C# syntax.

Yeah you are right. Routing every event through dotnet is not very clever. If we use generators we could try to save the original pointer during class initialization. But we only override the PTR in the subclass class struct if there is some override method in our subclass.

It is fixed, callbacks are working now :rocket:
I implemented it via reflection for now.

Superseded by #182 .

Superseded by #182 .


Pre-compiled assets

2021-04-18 20:56:16.291887 F [2642:puma threadpool 004 debug_exceptions.rb:9] {request_id: a35ffe90-289f-4d1e-bc28-644e5118fbe6, ip: <IP_ADDRESS>, session: 884fce82e303bb6c8335d32386d298f8} Rails -- Exception: ActionView::Template::Error: rvt/application.css
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:372:in `raise_unless_precompiled_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:349:in `find_debug_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:230:in `block in lookup_debug_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:243:in `block in resolve_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:242:in `each'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:242:in `detect'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:242:in `resolve_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:229:in `lookup_debug_asset'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:171:in `block in stylesheet_link_tag'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:170:in `map'
/usr/local/bundle/gems/sprockets-rails-3.2.2/lib/sprockets/rails/helper.rb:170:in `stylesheet_link_tag'
/usr/local/bundle/gems/rvt-1.1.0/app/views/layouts/rvt/application.html.erb:6:in `__usr_local_bundle_gems_rvt______views_layouts_rvt_application_html_erb___3357760447522775154_74000'

Is there a better way to handle or deal with this?
Do I really need to precompile assets just for a single gem dependency?

any solution for this one?

@redvex Have not heard back. Assuming @gsamokovarov have not looked into this.

I'm sorry, folks! I have neglected this gem for quite a while now...
What do you propose here? As this gem stands, it's quite integrated with the good-old asset pipeline. Do you want to inline the assets, so you don't need to precompile them?

I reckon as a good work around, just do pure static assets as much as possible, so there is no need for the precompile.
The only issue I have seen in code is the erb css file.


Remove the PAM deactivation enforcement

as PAM should be enabled per default on the most distros:

https://github.com/dev-sec/chef-ssh-hardening/issues/96
https://github.com/dev-sec/ansible-ssh-hardening/issues/23
https://github.com/dev-sec/puppet-ssh-hardening/issues/53

General question about renumbering, are we sure we want to do this? If you use profile inheritance, renumbering will break rewrites or adaptions of each test. In general we should avoid renumbering, we should just introduce new numbers.

@chris-rock Hm, I was not aware of inspec's profile inheritance features. I'll update the PR and remove the renumbering

done

This feature is quite new. It is documented here: http://inspec.io/docs/reference/profiles/ and this is an example profile https://github.com/chris-rock/acme-inspec-profile. Does not use specific control ids though.

@atomic111 I like the current adaption. If you're okay, please merge it.

@chris-rock thanks for the hint. @artem-sidorenko thanks for removing this test


Problem in app module when I generate component via angular CLI.

When I generate component with angular CLI. It imports the component automatically in the app module but it add ; before import component.
import { TransactionComponent } from "./transaction/transaction.component"; ;
import { GeneratedComponent } from "./generated/generated.component"

and also in declarations it add , first and after that the component
declarations{
    MyComponent, ,
    GeneratedComponent
}

@AzadCoder, can you please provide the output of ng version?
Can you also provide the app.module.ts file prior of the above automatic changes?

@AzadCoder, can you please provide the output of ng version?
Can you also provide the app.module.ts file prior of the above automatic changes?

Ng version and app.module added

Hi @AzadCoder,
I am unable to replicate the reported issue locally. Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Closing since this is not a problem with recent versions of Angular.
The global CLI is only used to invoke the project level Angular CLI.
Please be aware that Angular 8 is not longer supported. See https://angular.io/guide/releases#support-policy-and-schedule for more information.


Does Anyone Have Access to Ical.js

This odyssey continues. If your feed does not show the time correctly in the test viewer that I would be cautious about spending time setting this up.
I think that if I had access to ical.js I could tweak the code to get the timezone issue worked out. I'm fairly sure I can compensate for the incorrect timezone that way. However, the author  only posted ical.min.js to GitHub. That file has been "minified" and it cannot be edited. Any chance anyone has access to ical.js or perhaps the author can upload it? Without it I'm not able to fix this issue, I really like this code (wonderful really) but if I can't adjust the time offset then it's' just been many hours wasted. Events that are taking place from noon-1pm are showing up as 4pm-5pm. This was so close!

I was able to use unminify to expand the ical.js file. Here is the link. This worked perfectly. So I am going to close this. Still working on the timezone offset issue, but this is a step in the right direction.
https://unminify.com/


fix(): fix import of fs module

Thanks for the fix! We missed this one in the TypeScript conversion.


Calendar URLs not changeable with js anymore

I have a module changing the calendar URLs based on who is using the mirror. Before the multi-calendar update this used to work but now it does not any ideas?
config.displaySymbol = true
config.calendar.urls = [ 		{ 			//Schule 			symbol: 'calendar-plus-o',  			url: 'sdfsdf' 		}, 		{ 			symbol: 'mars', 			url: "werwer", 		} 		]
calendar.updateData()
Changing the calendar URLs still seems to work but it only changes after some time not after a calendar.updateData() like it did in the past. config.displaySymbol = true is not changeable after initial loading it seems, is there any way to change that?

Check with @bitte-ein-bit, he made the changes to the calendar.

Putting the code below in $().ready function, has the desired effect.
setTimeout(function() {
		calendar.displaySymbol = false;
		calendar.eventList = [];
		config.calendar.urls = [
		{
			symbol: 'calendar-plus-o', // Fontawsome Symbol see http://fontawesome.io/cheatsheet/
			url: 'http://www.ifeiertage.de/by-.ics'
		},
		];
		calendar.updateData(calendar.updateCalendar.bind(calendar))
	}, 10000);

The eventlist is not cleared anymore, only the events of the current calendar are purged. I think for switch calendars depending on the person I would prefer a solution with an added e.g. displayfor property which would make another round-trip to the web unnecessary. I'm not yet in this stage. so maybe I'll go down that road.

config.displaySymbol = true

I think you mean config.calendar.displaySymbol but anyway, yes this is just sourced once just like config.calendar.maxEntries.
Hope that helps.


Fix Running from USB

Running from USB is more fragile than using ps2client. This is critical to fix, because I expect most people will be running games from USB.

This is resolved at an application level. Use PS2_SCRIPT_PATH as the base for all assets instead of host:.
Rename PS2_SCRIPT_PATH in #53


Added 2 new languages and improved #433

I think there's a mistake as there are more files that are getting deleted.

The files that were outside of the folder were deleted after moving them to respective folders. They are present in the folders.


fix(gateway): don't panic on max port range in NAT table

In our NAT table on the gateway, we try to first pick the external port as the one on the packet that we want to translate. This makes that port mapping consistent between NAT sessions in the majority of cases. In case the port is taken, we iterate through two chained Ranges that end up cycling the entire port range.
RangeFrom has a somewhat unexpected behaviour in regards to exhaustived ranges: They panic when trying to access the next element. To avoid this, we explicitly end the first range at u16::MAX which makes it an empty range in case the source port is u16::MAX.

@jamilbk This needs to go into the 1.10.0 release of the gateway.


renovate: temporarily do not update GoBGP dependency

Due to a breaking change in GoBGP v3.30.0, do not update GoBGP dependency until https://github.com/osrg/gobgp/issues/2844 is resolved.
Re-enabling tracked in https://github.com/cilium/cilium/issues/35271

/test

/test


Unable to play

Hey, as the title says I am unable to play the ISO.8xp on my TI-84 plus ce it is saying "Memory is insufficent to preform the calculation. Check infinite recursions or loops. Ex: Y1=Y1" (I got rid of all other programs already)

Make sure that you have enough free memory to load the program. You can check which variables are using a lot of memory by pressing 2nd + mem > Mem Management/Delete > All. Look for any large variables that don't have an * next to them. You can move a program out of memory and into the archive by pressing Enter on it, or just delete it if you aren't using it by pressing del.

Ignore my previous comment; Michael added this to the Cemetech thread for the project:

As of August 28, 2023, this program is NOT FUNCTIONAL; you will get a memory error trying to run it. I am unable to fix it for the time being, and have not worked on the project for a long while. Please do not ask when it will be fixed, and please do not make GitHub issues. I am aware of the problem, I just do not have time right now.

Please refer to this post for a working download of the game: https://www.cemetech.net/forum/viewtopic.php?p=303575#303575
If by chance it still doesn't work for you, you will need to make sure you have enough RAM, by performing a RAM clear. Before you do that, you will want to make sure that all important files you want to keep are in the archive, denoted by a * next to the name in the memory. From the home screen, hit [2nd], [+], Men Management/Delete..., All, and you will see the list. You can archive/unarchive something by hitting enter on it. To clear RAM from the home screen, hit [2nd], [+], Reset, All RAM, Reset.
Do note that the latest working version does not contain redstone.


Can't replace media files in the Form Attachments tab

Problem description
Error code 500 is visible after trying to replace the media files in the Form Attachments tab
URL of the page
https://test.getodk.cloud/#/projects/364/forms/mediaTest/draft/attachments
Steps to reproduce the problem

Use the URL from above
Log into the application if needed
Click on the Upload files button
Choose files or Drag and Drop files, that will have a different e.g Pictures but the name of the file will be the same.
Something went wrong: error code 500. will appear

Screenshot

Expected behavior
The media files should be replaced without any errors
Central version shown in version.txt
906addf66af230735e501ad73a1269012fdd7a5a (v2023.3.1)
+330132cf1ecb824b1fb88894287cb8edb5acefa5 client (v2023.3.0-2-g330132cf)
ba6ee474f431b48e885fb035c9266792f06d0ad7 server (v2023.3.1)
Browser version
Firefox 116.0.2 (64-bit)
Around when did you see the problem (in UTC)?
9:00 AM
Other notes (if any)
I was able to reproduce it on different forms with media files e.g "defaultImage" from the same project

I think I caused this by attempting a direct backup, which caused the server to run out of disk space. Sorry about that! Now that the server has disk space again, are you able to upload form attachments again?

Yes, now it's all good, we can close the issue.


Marketplace VM Deployment - automate domain name mapping

Complete the Cloud Run domain name mapping setup for both the UI and the API. I need to investigate if this is possible. The domain name mapping must be managed by the Deployment Manager, so it must be listed as a valid resource for this to work.

If the UI domain name mapping is not provided, then skip the mapping here.
The API domain name is required, so VM deployment should always complete this step.

depends on:

#345
#317

We can allow the user can create a static IP address for the API and we can automatically complete the domain name mapping for the API.  We can also automatically complete the domain name mapping for the UI as well. However, the user must obtain the IPs (IPV4 and IPV6) after the UI deployment and add those IPs as A/AAAA records to their DNS.  If the user does not complete this step within an appropriate time, then the auto domain name mapping would fail for the UI.
Also, since the Deployment Manager does not manage a domain name mapping, then we have to use Cloud Build with gcloud commands to complete this mapping.


Markdown text wrapping cuts off

When editing a Markdown cell inside nbterm, I can insert line breaks so that the content fits on screen.

However, when viewing a Markdown cell, text wrapping always cuts off a portion of the text, as long as it overflows. This is independent of the width of the terminal emulator: resizing it does not help.

On a related note, Markdown headers, which are center-aligned, are often cut off as well.

Using Gnome Terminal on Ubuntu 22.04, and Python 3.10.4.

Thanks for reporting @jjeffrey.
nbterm relies on Rich for markdown rendering. I don't know if it's possible to configure it so that it wraps text.
Do you want to look at it and open a PR? That would be great.

It does seem that euporie, which appears to also use Textualize/rich, has more accurate text wrapping on rendered Markdown cells.
Screenshot from euporie:

I'm not sure if I'm the best person to look into it, but if I end up tinkering around and figuring out my problem, I'll try to make a PR.

I used rich to render markdown in euporie prior to v1.4.0, but I now use my own renderer based on markdown-it-py (so I can support tables, LaTeX, images, etc. in markdown).
To get rich to wrap the markdown, you'll need to set the max_width on the rich Console when rendering the output here. You can see how this was done in euporie here.


Automatically pick best shuffle implementation for a query

What is the problem the feature request solves?
Users currently have to choose between using Comet native shuffle or Comet JVM shuffle. If they choose native shuffle and it is not supported then we fall back to Spark. If they choose JVM shuffle and it is not supported then we fall back to Spark.
It would be a better user experience if we automatically used native shuflfle when possible, then fall back to JVM shuffle when possible, and finally fall back to Spark if neither native or JVM shuffle is supported.
Describe the potential solution
No response
Additional context
No response

I would like to work on this issue.


[Backport 1.x] Baseline Maintainers (#883)

Description
Cherry-picked from https://github.com/opensearch-project/k-NN/pull/883
Check List

[x] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #892 (cf818e9) into 1.x (cb2fcb4) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##                1.x     #892   +/-   ##
=========================================
  Coverage     83.88%   83.88%
  Complexity      900      900
=========================================
  Files           127      127
  Lines          3879     3879
  Branches        359      359
=========================================
  Hits           3254     3254
  Misses          464      464
  Partials        161      161


Make FT convertor public to make it accessible by DV Plugins

https://dynamicscrm.visualstudio.com/OneCRM/_queries/edit/3437244/?triage=true

✅ No public API change.

✅ No public API change.


Create a Huggingface demo page

The output quality is good enough that it would be useful to allow more folks to test our model out on Huggingface.

Hi , @jpc  i m very much new to open source and want to start contributing  , I came across this repo and saw good first issue label . It will be really helpful  if you could just tell me how to work on this issue ,  where to start.
I m excited to work on this issue.

Hey, @Josephrp started working on this one just yesterday. Maybe you can reach out to him on the LAION Discord (link in the README, his username: Tonic) and ask if he needs any help.

hey, what is the status of this feature? I can make it work this week.
Can I help @Josephrp ?

hey tehre @gongouveia @jpc @itsharshitrwt , i'm so glad i finally caught these, with all my appologies, i'll basically be finalizing the demo today, but help is totally welcome and encouraged ! how fun.
outstanding tasks are simple :

review and improve the demo branding (and model card ?) for whisperspeech , there's a lot of important information we want folks to have and also have that in the demo code :-)
we'll simply the interface for sure one last and thought through refactor to make super easy to do a multilingual voice print and a multilingual text to voice
we'll create a simple text parser and audio parser to basically allow the user to input a multilingual string , as so :  bobber kurkuma  oh mon dieu qu'est-ce-que c'est ? ये महत्वाकांक्षी लक्ष्य हैं and get multilingual with emotion based on whether or not an audio file is provided for the voice.
for V2 i think we can improve the text parser with autodetect, cant we ?

to summarize :
simple more powerful and better looking single screen app with a little backend flair to show off the whisperspeech library in a good way = today's goal :-)

@jpc @gongouveia @itsharshitrwt , oops forgot to share the demo link:
https://huggingface.co/spaces/Tonic/laion-whisper
it's been up already some... and i've just been kinda sharing it around lol , as i've been gearing up, but not here, yet, so sorry about that. please take a look there, you can fork that one and make PRs directly, the easiest is to coordinate on issues and make PRs accordingly, even if it takes a tiny bit more time :-)

@itsharshitrwt @gongouveia , i've updated the space name here : https://huggingface.co/spaces/Tonic/whisperspeech/

join me here : https://discord.gg/4r9akpvF?event=1200011410638393404

we'll simplify the interface for sure one last and thought-through refactor to make super easy to do a multilingual voice print and a multilingual text to voice

Will join as soon as possible, I believe the space is good enough already to showcase.
However in "we'll simplify the interface for sure one last and thought-through refactor to make super easy to do a multilingual voice print and a multilingual text to voice", my personal preference is inputs in left and outputs in right side. Generate speech button is too big now, I will propose a new interface configuration :)

we'll simplify the interface for sure one last and thought-through refactor to make super easy to do a multilingual voice print and a multilingual text to voice

preference is inputs in left and outputs in right side. Generate speech button is too big now, I will propose a new interface configuration :)

that's great, dont launch forth just yet because i'm pushing the next version

i need help with that interface stuffs :-) @gongouveia

debugging this error currently (new interface is up and running :-) )

  File "/home/user/.local/lib/python3.10/site-packages/spaces/zero/wrappers.py", line 164, in thread_wrapper
    res = future.result()
  File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/user/app/app.py", line 62, in whisper_speech_demo
    audio_np = generate_segment_audio(text, lang, speaker_url, pipe)
  File "/home/user/.local/lib/python3.10/site-packages/spaces/zero/wrappers.py", line 91, in gradio_handler
    return task(*args, **kwargs)
  File "/home/user/app/app.py", line 39, in generate_segment_audio
    audio_data = pipe.generate(stoks, speaker_url, lang)
  File "/home/user/app/whisperspeech/pipeline.py", line 87, in generate
    return self.vocoder.decode(self.generate_atoks(text, speaker, lang=lang, cps=cps, step_callback=step_callback))
  File "/home/user/app/whisperspeech/pipeline.py", line 81, in generate_atoks
    text = text.replace("\n", " ")
AttributeError: 'Tensor' object has no attribute 'replace'
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.10/site-packages/gradio/queueing.py", line 495, in call_prediction
    output = await route_utils.call_process_api(
  File "/home/user/.local/lib/python3.10/site-packages/gradio/route_utils.py", line 232, in call_process_api
    output = await app.get_blocks().process_api(
  File "/home/user/.local/lib/python3.10/site-packages/gradio/blocks.py", line 1561, in process_api
    result = await self.call_function(
  File "/home/user/.local/lib/python3.10/site-packages/gradio/blocks.py", line 1179, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "/home/user/.local/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "/home/user/.local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2134, in run_sync_in_worker_thread
    return await future
  File "/home/user/.local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 851, in run
    result = context.run(func, *args)
  File "/home/user/.local/lib/python3.10/site-packages/gradio/utils.py", line 678, in wrapper
    response = f(*args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/spaces/zero/wrappers.py", line 118, in gradio_handler
    raise res.value
AttributeError: 'Tensor' object has no attribute 'replace'

hey there , i refactored the functional demo code for a better example code, so i'll just make a fork for that and push to readme or something (?) @jpc with a big thanks to jose that helped out too :-)

so i made a fork here : https://github.com/Josephrp/WhisperSpeech/tree/main with the gradio demo added

@gongouveia @itsharshitrwt @jpc , open issues are in the discussions tab here : https://huggingface.co/spaces/Tonic/whisperspeech/discussions

reformat the language list (and therefore the interface layout - one last time :-) )
adding cool examples
reach goal : slightly better parser for handling punctuation and common user input formats ;-)

@jpc just starting the final changes to the layout namely :

display the language tags inside
small reformat to clean up the "tabs" , put the language tags on the bottom display=false by default + it should be renamed Language Tags or help + small improvements for the uer

afterwards i will port these changes to the demo app code here : https://github.com/collabora/WhisperSpeech/issues/39#issuecomment-1910207333

so, i do prefer the new layout and language list, just pushing to my fork and standing by for your instructions for how to proceed @jpc

@itsharshitrwt @gongouveia : see the PR here : https://github.com/collabora/WhisperSpeech/pull/63 it would be useful to work together on the outstanding issues

I will play around with it a bit today

I will play around with it a bit today

@Josephrp I'm looking on it now.
Will work on:

new examples
Caching for examples.
adding Queue (never tried it with gpu zero)
Rewriting text, has some errors
Redo Layout, it should be inputs, outputs. outputs above doesn´t make sense.

Redo Layout, it should be inputs, outputs. outputs above doesn´t make sense.

sorry... outputs above is standard, here are three examples with outputs above :

github issues
ableton
every ai chat app ever.

just check any of these ;-)
hope you have fun, let's connect whenever you want you can find me :-)

Redo Layout, it should be inputs, outputs. outputs above doesn´t make sense.

sorry... outputs above is standard, here are three examples with outputs above :

github issues
ableton
every ai chat app ever.

just check any of these ;-)
hope you have fun, let's connect whenever you want you can find me :-)

Got it,
I fancy as this, whats your opinion?

Btw in the current version, the mic/upload audio button is messed up.
Will add examples with pairs of text/ voice tomorrow

i also noticed that, about the mic and upload icons on my 32bit windows computer replacement but i thought it was just my OS :-)
i simply cannot imagine what i need to fix about it because it's... a gradio element i guess, nothing custom... it's a headscratcher , so i'll think with you about it .
new layout is much cleaner, the smaller drop downs are easier to see with the text makes more sense. if we're quickly experimenting , could even be to switch it with audio upload, i mean , jsut to see if it's better/same/worse .
one suggestion, maybe, for the audio+text examples is to put some examples also on the audio upload side , more clicking on easy things is always great. (just my random thoughts! sorry if it's wrong :-) )
final thing :
check the demo actually, i think it could be you, or maybe not ?  but @mrfakename basically made a really cool PR , eg :
@spaces.GPU(enable_queue=True)
def whisper_speech_demo(multilingual_text, speaker_audio):

this actually fixed some performance issues i was seeing with a lot of languages together. i'm very happy, so check it out in case its not your push :-)

It is not my push,
I also checked if this gradio element, was just working badly in microsoft edge, but in chrome has same behavior.
I recently also found that the audio element behaves differently in different search engines, in chrome it does some weird audio normalization.

It is not my push, I also checked if this gradio element, was just working badly in microsoft edge, but in chrome has same behavior. I recently also found that the audio element behaves differently in different search engines, in chrome it does some weird audio normalization.
Tell me, audio samples must be how many seconds long, 30 seconds as in whisper?

i didnt realize there was a top limit, but normally more is better, 20 seconds or more is better.
btw i'm having performance issues now on huggingface, but i think it's just huggingface, since uhm the demo was working not too long ago... might revert the changes, but i'll check it tomorrow :-)

https://huggingface.co/spaces/Tonic/whisperspeech/discussions/4
check this discussion for the logs from an error that ... is strange + i'm investigating in the context of the recent collabora updates , help also there , is more than welcome.

It is not my push, I also checked if this gradio element, was just working badly in microsoft edge, but in chrome has same behavior. I recently also found that the audio element behaves differently in different search engines, in chrome it does some weird audio normalization.
Tell me, audio samples must be how many seconds long, 30 seconds as in whisper?

i didnt realize there was a top limit, but normally more is better, 20 seconds or more is better.

The way whisper architecture trasncribes long from audios, is chunking them in 30 seconds audio sample samples with little of overlap between chunks.
I am lacking creativity to find audio voice samples, plus I don´t know what can be copyrighted or not tho. maybe will use some librespeech dataset samples

It is not my push, I also checked if this gradio element, was just working badly in microsoft edge, but in chrome has same behavior. I recently also found that the audio element behaves differently in different search engines, in chrome it does some weird audio normalization.
Tell me, audio samples must be how many seconds long, 30 seconds as in whisper?

i didnt realize there was a top limit, but normally more is better, 20 seconds or more is better.

The way whisper architecture trasncribes long from audios, is chunking them in 30 seconds audio sample samples with little of overlap between chunks.
I am lacking creativity to find audio voice samples, plus I don´t know what can be copyrighted or not tho. maybe will use some librespeech dataset samples

interesting ! so maybe a little session of peercoding is in order to wrap up the outstanding issues, normally chunking in 30 secords should be easy and possible + it seems like it's quite hard to record a whole 30 seconds :-) honestly i was just going to upload my own voice saying goofy and feel good stuff :-) i think it's too late to protect my voice print already...

hmmm @gongouveia , tonight maybe it would be nice to also re organise the interface : currently there's audio upload and text in a row below the output... but... you're right, it doesnt make sense... maybe also it could look a bit more slick imho, so by reorganising the upload to it's own row perhaps, and perhaps "on top of" text input , thinking that it could be combined with the language tags for extra information in a good way, perhaps as rows inside a single accordion .

You mean peer coding in discord?
If thats the case I believe our time zone is very different

seems that:

the parser is working,
the audio quality has been improved
interface has be refactored/arranged

...
therefore it's now interesting / important to move towards finalizing this contribution , perhaps as a notebook to launch a gradio ? @jpc @gongouveia

Just created this issue and am posting it here since it's kind of related.  Thanks.
https://github.com/collabora/WhisperSpeech/issues/67

@Josephrp Soz I have been quite buzy, I will try to add my layout contribution later today

Hey, I started to rework the demo a bit yesterday (including the UI). I should push a PR in a few hours.

Created a pull request in hf, to change layout.

@Josephrp demo is broken up, hope it was not my pr

I simply paused it to free up compute , as the official official version
was released here : https://huggingface.co/spaces/collabora/whisperspeech
I really learned a lot with you - so now… please check the whisperfusion
repo there’s a another issue for a demo there - I guess we can start 😉👊🏻
On Mon 5 Feb 2024 at 11:06, Gonçalo Gouveia @.***>
wrote:

@Josephrp https://github.com/Josephrp demo is broken up, hope it was
not my pr
—
Reply to this email directly, view it on GitHub
https://github.com/collabora/WhisperSpeech/issues/39#issuecomment-1926622010,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEK6QQALUFF43MNCNXBK64TYSCVJHAVCNFSM6AAAAABBUQRFVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRWGYZDEMBRGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

hey @gongouveia , i just started it again , it's building now, sorry about my confusion ! anyways i'll keep it up as long as i can :-) hope no harm done

Hey, sorry I wanted to put the demo online before my holiday and did not have a chance to review your layout changes.
I am back now but the updated Space is not working for me right now. @gongouveia have you seen the "official" space? If you have some ideas on how we could make it better I would love to merge your improvements.

I think that once we merge in MPS support we could get this app into the cocktail peanut's pinokio.computer

@jpc Wow, I had never heard of pinokio tool, very interesting..
Current version is looking good :)

Ok, thanks for all you help @Josephrp and @gongouveia! :)


New Sun setting causes artifacts at top of walls

Hi!
The new SUN setting causes artifacts at top of walls and other elements that reach the height of the room.
This only occurs when the SUN and SHADOW options are enabled.
When the sun is low (near the horizon) or at night then artifacts are not visible.

Hello Reaper, have you put a "transparent_slab" in your model ? I have the same behaviour only when putting the transparent_slab on top of the floor. If you have not put that in your model, please send me your model so that I can check why this is happening.

yes, I have translucent elements placed there...
like translucent bathroom panel lamps (hidden when turned on) and fragment of a hallway lowered ceiling with spot lamps.

I'm looking into it: maybe some iddent property of the the transparent material. As I can reproduce it, I will take care of investigating.

hello @reaper7, I've understood the cause of the issue. When the objects have exactly the same elevation, the shadow behaviour is not very well managed. I'm exploring some parameters, but so far when I fix the strange shadow pattern I introduce other side effects. So if it is not bad for your model try to alter slightly the elevation of the transparent objects to make them slightly higher or lower in SH3D (0.5 cm is enough). So far it is the only workaround I can suggest, please let me know

Hi @adizanni, I removed all the elements and left only the rooms and the walls
but the artifacts are still there.

Have you verified what is the color that is set for the top of the wall in SweetHome3d ? You can try to set it to white instead of default. Patterns appears only on some walls......

on a simple model with white top artifacts are almost invisible

but on my model (only with walls) they are still visible

the strange thing is that the artifacts cause the items below, like windows

second, strange thing, why the shadow of the sun looks like stairs? it shouldn't be more like a straight line ? maybe this is causing these weird stripes on top of the walls?

Yes @reaper7, the shadow generated by the sun is not defined well (low resolution) because it is requiring a lot of calculation. And I also think that it is causing the patterns on the wall. I will check if I can improve

@adizanni - relax :) it's a nice addition but I temporarily turned it off, the graphic system is at the limit :)

I have created the possibility to put what I call "transparent slab". If you put an invisible object on the ceiling of your floor light is blocked. Condition for it to work:

the objects should be named transparent_slab* (meaning you can have more than one but the name of all of them should begin with transparent_slab.
you have to use the ExportToHass plugin in order for it to work

Unfortunately, even when you cover the full model with a transparent slab, the pattern appear.....

is it possible to add a exclusion group where there will be elements
on which we do not want shadows to be generated ? (tops of the walls are separate elements)

Yes you are right the wall top is always named the same way so I could exclude it from receiving shadow. I will study a way to make this working in all scenarios (the one you propose seems good). In the meantime please have a look to the v1.3.9 (I'm releasing it right now) with a soft shadow effect.

In the new version I have also allowed the ceiling. When Ceiling are dispIayed in Sweethome3d, they turn into transparent shields for the sun (no light pass through them). Activating this feature I realized that the patterns are only appearing on top of the wall when there is a hole or a door underneath.

@adizanni - 1.3.9 is better for me, artifacts are much less visible.
It is no longer a chessboard with high contrast and transitions are softer.

Have you tried to use the ceiling in SweetHome3d (it seems yes from the pictures) ?
I think that it will be difficult for me to achieve better, but I can keep this issue open for continuous improvement and other cases that may be discovered by users.

To be honest I don't know where the ceiling settings are in sh3d, I searched yesterday but couldn't find it.
I think it's ok. Maybe new ideas will emerge over time :)

The ceiling parameter is in the room properties dialog (double click on the room)

indeed, I have a ceiling in each room, color White and Matt

So this is what I saw. Good

@reaper7 can you state if we can close the issue ?


Update modules that depend on contains using the (deprecated) V1 manifest style to V2 manifest containers

Description of feature
The 3.12.3 nf-core/rnaseq workflow pulls a few very old containers that use the V1 manifest version. These older style of containers can cause errors when using the wave.freeze feature of nextflow inspect.
These containers can cause the Wave error
ERROR ~ Unexpected response for 'https://wave.seqera.io/v2/wt/97eadd52dcc4/robsyme/wavetesting/manifests/85f9bc21a4c60b81': [400] {"errors":[{"code":"UNKNOWN","message":"INFO[0000] Retrieving image manifest quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1 \nINFO[0000] Retrieving image quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1 from registry quay.io \nERRO[0001] Error while retrieving image from cache: quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1 unsupported MediaType: \"application/vnd.docker.distribution.manifest.v1+prettyjws\", see https://github.com/google/go-containerregistry/issues/377 \nINFO[0001] Retrieving image manifest quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1 \nINFO[0001] Retrieving image quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1 from registry quay.io \nerror building image: unsupported MediaType: \"application/vnd.docker.distribution.manifest.v1+prettyjws\", see https://github.com/google/go-containerregistry/issues/377\n"}]}

The affected processes and containers are:

QUALIMAP_RNASEQ:

Uses biocontainers/qualimap:2.2.2d--1 (4 years old)
Recommendation biocontainers/qualimap:2.3--hdfd78af_0

RSEQC_.*:

Uses biocontainers/rseqc:3.0.1--py37h516909a_1 (4 years old)
Recommendation is biocontainers/rseqc:5.0.3--py39hf95cd2a_0

https://github.com/nf-core/modules/pull/4601

Older V1 containers can be discovered with
nextflow inspect nf-core/rnaseq -r master -profile test -format json > config.json

for URL in $(jq -r '.processes | .[] | .container' config.json); do
    docker manifest inspect $URL > /dev/null 2> >(grep -i 'unsupported manifest media') || echo $URL
done | sort | uniq

Current list is
quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1
quay.io/biocontainers/qualimap:2.2.2d--1

nextflow inspect will only get you the containers for a specific -profile, however, if to get ALL of the containers defined in a pipeline using the same container syntax as an nf-core pipeline, you can use run this command in the root of a local clone:
$ find ./modules/ -type f -name '*.nf' -exec grep -A 2 'container ' {} \; | grep " }" | awk -v OFS='/' '{print "quay.io", substr($1,2,length($1)-2); }' | sort | uniq | xargs -i sh -c "echo {}; docker manifest inspect {}" | grep -E "quay.io|unsupported manifest"

quay.io/biocontainers/bbmap:39.01--h5c4e2a8_0
quay.io/biocontainers/bedtools:2.30.0--hc088bd4_0
quay.io/biocontainers/bioconductor-dupradar:1.28.0--r42hdfd78af_0
quay.io/biocontainers/bioconductor-summarizedexperiment:1.24.0--r41hdfd78af_0
quay.io/biocontainers/bioconductor-tximeta:1.12.0--r41hdfd78af_0
quay.io/biocontainers/fastp:0.23.4--h5f740d0_0
quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0
quay.io/biocontainers/fq:0.9.1--h9ee0642_0
quay.io/biocontainers/gffread:0.12.1--h8b12597_0
quay.io/biocontainers/hisat2:2.2.1--h1b792b2_3
quay.io/biocontainers/kallisto:0.48.0--h15996b6_2
quay.io/biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0
quay.io/biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:59cdd445419f14abac76b31dd0d71217994cbcc9-0
quay.io/biocontainers/mulled-v2-8849acf39a43cdd6c839a369a74c0adc823e2f91:ab110436faf952a33575c64dd74615a84011450b-0
quay.io/biocontainers/mulled-v2-a97e90b3b802d1da3d6958e0867610c718cb5eb1:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0
quay.io/biocontainers/mulled-v2-cf0123ef83b3c38c13e3b0696a3f285d3f20f15b:64aad4a4e144878400649e71f42105311be7ed87-0
quay.io/biocontainers/multiqc:1.17--pyhdfd78af_0
quay.io/biocontainers/multiqc:1.17--pyhdfd78af_1
quay.io/biocontainers/perl:5.26.2
quay.io/biocontainers/picard:3.0.0--hdfd78af_1
quay.io/biocontainers/preseq:3.1.2--h445547b_2
quay.io/biocontainers/python:3.9--1
quay.io/biocontainers/qualimap:2.2.2d--1
unsupported manifest media type and no default available: application/vnd.docker.distribution.manifest.v1+prettyjws
quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1
unsupported manifest media type and no default available: application/vnd.docker.distribution.manifest.v1+prettyjws
quay.io/biocontainers/salmon:1.10.1--h7e5ed60_0
quay.io/biocontainers/samtools:1.16.1--h6899075_1
quay.io/biocontainers/samtools:1.17--h00cdaf9_0
quay.io/biocontainers/sortmerna:4.3.4--h9ee0642_0
quay.io/biocontainers/stringtie:2.2.1--hecb563c_2
quay.io/biocontainers/subread:2.0.1--hed695b0_0
quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0
quay.io/biocontainers/ucsc-bedclip:377--h0b8a92a_2
quay.io/biocontainers/ucsc-bedgraphtobigwig:445--h954228d_0
quay.io/biocontainers/umi_tools:1.1.4--py38hbff2b2d_1
quay.io/nf-core/ubuntu:20.04

As you rightly pointed out @robsyme we need to update the following containers;
quay.io/biocontainers/qualimap:2.2.2d--1
quay.io/biocontainers/rseqc:3.0.1--py37h516909a_1

Given that these nf-core modules are now using nf-test and don't want to include this in the upcoming 3.14.0 release, we can patch these modules with nf-core modules patch to bump the container versions.
I have noticed some weird issues when bumping RSeqC in the past but I can't remember now so we will have to be a little cautious when doing this and check all of the releveant tests.

Fixed in https://github.com/nf-core/rnaseq/pull/1152

I have recently started using nf-core and I think I may have a problem regarding this issue.
I have run the following command to build an RRBS analysis pipeline and got an error.
$nextflow run nf-core/methylseq -profile test,docker --outdir res
N E X T F L O W ~ version 23.10.1
Launching `https://github.com/nf-core/methylseq` [high_mestorf] DSL2 - revision: 54f823e102 [master].

As a result, I get the following error
-[nf-core/methylseq] Pipeline completed with errors-
[3c/13954f] NOTE: Process `NFCORE_METHYLSEQ:METHYLSEQ:PRESEQ_LCEXTRAP (Ecoli)` terminated with an error exit status (1) -- Error is ignored
ERROR ~ Error executing process > 'NFCORE_METHYLSEQ:METHYLSEQ:QUALIMAP_BAMQC (Ecoli)'

Caused by:
  Process `NFCORE_METHYLSEQ:METHYLSEQ:QUALIMAP_BAMQC (Ecoli)` terminated with an error exit status (125)

Command executed:

  unset DISPLAY
  mkdir -p tmp
  export _JAVA_OPTIONS=-Djava.io.tmpdir=./tmp
  qualimap \
      --java-mem-size=4915M \
      bamqc \
       \
      -bam Ecoli.sorted.bam \
       \
      -p non-strand-specific \
      --collect-overlap-pairs \
      -outdir Ecoli \
      -nt 2

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_METHYLSEQ:METHYLSEQ:QUALIMAP_BAMQC":
      qualimap: $(echo $(qualimap 2>&1) | sed 's/^.*QualiMap v.//; s/Built.*$//')
  END_VERSIONS

Command exit status:
  125

Command output:
  (empty)

Command error:
  Unable to find image 'quay.io/biocontainers/qualimap:2.2.2d--1' locally
  2.2.2d--1: Pulling from biocontainers/qualimap
  docker: [DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of quay.io/biocontainers/qualimap:2.2.2d--1 to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/.
  See 'docker run --help'.

Finally, thank you very much for your wonderful framework.
I would be grateful for your cooperation.

@hiuchi Please raise this on nf-core/methylseq- they will likely need to update their copy of this module


Create server support https

Fixes #3127
Proposed Changes

Create a new optional TLS server for the receiver using the key pair provisioned in #3107
Incorporate functionality to handle scenarios where key pairs are missing, without preventing the receiver from starting or operating
Adopt a similar approach used in Eventing core for Go components, where a TLS server is created, and when the certs are not available, the TLS handshake fails
This implementation is specific to Java components, with particular focus on Vertx

Release Note

Implemented optional TLS server for receiver in Eventing Kafka Broker. The server uses the key pair provisioned in #3107 and has the ability to handle missing key pairs without halting receiver operations.

/test channel-integration-tests-ssl


Help Button

started on this

Found a library to use and started a lot of work on this. Need to do connect, saved, and settings page.

Finished for each page. Now I want to make it responsive. Currently it only triggers when a page rebuilds. I want it to trigger when button pressed.

working!


feat: bookmark CSVs

What this feature is about
Adds the option to bookmark the current CSV content and to load previously bookmarked files.
Bookmarks are stored by chainId and the user can give a name to each of the transfers.
Bookmarks also get persisted into local storage such that they are persisted between page loads.
Screenshots

Tried it! Working well! Merge it baby!


Link-level flow-control

Need to track link-level flow-control primitives (link credit, primarily) and deal with violations.

Now sending and processing flow frames correctly.


Samsung variants

Having purchased dozens of Samsung phones for GearVR customers, I have personally these variants of IDs. Two of the below are S7s and the last is an S8 (AT&T version), so I created these:
{"type":"android","rules":[{"mdmh":"samsung//SM-G930A/"},{"ua":"SM-G930A"}],"dpi":576.6,"bw":3,"ac":1000},
{"type":"android","rules":[{"mdmh":"samsung//SM-G930V/"},{"ua":"SM-G930V"}],"dpi":576.6,"bw":3,"ac":1000},
{"type":"android","rules":[{"mdmh":"samsung//SM-G950U/"},{"ua":"SM-G950U"}],"dpi":[562.707,565.293],"bw":3,"ac":500},
But, Samsung generates many, many id variants which appear in the userAgent string:
Here's a list I found online:
https://forum.xda-developers.com/galaxy-s8/how-to/index-list-s8-s8-versions-t3586387
Perhaps we should query for the model without the trailing alpha character?
Such as SM-930 instead of SM-930A?

Fixed via immersive-web/cardboard-vr-display#30


How to test  ?

Is there a way to tests views that are defined as ? (Im using those in view pager)

For sure! Remember that the merge tags are essentially saying that the enclosing elements are going to placed in a single ViewGroup - without a ViewGroup to contain them, they are not able to be inflated.
Consider the following:
<merge>
    <TextView .../>
    <TextView .../>
</merge>

You'd have to have a second file (unless that was your activity layout XML - which gets merged into a single FrameLayout):
<LinearLayout
    android:orientation="vertical"
    ... />

    <include layout="@layout/name_of_file_with_merge_tags" />
</LinearLayout>

Then use the second file as the layout for your ViewTestRule.

Note however, we don't usually test such files. If a layout has merge tags, we're usually inflating them programmatically into a custom view:
class MyCustomView extends LinearLayout {
    ...
    @Override
    public void onFinishInflate() {
        super.onFinishInflate();
        View.inflate(getContext(), R.layout.name_of_file_with_merge_tags, this);
    }
}

and creating another layout to inflate MyCustomView:
<com.example.MyCustomView
    ... />

and using that as the layout for the ViewTestRule. This ensures we're testing the view as a whole as we would use it in the app. We rarely, if ever, share merge layouts between multiple Views, and I never use XML based includes, preferring custom views for encapsulation and clarity.

Feel free to reopen if you have further questions.


DNS Options doesn't work

The Option "Primary / Secondary DNS" dosn't work. It looks like it will ignored by docker. If I type "--dns" manually in terminal it works like expect.
Technical details:

Portainer version: 1.24
Docker version (managed by Portainer): 19.03.11
Platform (windows/linux): Raspbian stretch

Looks like this is working on 1.24.0 running on a centos machine in our test lab so I will need to test on a PI
FYI dns info is found inside container inspect -> HostConfig -> Dns

Works on our RPI4 Machine. @dockerpirate what are your reproduction steps and how have you verified you have a bug?

Works on our RPI4 Machine. @dockerpirate what are your reproduction steps and how have you verified you have a bug?

I'm using Orange Pi (armv7), I've created an Unbound container, after that I checked DNS entry in Container at /etc/resolv.conf and get <IP_ADDRESS> instead of <IP_ADDRESS> or other entries. Same I tried with official pihole container.
Now I tested my container on "Docker Playground" it works with Portainer like expect

Now I found out, how to reproduce it:
I created a new seperate network (bridge) <IP_ADDRESS>/16
than I created a container with porainer gui, add alternative dns and new network, after that I check /etc/resolv.conf and voila I'll get <IP_ADDRESS> instead of typed address.
If I replace the container with default network, dns works fine.
Hope you can understand it

Ok, so this is the same behaviour you get when connecting a container to a custom bridge via Docker CLI. The dns is present in HostConfig in the container config, but not via cat /etc/resolv.conf
@ncresswell any knowledge here?

https://github.com/docker/for-linux/issues/488

docker/for-linux#488

oh, I've to verify it, I think I doesn't bind new network on terminal, so it wouldn't be a portainer issue

I found the answer. Containers in a user defined bridge network use dockers embedded DNS.
And per dockers documentation for user defined networks,  /etc/resolv.conf isn't updated by this embedded DNS.
The IP addresses passed via the --dns option is used by the embedded DNS server to forward the DNS query if embedded DNS server is unable to resolve a name resolution request from the containers. These --dns IP addresses are managed by the embedded DNS server and will not be updated in the container's /etc/resolv.conf file.
Closing as this is not a Portainer issue, but really docker's normal behaviour.


[Bug]: net::ERR_ABORTED 404 (Not Found)

What happened?
Hi, i have installed your system successfully,but when i opened the link http://example.com/admin/login，it showed：

What did you expect to happen?
how to get these files
Version
3.0.x
What browser are you seeing the problem on?
Chrome
Relevant log output
No response

This issue is fairly old and there hasn't been much activity on it. Closing, but please reopen if it still occurs.


update(OWNERS): move fntlnz to emeritus_approvers

What type of PR is this?
/kind documentation
Any specific area of the project related to this PR?
What this PR does / why we need it:
Which issue(s) this PR fixes:
Supersedes #53, see https://github.com/falcosecurity/kilt/pull/53#issuecomment-1189981101. Additionally, this fixes the OWNERS files by removing duplicates in the approvers and reviewers sections.
Special notes for your reviewer:

@jasondellaluce: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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

Needs approval from an approver in each of these files:

OWNERS [gnosek]

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

/approve

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

Needs approval from an approver in each of these files:

OWNERS [gnosek]

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


Add command line interface

As a user of HSC I would like to call HSC from the command line (e.g., Shell, Command Window, ...) to investigate number of HTML files and create a proper report.

Duplicated by #318


Other "compass"-like libraries

There are other libraries around which try to provide a generic hardware discovering.
What is done there and what can be re-used in compass?
The ideal case would be to gather the authors and merge the work into compass.
I will try to list them in this issue...

DASH
DASH -
DASH already implements a hardware information API.
https://github.com/dash-project/dash/blob/665ea04572c73311bc6977f0fbcc22d17160686f/dart-if/include/dash/dart/if/dart_types.h

that is an effort highly appreciated! thanks a mllion.

talked with a fellow from our institute, he also wants a hardware info tool, but focus is quite I/O low-level.
nevertheless, there are common features and we should talk together, maybe at a GCOE meeting. but first, we should gather more information to find must-haves, nice-to-have and must-not-haves :)

hwloc
hwloc (Open-MPI)

source

... provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures,

information on: NUMA, sockets, caches, processor packages & cores & units, affinities, I/O devices, hierarchy, accelerators
C-API, highly portable
License: 3-clause BSD

Conclusion

most likely we have to rely on it and compass might become just a modern C++ wrapper for it

yes and no, is hwloc working on Windows?

yes it does, see updated hwloc post. We still have to check features which are not covered by hwloc et. al.

Boost::Predef
Boost::Predef contains system information which can be retrieved by the compiler.
provides information about:

architecture, compiler, language, OS, SIMD type, endianess
probably not important: [C] library, platform (mingw, windows [desktop, phone, runtime, store])

First released in Boost 1.55.0.
Conclusion

could replace our compile-time stuff, which would introduce dependency of Boost >=1.55.0

and of course we should not forget
cpu_features


There is bottom inset issue of scrollView which has contentInsets.top !=0

Reason: Missing minus contentInsets.top in maxOffset calculation.

Cheers @zendobk!


Adding commit to the github-branch serializer

Hi @elwayman02!
I wanted to hear your thoughts in regards to something before I go ahead and open a PR.
I just started using your addon because I needed to fetch the information for GitHub branches, but among the name, I wanted to show also the latest commit message. Since I don't need to create a separate Commit model for now, what I'm doing is the following:
// ember-data-github/addon/serializers/github-branch.js

import GithubSerializer from './github';

export default GithubSerializer.extend({
  normalize(type, hash, prop) {
    hash = {
      id: hash.recordId || hash.commit.url.replace('https://api.github.com/repos/', '').replace(/\/commits\/.+/, `/branches/${hash.name}`),
      name: hash.name,
      commit: hash.commit
    };
    return this._super(type, hash, prop);
  }
});

// ember-data-github/addon/models/github-branch.js

import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  commit: DS.attr()
});

Is there a reason not to do that, or did you have in mind leaving the option for creating a separate model for Commits?
Thanks!

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39868918-adding-commit-to-the-github-branch-serializer?utm_campaign=plugin&utm_content=tracker%2F15732968&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F15732968&utm_medium=issues&utm_source=github).

If Commit is an object with a unique ID, it almost definitely should have its own model,so that we can keep proper relationships between the objects. If not, it's OK to take the shortcut of treating it as a blob, albeit a bit hacky.

@elwayman02 yeah, it contains its sha, ergo we could use that as an id as a separate model. I think it makes sense 👍


add FIleIO integration

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@726894d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #2   +/-   ##
=========================================
  Coverage          ?   93.51%
=========================================
  Files             ?        1
  Lines             ?      185
  Branches          ?        0
=========================================
  Hits              ?      173
  Misses            ?       12
  Partials          ?        0

Continue to review full report at Codecov.

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


update dependencies

possibly find an automatic way to keep the dependencies up to date

Done by enabling and configuring Renovate


Adjust requirements.txt - add lower version bounds

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1915

Relevant Lines:
2882

💛  - Coveralls


Stronger wording on @LRA placement

and explicitly indicating where @LRA can be used.

@xstefank as I can't add you as reviewer


⚠ ClamAV has degraded performance

In 753b47f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in 3f52b69.


Prevent pulling when teleporting

About the PR
If a user attempts to teleport, either through the space ninja's katana or a scram implant, they will drop said item before teleporting
Why / Balance
Fix #33243 and prevent teleports from being extended to pulled objects
Technical details
Adds a check to both OnScramImplant & OnDash that check if the user is pulling an item, and if so, attempt to cancel the pull before the teleport
Media

https://github.com/user-attachments/assets/ed8b0c71-0beb-4b37-abca-9c88b9c691e4
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Changelog

:cl:

tweak: Teleporting or dashing now causes you to stop pulling objects.

Tested and works as intended, thanks for the PR!

I did say the issue was present with scram implants, but I also heard it was funny to scram into space with a secoff that was dragging you earlier, so it might be worth leaving that in considering its unpredictability

While I agree with you that it would be funnier to keep, this has too many potential edge cases where it could cause bugs with pulling.

Does it also prevent pulling if user or targes is being teleported? For example, by bluespace anomaly

Does it also prevent pulling if user or target is being teleported? For example, by bluespace anomaly

The bluespace anomaly is a separate system, but it likely has the same problem.

Does it also prevent pulling if user or target is being teleported? For example, by bluespace anomaly

Yes, as Slarti said the bluespace system is separate
With being pulled however, the scram implant already had a check in place to escape from being pulled. The dash does not, so I will be adding that shortly

It was kinda funny though. But removing this is probably for the better.

Thanks!

And I did perform testing on the bluespace scenarios, both the linked lockers and bluespace anom.
Both cancel your pulls if you are dragging something.
The items come along in the locker if they are also closed in, but you are not pulling them when you leave the other locker

It was kinda funny though. But removing this is probably for the better.

Yeah, I agree. There's nothing like stealing an entire computer (or person) in the blink of an eye
Although it definitely needs to be removed for balancing

My thoughts are that the pulling system should listen for when a puller's transform get updated, and if the displacement is outside a certain tolerance, the pull is canceled. That way all teleport cases would be covered


error: legacy-install-failure

When trying to install I get this:
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> python-Levenshtein
How can I fix it?

I just tried installing and using the library, it installs and works fine.

Any idea how I can fix the issue? I am really new to python. I just installed it for the first time 3 days ago but parrot paraphraser is exactly what I need. I tried googling this error but I did not find the answer.


Use custom message cards with helm chart

When running as a docker container, the custom message card template file is mounted in the container via volume and then the TEMPLATE_FILE environment variable is set.
When running as a binary, the --template-file flag is used.
But there is no mention in the README about how to achieve this when deployed with the helm in a k8s cluster?
In the prometheus-msteams chart, the message card template file is mounted into the container via a configMap volume. This configMap reads data from only the default template card.tmpl.
binaryData:
  card.tmpl: {{ .Files.Get "card.tmpl" | b64enc }}

The function .Files.get reads only those files which are present inside the chart's folder.
Here you can read that :

Currently, there is no way to pass files external to the chart during helm install. So if you are asking users to supply data, it must be loaded using helm install -f or helm install --set.

So as of now, it is not possible to use an external custom card template file with helm.
According to me, there could be 2 ways to fulfill the requirement:

Download the chart and manually replace the prometheus-msteams/card.tmpl with the custom template file. The custom template file should also have the same name card.tmpl.
Provide template file data via values file of the chart. Then allow the configMap to get that data from values file. If the custom template is not specified in the values file, the configMap should use the default template card.tmpl.

Am I right here? Is there any other solution for this?

Thank you @Anjana-dyna for filing this issue. Super interesting, I wasn't aware of this limitation in helm, see also this open PR.
I think you are correct with the above mentioned two workaround solutions.
For now, we have 2 options:

contribute to helm which might take a while to take effect, especially because helm 2 and 3 are diverging, see also this comment
simply use your first idea for a workaround which does not require any implementation
follow your second idea: I actually like this idea, we could provide a value in values.yaml, e.g. something like customTemplateB64 which is empty by default. When providing it, we will use this base64 encoded string of a custom template in order to create the configmap. It could be a little bit dirty to provide such a long base64-encoded string to --set parameter, or have it in a custom values.yaml file, but it kind of gives you the flexibility to use the public prometheus-msteams chart without the need to download the source code.

Looking forward to your contribution :).

The above mentioned "public prometheus-msteams chart" obviously does not yet exist :D...but there is an open issue at least #50 ;)

Thank you @Anjana-dyna for filing this issue. Super interesting, I wasn't aware of this limitation in helm, see also this open PR.
I think you are correct with the above mentioned two workaround solutions.
For now, we have 2 options:

contribute to helm which might take a while to take effect, especially because helm 2 and 3 are diverging, see also this comment
simply use your first idea for a workaround which does not require any implementation
follow your second idea: I actually like this idea, we could provide a value in values.yaml, e.g. something like customTemplateB64 which is empty by default. When providing it, we will use this base64 encoded string of a custom template in order to create the configmap. It could be a little bit dirty to provide such a long base64-encoded string to --set parameter, or have it in a custom values.yaml file, but it kind of gives you the flexibility to use the public prometheus-msteams chart without the need to download the source code.

Looking forward to your contribution :)

Actually I have a solution as mentioned in the second option.
We can provide the template file in the values file like:
customMessageCardTemplate:
  card.tmpl: |-
    {{ define "teams.card" }}
    .
    .
    .
    .
    {{ end }}

But the problem is, the configMap would change to:
 ---
apiVersion: v1
kind: ConfigMap
metadata:
 name: prometheus-msteams-card-template
data:
{{- if .Values.customMessageCardTemplate }}
{{ toYaml .Values.customMessageCardTemplate | indent 2 }}
{{- else }}
  card.tmpl: |-
{{ .Files.Get "card.tmpl" | indent 4 }}
{{- end }}

That means, configmap would use data instead of base64-encoded binaryData.
I was worried if that change in the chart would be suitable for all or not.
Before this, i also tried the same like:
data:
  card.tmpl: |-
{{- if .Values.customMessageCardTemplate }}
{{ toYaml .Values.customMessageCardTemplate | indent 4 }}
{{- else }}
{{ .Files.Get "card.tmpl" | indent 4 }}
{{- end }}

In this case, we can use the helm install command to set the value of customMessageCardTemplate by loading the template file itself. For example, If the custom-card.tmpl file contains the template data, the install command would be like:
helm install --name prometheus-msteams --set-file customMessageCardTemplate=custom-card.tmpl --dry-run --debug ./prometheus-msteams
But I got resulting configmap like. When reading the value from a file, It contains some extra characters also. That doesn't looks fine.
apiVersion: v1
kind: ConfigMap
metadata:
 name: prometheus-msteams-card-template
data:
  card.tmpl: |-
    "{{ define \"teams.card\" }}\r\n{\r\n  \"@type\": \"MessageCard\",\r\n  \"@context\":
      \"http://schema.org/extensions\",\r\n  \"themeColor\": \"{{- if eq .Status \"resolved\"
      -}}2DC72D\r\n                 {{- else if eq .Status \"firing\" -}}\r\n                    {{-
      if eq .CommonLabels.severity \"critical\" -}}8C1A1A\r\n                    {{- else
      if eq .CommonLabels.severity \"warning\" -}}FFA500\r\n                    {{- else
      -}}808080{{- end -}}\r\n                 {{- else -}}808080{{- end -}}\",\r\n  \"summary\":
      \"{{- if eq .CommonAnnotations.summary \"\" -}}\r\n                  {{- if eq .CommonAnnotations.message
      \"\" -}}\r\n                    {{- .CommonLabels.cluster -}}-cluster\r\n                  {{-
      else -}}\r\n                    {{- .CommonAnnotations.message -}}\r\n                  {{-
      end -}}\r\n              {{- else -}}\r\n                  {{- .CommonAnnotations.summary
      -}}\r\n              {{- end -}}\",\r\n  \"title\": \"Prometheus Alert ({{ .Status
      }})\",\r\n  \"sections\": [ {{$externalUrl := .ExternalURL}}\r\n  {{- range $index,
      $alert := .Alerts }}{{- if $index }},{{- end }}\r\n    {\r\n      \"activityTitle\":
      \"[{{ $alert.Annotations.description }}]({{ $externalUrl }})\",\r\n      \"facts\":
      [\r\n        {{- range $key, $value := $alert.Annotations }}\r\n        {\r\n          \"name\":
      \"{{ reReplaceAll \"_\" \" \" $key }}\",\r\n          \"value\": \"{{ reReplaceAll
      \"_\" \" \" $value }}\"\r\n        },\r\n        {{- end -}}\r\n        {{$c :=
      counter}}{{ range $key, $value := $alert.Labels }}{{if call $c}},{{ end }}\r\n        {\r\n
      \         \"name\": \"{{ reReplaceAll \"_\" \" \" $key }}\",\r\n          \"value\":
      \"{{ reReplaceAll \"_\" \" \" $value }}\"\r\n        }\r\n        {{- end }}\r\n
      \     ],\r\n      \"markdown\": true\r\n    }\r\n    {{- end }}\r\n  ]\r\n}\r\n{{
      end }}\r\n"

I thought if this method worked correctly, and took the same data to configMap, then I can try with base-64 encoded data also. In that case, we can maintain binaryData itself. But unfortunately, that didn't happen. That's why I needed to switch from binaryData to data.
Please feel free to tell me if you have any suggestions.

Thanks @Anjana-dyna. Closing this in regards to #71 .


WIP to discuss w/ marco

@MarcoPolo take a look

[ ] Test avdl changes in go

[x] incomingCallMap typing
[x] outgoing rpc calls (rpc2)
[ ] listenGeneralIncomingRpc

@MarcoPolo take a peek, looking for general feedback

@keybase/react-hackers please take a look

new rpc stuff is pretty cool!
I wish we knew what the incoming call map had to be given the rpc method, then we could get really fancy and generate typed methods, like rpc.getConfig(params: ConfigParms, incomingCallMap: GetConfigCallMap) => Promise<Config, Err>! but maybe that's for rpc3
lgtm


Update covid_latest_SC_FULL.json

covid_latest_SC_FULL.json needs some trimmings and additions so we can optimize data downloads.

[x] Add the {"Country":"USA","State":"ALL","County":"ALL", entry from the full dataset
[x] Remove non-USA entries ie: {"Country":"BRA","State":"SC","County":"ALL",
[x] Turn on gzip compression in AWS https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

to use the gzip just include 'Accept-Encoding: gzip' in the request header.
Also ... use this file to get just SC latest data (which is a much smaller filesize)
https://aws.covidsc.com/data/covid_latest_SC.json

We've always included that header, chrome does it by default. Just re-ran lighthouse and that audit looks good to go now.
@jackneil we need to use covid_latest_SC_FULL to get the multi-day counts for the graph.
I'm still using covid_latest_SC as a separate fetch since it's only 20kb