still-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev 0fa0e84d537b
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone a8c677472ab5691741798a3d
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
src/content/sessions.ts
import type { Session } from "./types";

export const SESSIONS: Session[] = [
  {
    slug: "body-scan",
    title: "Body scan",
    summary: "Move your attention slowly from your feet to your head, noticing each part.",
    lengths: [10, 15, 20],
    steps: [
      { say: "Welcome. Find a position where you can be still and comfortable, lying down or sitting. Let your eyes close, or rest your gaze softly on the floor.", pause: 8 },
      { say: "Take a slow breath in, and let it go with a sigh. Let your body get a little heavier, and let whatever is under you hold your weight.", pause: 12 },
      { say: "For the next few minutes, you will move your attention slowly through the body, from your feet to your head. You are not trying to change anything. You are only noticing.", pause: 6 },
      { say: "Bring your attention to your feet. Notice your toes, the soles, the heels. You might feel warmth, coolness, pressure, tingling, or nothing much at all. If you cannot feel a part, that is fine too.", pause: 38 },
      { say: "Let your attention drift up into your lower legs. Calves, shins, ankles. Notice whatever is there, without needing it to be different.", pause: 38 },
      { say: "Now your knees and thighs. Notice the weight of the legs, and where they touch the surface beneath you.", pause: 38 },
      { say: "If your mind wanders, that is completely normal. Notice where it went, and gently come back to where you left off.", pause: 18 },
      { say: "Move your attention to your hips and lower back. Notice the places that hold you up. If there is tightness, you can simply breathe near it and let it be.", pause: 40 },
      { say: "Now your belly. Notice it rising and falling with each breath, with nothing to fix. Let it be soft.", pause: 38 },
      { say: "Bring your attention to your chest and upper back. Notice the gentle movement of breathing, and the beat of your heart if you can sense it.", pause: 38 },
      { say: "Now your hands and arms. Fingers, palms, wrists, elbows, shoulders. Let your shoulders drop away from your ears.", pause: 38 },
      { say: "Notice your neck and throat. Let your jaw loosen, and let your tongue rest in your mouth.", pause: 22 },
      { say: "Now your face. Your cheeks, your eyes, your forehead. Let the small muscles around your eyes go soft. Notice the top of your head.", pause: 26 },
      { say: "Now let your attention open to the whole body at once. Feet to head, one quiet shape, resting and breathing. Stay with it as long as you like.", pause: 70 },
      { say: "Slowly begin to come back. Wiggle your fingers and toes, and take a deeper breath. When you are ready, open your eyes. Thank yourself for taking this time.", pause: 6 },
    ],
  },
  {
    slug: "breath-focus",
    title: "Breath focus",
    summary: "Rest your attention on the breath and gently return each time your mind wanders.",
    lengths: [5, 10, 15],
    steps: [
      { say: "Welcome. Settle into a comfortable position, sitting or lying down. Let your eyes close, or rest your gaze low, a little way in front of you.", pause: 5 },
      { say: "Take one slow breath in, and let it go. Then let your breathing find its own rhythm. There is nothing to do to it.", pause: 8 },
      { say: "Notice where you feel the breath most clearly. It might be at the nostrils, in the chest, or in the belly. Rest your attention there.", pause: 18 },
      { say: "Now follow one full breath. The beginning of the in breath, the small pause at the top, and the long release out.", pause: 14 },
      { say: "If it helps, count each breath as it leaves. One on the first out breath, two on the next, up to five. Then begin again at one.", pause: 26 },
      { say: "Your mind will wander. That is what minds do. When you notice, there is no need to be annoyed. Just come back to the breath, and begin again at one.", pause: 26 },
      { say: "Each time you return, you are practicing the whole skill. The wandering and the returning are both part of it.", pause: 26 },
      { say: "Let go of counting now, and just feel the breath. Breathing in, you know you are breathing in. Breathing out, you know you are breathing out.", pause: 34 },
      { say: "Stay with the breath, as steady as you can, and as kind as you can.", pause: 20 },
      { say: "Let your attention widen to the whole body sitting here. Feel your hands, your feet, the air on your skin.", pause: 10 },
      { say: "When you are ready, let your eyes open slowly. Take a moment before you move on.", pause: 6 },
    ],
  },
  {
    slug: "loving-kindness",
    title: "Loving kindness",
    summary: "Offer silent wishes of kindness to yourself, people you know, and everyone.",
    lengths: [10, 15],
    steps: [
      { say: "Welcome. Sit or lie down in a way that feels easy. Close your eyes, or rest your gaze low. Let your shoulders soften.", pause: 8 },
      { say: "In this practice, you offer silent wishes of kindness, first to yourself, and then outward to others. The words are simple. If the feeling does not come, that is fine. Just offer the wishes.", pause: 10 },
      { say: "Take a few easy breaths. You can place a hand on your chest if that feels comforting.", pause: 15 },
      { say: "Begin with yourself. Bring to mind yourself as you are right now, a person who wants to be well.", pause: 10 },
      { say: "May I be safe. May I be healthy. May I be at ease.", pause: 35 },
      { say: "Say the words again, slowly, in your own rhythm. If kindness toward yourself feels hard, imagine how you would speak to a friend.", pause: 8 },
      { say: "May I be safe. May I be healthy. May I be at ease.", pause: 40 },
      { say: "Now bring to mind someone who is easy to care about. A friend, a family member, a pet, someone who makes you smile. See their face, or simply sense that they are near.", pause: 12 },
      { say: "May you be safe. May you be healthy. May you be at ease.", pause: 35 },
      { say: "Say them again in your own time, and let the words go out toward them like a quiet breath.", pause: 50 },
      { say: "Now think of someone you see often but do not know well. A neighbor, a cashier, someone you pass on the street. They have hopes and worries, just like you.", pause: 12 },
      { say: "May you be safe. May you be healthy. May you be at ease.", pause: 40 },
      { say: "If you would like to, bring to mind someone you find difficult. Choose someone only a little difficult, not the hardest person in your life. If this does not feel right today, skip ahead, or stay with the person you love.", pause: 12 },
      { say: "If you choose to continue, offer the same wishes. You do not have to forgive anything. These are only wishes.", pause: 5 },
      { say: "May you be safe. May you be healthy. May you be at ease.", pause: 40 },
      { say: "Now let your care widen. Imagine everyone around you, in this building, this street, this city. Then further, all people, and all living things.", pause: 12 },
      { say: "May all beings be safe. May all beings be healthy. May all beings be at ease.", pause: 55 },
      { say: "Rest here for a moment with whatever you feel. Warmth, or calm, or nothing in particular. All of it is fine.", pause: 36 },
      { say: "Slowly return. Let the wishes settle. Take a deeper breath, move your fingers, and when you are ready, open your eyes.", pause: 6 },
    ],
  },
  {
    slug: "gratitude",
    title: "Gratitude",
    summary: "Recall three specific things you appreciate, one at a time.",
    lengths: [5, 10],
    steps: [
      { say: "Welcome. Settle into a comfortable position. Let your eyes close or soften, and take a slow breath in and out.", pause: 8 },
      { say: "Let your breathing be natural. For a moment, just notice that you are here, and breathing.", pause: 10 },
      { say: "In this practice, you will think of three things, one at a time. They can be small. Small and specific works best.", pause: 8 },
      { say: "Start with something simple from the past day. A warm drink, a kind word, a bit of sunshine, a comfortable chair. Choose one, and picture it clearly.", pause: 22 },
      { say: "Notice how it feels in the body to remember it. Maybe a smile, or a softening in the chest. Let yourself enjoy it for a few breaths.", pause: 22 },
      { say: "Now think of a person you are glad is in your life. Someone who helped you, made you laugh, or simply stayed close. Picture something specific they did.", pause: 22 },
      { say: "Thank them silently, in your own words. They do not need to know. Let the feeling of appreciation be as big or as small as it is.", pause: 22 },
      { say: "For the third, think of something about yourself that you can appreciate. Maybe your hands, your effort, or something you handled well lately.", pause: 22 },
      { say: "It does not have to be perfect. It is enough to see one thing that is working.", pause: 18 },
      { say: "Let all three sit together in your mind. A small thing, a person, and yourself. Breathe, and rest in what is good, even if the rest of the day is hard.", pause: 22 },
      { say: "Take a deeper breath. Carry one of these with you today. When you are ready, open your eyes.", pause: 6 },
    ],
  },
  {
    slug: "three-minute-reset",
    title: "3 minute reset",
    summary: "Stop, breathe, and notice, a quick pause for a busy day.",
    lengths: [3],
    steps: [
      { say: "Let us pause for three minutes. Stop what you are doing. Sit or stand, and let your eyes close, or rest them on one spot.", pause: 5 },
      { say: "First, notice what is here right now. What are you thinking, what are you feeling, and what is in your body? Just notice, and name it quietly.", pause: 20 },
      { say: "Now bring your attention to your breath. Feel the air come in, and go out. Let the breath be your anchor.", pause: 36 },
      { say: "If your mind races off, that is okay. Come back to the breath.", pause: 20 },
      { say: "Now widen out. Feel your whole body, sitting or standing here. Your feet, your hands, your face. Soften whatever you are holding.", pause: 26 },
      { say: "Take one deeper breath, and let it out slowly. You stopped, and that is enough for now.", pause: 8 },
      { say: "Open your eyes when you are ready, and carry this pause into the next thing.", pause: 5 },
    ],
  },
  {
    slug: "falling-asleep",
    title: "Falling asleep",
    summary: "Relax your body and slow your breathing in bed, then count down to rest.",
    lengths: [15, 25],
    steps: [
      { say: "Welcome. You have done enough for today. Lie down in a comfortable position, and let the bed take your weight.", pause: 8 },
      { say: "Let your eyes close. Let your hands rest wherever they fall. There is nowhere to go and nothing to do right now.", pause: 12 },
      { say: "Take a slow breath in through your nose, and let it out through your mouth with a soft sigh. Do that once more. Breathe in, and let go.", pause: 14 },
      { say: "Now let your breathing return to its natural pace. Let it be slow and quiet. There is no need to control it.", pause: 14 },
      { say: "If thoughts are busy, that is fine. Let them drift, like clouds you are not following. If one about tomorrow arrives, you can tell it, not now. Tomorrow will be there when you wake.", pause: 18 },
      { say: "If you are still awake, that is okay. Lying here quietly is still a kind of rest. You can simply be here.", pause: 14 },
      { say: "Bring your attention to your feet. Let them be heavy and warm. Let the tension in your toes melt into the bed.", pause: 20 },
      { say: "Let that heaviness move up through your ankles and calves. Your knees soften. Your thighs sink down into the mattress.", pause: 22 },
      { say: "Let your hips and lower back be heavy. Let your belly soften. With each out breath, let a little more tension go.", pause: 22 },
      { say: "Your chest is slow and open. Your shoulders are heavy. Your arms and hands are loose, as if resting on warm sand.", pause: 22 },
      { say: "Let your neck relax, and your jaw unclench. Your face is smooth. Your eyes are heavy behind your lids.", pause: 22 },
      { say: "Feel your whole body now, heavy and supported. The bed is holding all of it. You do not have to hold anything up. Nothing is asked of you.", pause: 24 },
      { say: "Notice the small pause at the end of each out breath. A quiet moment, before the next breath comes on its own. Let each out breath be a little slower than the last.", pause: 28 },
      { say: "Imagine your breath as a slow tide. It rolls in, and it rolls out. There is no hurry. Each wave is a little softer than the one before.", pause: 28 },
      { say: "Now we will count down together, slowly, one number with each out breath. If you lose count, start again, or let the counting go.", pause: 14 },
      { say: "Breathe in, and as you breathe out, think ten. Let the number float away.", pause: 18 },
      { say: "Nine. Heavier with each breath.", pause: 20 },
      { say: "Eight. Your arms are warm and still.", pause: 20 },
      { say: "Seven. Let your thoughts grow quiet and far away.", pause: 22 },
      { say: "Six. Your legs are heavy.", pause: 22 },
      { say: "Five. Notice how heavy your body feels.", pause: 24 },
      { say: "Four. Your breath is slow and easy.", pause: 24 },
      { say: "Three. Almost there. You are sinking into the bed.", pause: 26 },
      { say: "Two. Everything is quiet. Everything is still.", pause: 26 },
      { say: "One.", pause: 30 },
      { say: "Now let go of counting. Simply rest. There is nothing more you need to do. If you drift off, that is exactly right.", pause: 45 },
      { say: "Your breath is slow. Your body is heavy. You are safe, and warm, and resting. There is nothing left to do.", pause: 45 },
      { say: "Thoughts may come and go on their own. You do not need to follow them. Let them fade, like footsteps moving away down a quiet hall.", pause: 55 },
      { say: "Let sleep come in its own time. Rest well.", pause: 8 },
    ],
  },
  {
    slug: "morning-start",
    title: "Morning start",
    summary: "Wake up gently and set one intention for how you meet the day.",
    lengths: [5, 10],
    steps: [
      { say: "Good morning. Take a moment before the day begins. Sit comfortably, with your back supported, and let your eyes close or soften.", pause: 6 },
      { say: "Take a slow breath in, and let it out. Feel your body waking up, the weight of your seat, the air on your skin.", pause: 10 },
      { say: "Take two more breaths, a little deeper. Breathing in, let the day arrive. Breathing out, let the night go.", pause: 18 },
      { say: "Notice how you feel this morning. Tired, restless, calm, flat, excited. Whatever it is, it is allowed. Just say hello to it.", pause: 20 },
      { say: "Now think about the day ahead. See the shape of it, the tasks, the people, the places. Do not judge it. Just notice what is waiting.", pause: 22 },
      { say: "Ask yourself, how do I want to meet today? Maybe with patience, or curiosity, or steadiness, or kindness. Let one word come to you, without forcing it.", pause: 34 },
      { say: "Take that word, and repeat it silently a few times. Feel what it is like to carry it in your chest, or your shoulders, or your hands.", pause: 30 },
      { say: "Picture one moment from today where you might need it. A meeting, a conversation, a busy stretch. See yourself meeting it with this quality.", pause: 34 },
      { say: "Let the picture go. Take one more full breath, and feel your feet on the floor or your seat beneath you.", pause: 12 },
      { say: "Whenever today gets noisy, you can return to your word. When you are ready, open your eyes and begin.", pause: 6 },
    ],
  },
  {
    slug: "stress-relief",
    title: "Stress relief",
    summary: "Slow your breathing with longer exhales and soften the places you hold tension.",
    lengths: [7, 12],
    steps: [
      { say: "Welcome. Whatever brought you here, you can set it down for a few minutes. Sit or lie down, and let your eyes close or soften.", pause: 8 },
      { say: "Notice how stress shows up in your body. Maybe tight shoulders, a clenched jaw, a fast heart, a knot in the stomach. Just notice where it is, without judging it.", pause: 20 },
      { say: "Now let your breath get slower. We will make the out breath longer than the in breath. Let us try it together. Breathe in slowly through your nose, counting to four.", pause: 5 },
      { say: "Now breathe out gently, counting to six.", pause: 8 },
      { say: "Again. In for four.", pause: 4 },
      { say: "And out for six.", pause: 8 },
      { say: "Keep going at your own pace. In for four, out for six. If counting feels like too much, just make the out breath a little longer than the in breath.", pause: 50 },
      { say: "With each long out breath, let your shoulders drop. Let your hands open. Let your jaw loosen.", pause: 36 },
      { say: "Now find the place where the tension is strongest, and breathe toward it. Imagine the out breath softening that place a little. It does not have to disappear. Just soften around it.", pause: 45 },
      { say: "Let the breath return to normal. Notice if anything has changed, even a little. If nothing has changed, that is okay too.", pause: 28 },
      { say: "Stress is like a wave. It rises, and it passes. You do not have to fight it. Staying with your breath while it moves is enough.", pause: 36 },
      { say: "Say something kind to yourself, silently. This is hard, and I am doing my best. Or any words that fit.", pause: 36 },
      { say: "Take one more long breath in, and a long slow breath out. Feel your feet and hands. Notice the room around you.", pause: 12 },
      { say: "When you are ready, open your eyes. Take this softness with you.", pause: 6 },
    ],
  },
  {
    slug: "focus-before-work",
    title: "Focus before work",
    summary: "Gather your attention and choose the one thing to begin with.",
    lengths: [5, 10],
    steps: [
      { say: "Welcome. You are about to begin work, so let us gather your attention first. Sit upright but relaxed, and let your gaze rest low or your eyes close.", pause: 6 },
      { say: "Take a full breath in, and let it out. Feel your feet on the floor and your weight in the chair. You are here.", pause: 10 },
      { say: "Let the pace of your breath slow. Notice the other things you carry in, like messages, plans, and worries. Picture setting each one down on a table beside you. You can pick them up later.", pause: 22 },
      { say: "Now narrow your attention to the breath alone. One breath at a time, and nothing else. Feel the air at the nostrils, or the belly rising.", pause: 38 },
      { say: "When tasks and worries push in, just notice them. Say, later, and return to breathing. This is the same skill you will use at your desk.", pause: 32 },
      { say: "Now ask yourself, what is the one thing that matters most to begin with? Not everything. Just the first thing. Let it come into your mind without rushing.", pause: 28 },
      { say: "Picture yourself starting it. Where you are sitting, what is on the screen or in your hands, the very first small action. See yourself doing just that.", pause: 28 },
      { say: "Decide quietly. This is what I will do first. Everything else can wait for its turn.", pause: 18 },
      { say: "Take a final deep breath, and feel your attention gathered in one place.", pause: 10 },
      { say: "Open your eyes, and begin with that one thing.", pause: 5 },
    ],
  },
  {
    slug: "walking",
    title: "Walking meditation",
    summary: "Walk slowly and feel each step, or imagine the steps while seated.",
    lengths: [10, 15, 20],
    steps: [
      { say: "Welcome. This is a walking meditation. You can walk slowly in a room, in a hallway, or outside along a short path of about ten steps. If walking is not possible for you, you can do this seated, and imagine each step, or feel the movement in your feet.", pause: 10 },
      { say: "Begin by standing still. Feel both feet on the ground. Let your arms hang loosely, or rest your hands in front of you. Let your gaze rest a few steps ahead, soft and unfocused.", pause: 16 },
      { say: "Take a breath. Feel the weight of your body settle through the legs into the floor.", pause: 16 },
      { say: "When you are ready, shift your weight onto one foot, and slowly lift the other. Feel the lifting.", pause: 12 },
      { say: "Move the foot forward and place it down. Feel the heel touch first, then the ball of the foot, then the toes. Let the weight roll across.", pause: 24 },
      { say: "Now the other foot. Lift, move, place. Walk much slower than usual. Feel each part of the step.", pause: 40 },
      { say: "If it helps, say the words lifting, moving, and placing silently with each step. Let the words match the movement.", pause: 30 },
      { say: "Notice the sensations in your legs. Muscles working, balance shifting, the touch of your clothes on your skin.", pause: 40 },
      { say: "When you reach the end of your path, pause. Breathe. Turn slowly, feeling the turn in your body, and begin again.", pause: 16 },
      { say: "Your mind will wander to plans or thoughts. When you notice, just feel your feet again. The next step is always there as an anchor.", pause: 45 },
      { say: "Keep your shoulders loose and your breath natural. There is no destination, and no need to arrive anywhere.", pause: 30 },
      { say: "Now widen your awareness. As you walk, notice the sounds around you, the air on your face, the light. Let them come and go while you keep moving, one step at a time.", pause: 65 },
      { say: "Return to the feet. Slow your pace even further, if you like. Feel the ground meet each foot, step after step.", pause: 45 },
      { say: "Gradually come to a stop. Stand still, and feel the body that has been walking. Notice the quiet in the legs.", pause: 28 },
      { say: "Take a deeper breath. When you are ready, go on with your day, carrying this simple attention with you.", pause: 8 },
    ],
  },
  {
    slug: "noting-thoughts",
    title: "Noting thoughts",
    summary: "Softly label what your mind is doing as thinking, feeling, or hearing.",
    lengths: [10, 15],
    steps: [
      { say: "Welcome. Sit comfortably, with a straight but easy back. Let your eyes close, or rest your gaze low.", pause: 6 },
      { say: "Take a few slow breaths and let your body settle.", pause: 14 },
      { say: "In this practice, you will not try to stop thoughts. Instead you will notice what the mind is doing, and gently name it. The naming is soft, almost a whisper in the mind.", pause: 10 },
      { say: "Begin by resting your attention on your breath. Feel it for a few moments. Feel the belly rise and fall, or the air at the nostrils.", pause: 28 },
      { say: "Now, when you notice a thought arrive, silently say the word thinking. Say it gently, like a quiet label. Then come back to the breath.", pause: 32 },
      { say: "Thoughts about the past, plans for later, stories, worries, they can all be called thinking. You do not need to follow what they say.", pause: 32 },
      { say: "If you notice a feeling, such as worry, restlessness, joy, or boredom, silently say feeling. Label it the same gentle way, then return.", pause: 32 },
      { say: "If a sound pulls your attention, a voice, a car, a hum, silently say hearing. Then let it go and return. You can use the word sensing for sensations in the body.", pause: 32 },
      { say: "Keep the labels light and kind. One soft word is plenty. If you are unsure which word fits, any word will do.", pause: 24 },
      { say: "Keep going. Notice what is there, and name it softly. Thinking, feeling, hearing. Then return to the breath.", pause: 35 },
      { say: "There is no need to name every moment. Naming is just a way to step back, so you can see the thought instead of getting lost in it.", pause: 30 },
      { say: "After each label, take one breath, and let the next moment arrive. There is no rush to find the next thing to name.", pause: 30 },
      { say: "If you find yourself lost in a story, the moment you notice is a moment of awareness. Label it thinking, and return.", pause: 30 },
      { say: "If the mind is very busy, that is fine. You can simply keep labeling. Thinking, thinking, thinking. That is the practice.", pause: 35 },
      { say: "Let go of labels now, and rest in open attention. Watch thoughts come and go, like weather passing through a wide sky. You do not need to do anything with them.", pause: 38 },
      { say: "Gently return your attention to the breath, and to the body sitting here. Notice the contact of your body with the seat.", pause: 14 },
      { say: "Take a deeper breath. When you are ready, open your eyes.", pause: 6 },
    ],
  },
  {
    slug: "open-awareness",
    title: "Open awareness",
    summary: "Rest in sounds, sensations, and thoughts as they come and go.",
    lengths: [10, 15, 20],
    steps: [
      { say: "Welcome. Sit or lie down comfortably. Let your eyes close, or rest your gaze softly, not fixed on anything.", pause: 6 },
      { say: "Take a few slow breaths, and let your body settle. Then let the breath go back to its natural rhythm.", pause: 16 },
      { say: "This practice has no single point of focus. Instead of holding your attention on one thing, you let it open, like a wide room with the windows open. Whatever arrives can pass through.", pause: 12 },
      { say: "Begin with sounds. Listen to what is nearby, then what is farther away. Let sounds come to you, without chasing them or naming them.", pause: 42 },
      { say: "Notice the space between sounds, and the quiet underneath them. Let the silence be as much a part of it as the sound.", pause: 28 },
      { say: "If your eyes are open, notice colors, shapes, and light, without naming them. If they are closed, notice the soft darkness.", pause: 26 },
      { say: "Now let your attention include the body. Sensations of warmth, pressure, tingling, the touch of air. Notice them rising and fading, one at a time or all together.", pause: 40 },
      { say: "Moods and feelings can come into the space too. A restlessness, a warmth, a heaviness. Let them be part of what you notice.", pause: 30 },
      { say: "Now let thoughts be included too. When one appears, you do not need to push it away or follow it. Notice it arrive, stay for a moment, and fade, like a cloud crossing the sky.", pause: 48 },
      { say: "Sounds, sensations, and thoughts. All of them come and go. You are the open space in which they happen.", pause: 40 },
      { say: "There is nothing to find and nothing to fix. Just stay curious about whatever is here now.", pause: 30 },
      { say: "If you get caught up in something, that is okay. As soon as you notice, just open again. If it ever feels too wide, you can return to the breath for a few moments, and then open again.", pause: 40 },
      { say: "Rest here, with nothing to do and nowhere to go. Let everything be just as it is.", pause: 62 },
      { say: "Slowly let your attention gather again. Feel the contact of your body with the floor or chair. Take a deeper breath.", pause: 14 },
      { say: "When you are ready, open your eyes. Let the openness come along with you into the rest of your day.", pause: 6 },
    ],
  },
];

Change history

Link to OpenApps pages and add a contribution strip
0fa0e84d53 · 19 hours ago
Bind the agent address in the policy
6f3baa1c72 · 1 day ago
Add favicon.ico so browsers that ask for it stop getting a 404
1a004fe0e3 · 1 day ago
Bounded source sync
afe642fe50 · 2 days ago
Bounded source sync
2c581f55ea · 2 days ago
Bounded source sync
375934c28b · 2 days ago
Bounded source sync
74ff37d51a · 2 days ago